DaoliCloud: Digital Asset Open Ledger for Inexpensive Web3 Services

博客04

一个区块链数据库它的记录是线性增加的,这样记录一旦进入数据库是不可变的。事实上,在 DB-Payload(数据库的有效载荷数据) 排队的过程中,任何已知的基于 PoW 挖掘的无许可证区块链都是将获胜矿工的公钥地址排列起来以形成其不可更改的历史。DaoliCloud 区块链在排列矿工的公钥地址方面有点不同寻常。它不仅排列了那些采矿的赢家,而且非常重要的是,那些许多输家。我们将这些失败者的入队列命名为 CR-Payroll CR 代表计算机资源,Payroll 代表工资名单,CR-Payroll 代表计算机资源提供者名单,见本帖)。现在让我们来描述一下这些 CR-Payroll 成员是谁,以及他们的公钥地址是如何不可改变地排列起来。不变性是区块链非常重要的安全属性。因此,需要清楚地描述正确排列挖掘赢家和输家的算法。

 

在之前的博文中,我们描述了Bitcoin-NG KeyBlock-MicroBlock 分离思想。在接下来的一篇文章中,我们又进一步描述了Bitcoin-NG KeyBlock-MicroBlock 分离的新用途。这种分离使我们能够在多个微块之间实时建立一个平行竞争,这些微块的竞争资格是由各自的KeyBlock在之前的PoL挖掘时段中获胜而获得的。平行竞争不仅能使数据库管理系统得到公平、正确的维护,而且是无许可区块链Liveness的重要属性。下图 Daolicloud时代 显示了Daolicloud区块链中进入区块链数据库记录的时代。

A DaoliCloud Epoch

BFT 服务器达成多数共识,同意一个已确认的块被附加在区块链上之后,一个DaoliCloud 时代立即开始。然后,平行竞争在Non-Spam数量的微块之间进行。(至于为什么和如何让平行竞争的微块有一个Non-Spam数量,将会专门撰文讨论。)这些平行竞争的 MicroBlock 都指向,即它们随后提到区块链中新增的已确认块。这些平行竞争微块的传播将启动(激活)所有矿工开始另一轮 PoL Non-Spam数量的 KeyBlock 的挖掘,每个新的 KeyBlock 都将跟随自己所引用的一个微块。

 

Daolicloud KeyBlock 采矿是无权限的,采矿输出形成多叉树,如图Daolicloud时代所描绘的底部。给这样的树命名为KeyBlockTreeKeyBlockTree 的根是图中的平行竞争的Non-Spam数量的微块之一,而 KeyBlockTree 的叶子是图中一些新开采的PoL KeyBlocks。在一个 DaoliCloud 时代,大多数时候,这些平行竞争的 KeyBlockTrees 中唯一的一棵 KeyBlockTree 将被大多数 BFT 服务器选择并认证,作为其 MicroBlock 根附加到区块链中。较少的时间(即除大多数时间外),BFT 服务器未能选择和验证一棵 KeyBlockTree,即一个没有输出的时代。为此,无论这两种情况中的任何一种发生,当前的DaoliCloud时代都已完成。

 

在当前的时代,并行竞争的 MicroBlocks 的创建者正在竞争,希望成为唯一赢家独享区块链 DB 记录输入权。因此,每个竞争的微块创建者应写入其微块的 DB-Pay-load CR-Payroll CR-Payroll 记录是尚未赢得区块链扩展竞争的公钥地址。让每个平行竞争的微块创造者都希望只有它自己能赢得平行竞争来扩展区块链。这样一个只相信自我能赢者,作为一个平行竞争的微块创造者,也应该在其微块中写下其他平行竞争对手的公钥地址。这些公钥地址已经通过KeyBlock向所有的矿工公开,使他们的创造者有资格参与当前时代的平行竞争。因此,每个平行竞争的微块创造者作为一个只相信自我能赢者,确实可以准确地写入所有其他失败者,即其平行竞争对手的公钥地址,作为 CR-Payroll

 

在一个Daolicloud 时代的大多数情况下,会由多数 BFT 服务器选择和认证出唯一一个平行竞争的微块作为 KeyBlockTree 的根。此微块将专门输入其编辑好的 DB-Payload CR-Payroll。这些数据库记录都被永恒地记录下来。DB-Payload的不变性是由于区块链的正确性和公平性。CR-Payroll 员工的不可变性,即平行竞争输家的公钥地址,是由于以下两个事实:(1) 赢得记录CR-Payroll 记录的微块不可改变地附加到区块链历史上。(2) 每个链上的 MicroBlock 内作为 CR-Payroll 员工的公钥地址是被数字排序的以至于其顺序是不可变更的。

 

Daolicloud时代的大多数情况下,这些不能变更序列的矿工公钥地址进入区块链 DB 。他们将在Daolicloud时代较少发生的情况中发挥非常重要的作用。较少的情况是,BFT 服务器未能就选择和认证独特的 KeyBlockTree 达成多数共识。区块链在这些较少的场合仍然必须正常运行。正是在这些较少发生的场合,Payroll 名单上的矿工们,其公钥地址已被排好序,将上来创建微块,并参加平行竞争。由于 CR-Payroll 名单在大多数时代段内排满了队,区块链在少数情况发生时总是会运行得非常。大多数正常时段这个排序的 CR-Payroll 名单是不能被用到的,只用在较少的场合。

 

对于无权限区块链来说,Liveness是一个非常重要的问题。为了真正保证Liveness,我们需要确保大多数时间真的比更少的时间更频繁。在未来的帖子中,我们将看到,Daolicloud发明的激励 BFT I-BFT) 算法确实如此。

 

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

西比尔是弗洛拉·瑞塔·施赖伯1973年写的一本书,书中讲述了她的心理分析家科妮莉亚·威尔伯治疗西比尔·多塞特(雪莉·阿德尔·梅森的化名)分离性身份障碍(当时称为多重人格障碍)。

在计算机安全性中,Sybil 攻击指的是一种声誉系统通过创建多个身份而被破坏的攻击。这个名字是以施赖伯的这本书创造的。有证据表明,大规模西比尔攻击可以在BitTorrent等现成的现实系统中以非常廉价和有效的方式进行。另请参阅此处,了解社交网络中的 Sybil 攻击调查。

 

在比特币系统中,通过 PoW 机制要求块生成能力与计算能力成正比,从而避免了西比尔攻击。要在比特币网络中产生影响,节点必须挖掘有效的 PoW 块。对手挖的块越多,影响力就越大。比特币采矿的盈利能力广为人知后不久,其 PoW 难度就进入了无法回转其上升的恶性循环,采矿成本迅速达到令人望而却步的高度。事实证明,使用许多特殊用途的昂贵的采矿硬件加上电力来获得声誉影响的优势,代价太高不值得获得。我们可以认为,在比特币中,预防Sybil 攻击是由纯粹的肌肉而不是智力来完成的。不幸的是,比特币使用密码学的这种方法是不正常和不可取的:为了防止攻击,非攻击者和攻击者都被迫付出高昂的代价:正常和理想的加密方式应该只迫使攻击者这样做。

 

DaoliCloudKeyBlock采矿是要投票的。一些 KeyBlock 矿工跟随,即,指向所有平行竞争的微块中的一个微块,以便被跟随的微块被附加上链。

 

一个影响时刻困扰着矿工,即 Sybil 攻击者,如果它的目标是就是用其影响力攻击当前时代,那么它需要针对一个特定的含有自己利益的 MicroBlock ,并试图使用其采矿努力使得目标 MicroBlock 被附加到链上。然而,在 DaoliCloud 的投票方案是我们命名的结果随机算法(Result-Random-Algorithm。这种随机算法非常简单。每个 BFT 服务器应选择一个唯一的 KeyBlockTree 与中间树的大小进行认证。所有其他大小的 KeyBlockTree 将被丢弃。有可能有更多的树木在中位数的位置,例如,无论是在偶数的 KeyBlockTree 在竞争中,或在相等大小的情况下,即,超过一个 KeyBlockTree 具有相同的中位数。在遇到这些情况时, BFT 服务器应选择并认证第一个中值树,即通过对这些 KeyBlockTree MicroBlock 根进行数字排序来决定的第一个。所有未被”Result-Random-Algorithm”算法选中的KeyBlockTree被丢弃,失去了当前时代的平行竞争。

 

在网络中任何节点( s )大量的业余矿工产生嘈杂和随机的 KeyBlocks 传播流量是完全失控的。一批挖掘 Sybil 攻击者试图微调的 BFT 服务器端自然产生的 KeyBlockTrees 的大小,面临着一个不可计算的问题,即在很短的挖掘时间内从随机性中找出一些有意义的东西。这根本行不通。

 

对于一个运气证明 Proof – of – Luck )挖掘区块链来说,作弊是困难的且可能不是对的。

 

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

一个无许可的矿工管理的区块链,带有可盈利的硬币开采被家喻户晓时,将吸引热情的矿工加入。加入的矿工越多,区块链网络中的块传播流量就会越嘈杂。如果区块链不控制其块传播流量的数量,迟早会发现它的网络被块的公告所阻塞,就像遭到分布式拒绝服务(DDoS)攻击一样(在接收垃圾邮件的情况下也称为Spam)。比特币有两种方法来降低其区块传播流量。一个是设计的,不幸的是已经绕过漏洞。另一种是未经设计的,但结果是令人惊讶的有效。

 

我们先来描述一下设计的方法。在矿工加入的热情日益高涨的预期下,中本聪设计了一个函数来增加寻找比特币块的计算成本。在比特币端对端(P2P)网络中的所有矿工都将通过算法增加找块成本,以使不断增加的矿工数保持在一个目标数量。中本设计的成本增长算法具体可以描述如下,根据一个全局共识的算法,对于查找每 2016 块,扩大 PoW哈希函数的块搜索空间,即输入变量空间。随着比特币的块查找时间稳定在平均每 10 分钟一个块,查找 2016 块的时间计算为两周。也就是说,开采成本的上升大约每两周发生一次。这种控制算法的精确公式可以在,例如,Narayanan-Bonneau-Felten-Miller-Goldfeder 合写的,被高度推荐的一本关于比特币的书籍第 5 章中看到。然而,我们知道,一个蛮力搜索空间的扩大有一个指数速度的时间变量。因此,中本聪设计的Spam控制方法是非常有效的。这种强大的有效性有一种漏洞被绕过的乐趣。在描述了比特币挖掘Spam控制的非设计方法之后,我们将回过头来再看它。

 

第二种方式从造成类似 DDoS 攻击的大数量降低比特币挖掘流量是中本完全没有预料到的。自从比特币开采成为一个高盈利能力的名字,越来越强大的军备竞赛,使用一些专门设计的,例如, GPU FPGA 硬件,甚至 ASIC 电路,而且仍是这样机器的大批量集合(又名矿场),相互竞争比特币挖矿。大型专业挖矿数据中心已经接管了比特币挖矿的业务。由于专业竞争通常可以达到卓越的业务标准,比特币挖掘的Spam预防幸运地达到了专业优秀的现状:块传播流量一直在稳定的控制下安静地保持良好的秩序。

 

不幸的是,比特币挖矿已经导致严重集中化。只有越来越少的矿工,每个人都越来越强大,才能在比特币挖矿业务中存活下来。高度集中的比特币矿工实际上要求将信任置于他们之上,从而破坏了安全性、可靠性、公平性、服务稳定性,并威胁到比特币的可持续性。此外,由于其臭名昭著的低交易处理能力和长的确认延迟,比特币不适合全球在线商务交易应用。即使是极少数成功的应用,如金融投资,比特币也承担了巨大的电力浪费的责任。

 

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

 

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

对于 spam Sybil 攻击,因为它们在玩区块链的游戏规则,算法措施就可防预它们。然而,对于拒绝服务( DoS )攻击,包括更强大版本的分布式拒绝服务 (DDoS),因为他们只是简单和粗暴地用大量的普通的或无效的网络数据包来淹没目标 IP 地址,对于这种攻击的正确方法不是预防,而是避免。

 

DaoliCloud 区块链是一个云平台,拥有大量的无许可的参与者来提供云服务。其中一种云服务就是我们命名的 IP-Address-as-a-Service IP-aaS )。一个 IPaaS 服务器应该是一个具有公共 IP 地址的始终在线的计算机。服务器端(如数据中心服务器、云虚拟机或容器)计算机可以通过在其公共广域网( WAN IP 地址和not-publicize-able-IP-address客户端(如家用 PC 、智能手机或物联网设备)计算机之间发挥IP-aaS服务器网关的作用。在这个网关功能接口中,不能公开IP地址的客户端可以看作是IP-aaS网关内的局域网(LAN)计算机。

 

为区块链参与者实现这样一个 IP-aaS 的简单方法是,使用 WAN-IP 地址的参与者作为客户端参与者的反向代理网关IP-aaS 参与者可以在云平台上公布其 WAN – IP 地址,以便客户端参与者连接到反向代理网关。有了区块链数据库记录的排了队的双方参与者,被应用软件可以很容易地找到和管理它们,为云用户提供有用的应用程序的。

现在为了避免 DDoS 攻击,每个区块链参与者,甚至一个 IP-aaS 服务器,都应该使用多个其他 IP-AaS 网关服务器。特别是 IP – aaS 服务器应该避免直接使用自己的 WAN-IP 来面对广域网。相反,所有区块链参与者应该使用间接的、冗余的 IP-aaS 网关来面对广域网。通过这种方式,广播块可以以很高的概率到达参与者,即使它的一些 IP-aaS 网关受到 DDoS 攻击。DDoS 攻击者找不到攻击 DaoliCloud 的兴趣。

IP-aaS 实际上是一种网络虚拟化技术。虚拟化,无论是 CPU 、网络还是存储,都是为了增加一层间接性。在计算机科学中,间接性通常比直接性好。

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

网络连接的计算机,无论是数据中心的高端服务器、商业云提供商的虚拟机、划分云虚拟机的容器、 PC 、笔记本电脑、智能手机或物联网设备,都有 CPU 、存储空间和网络连接,因此是有用的 IT 资源。如果有一个好的方法来组织这样的计算机协同工作,它们集体可以形成一个由最强大的 CPU 、最大的存储空间、最好的网络服务质量组成的巨大的云。

DaoliCloud 区块链中存储大量同时竞争的失败者的新颖结构为构建这样一个每一点帮助聚合的巨大云提供了具体的方法。在这种云的构建中,数据中心服务器、云虚拟机和容器等服务器节点,除了 CPU 和存储空间之外,还可以提供 IP 地址作为服务( IP-aaS ,见此文中的一个实现)。使用 IP-aaS ,客户端节点(如 PC 、智能手机和物联网设备)就可以将它们的 CPU 和存储空间聚合起来,形成一个强大的通用云。

区块链将这两个节点排列在区块链数据库中,应用软件可以很容易地找到并管理它们,为云用户提供有用的应用程序。例如,用户数据可以存储在可靠的冗余重复中,如冗余廉价磁盘阵列( RAID ),并且在发现排列的存储节点对用户数据不响应时,存储管理软件可以在排列的存储中找到替换存储节点,以备份用户数据,使其保持可靠的冗余状态。

这种无许可的区块链聚合云应该是一个低成本的云,因为它是由大量的业余冗余计算机构建的,这些计算机有冗余的资源,否则不会被使用。业余资源所有者将他们多余的未使用的资源加入到无许可的区块链中,通过提供云资源服务器来挖掘加密货币,和/或赚取服务费,他们成为小型供应商。

 

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

 

 

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.

Copyright © 2020-2021 DaoliCloud Company. All rights reserved.