共识技术分析系列一:Algorand 共识算法

2019-01-21 14:12 栏目:经验之谈 来源: 查看()
2018年是公共连锁技术爆发的一年,许多项目的诞生都是从共识中创新出来的。由于人们普遍认为区块链是“不可能的三角形”,因此这些共识通常必须在绩效,安全性,分散性和激励机制方面进行权衡。例如,EOS以牺牲权力下放为代价,每秒实现数千次交易。然而,“不可能的三角形”从未在数学上被证明像FLP和CAP的分布式系统定理那样严格,因此有些人认为有可能打破“不可能的三角形”。可验证的随机函数VRF被认为是有希望的方向。这一次让您对最近热门的Algorand项目进行分析。

1. Algorand共识算法简介

Algorand一致性算法由图灵奖得主Si高仿lvio Micali于2017年底提出.Michali是麻省理工学院的教授,密码学家和计算机理论家,在伪随机数和零知识证明领域是众所周知的。

Algorand Consensus Algorithm的论文可以从以下网址下载:https://people.csail.mit.edu/nickolai/papers/gilad-algorand.pdf

Algorand使用VRF功能并结合帐户的余额比率来随机确定块生成和选民角色。

所谓的VRF(可验证随机函数)是可验证的随机函数。

随机数对区块链技术至关重要。从本质上讲,分布式账本的核心问题是随机选择阻止者的问题。这种随机性可以由整个网络确认,并且不能被操纵或预测。否则,恶意节点可以通过操纵随机数来控制长度。连锁,从而实现双花攻击。

PoW的计划是让每个人都进行权力竞争,设置一个难以计算哈希的问题,谁首先计算谁获胜,高计算能力获胜的概率高,低计算能力的获胜概率低,并且获胜以这种方式是有保证的。这个人是随机的。输入功率可以反映在散列值中,以便整个网络可以验证和选择包含最大计算能力的链。恶意节点只能通过增加计算能力来增加成功攻击的概率。

PoS解决方案是一次选举。它不是浪费权力进行权力竞争,而是文明的,随机选择一个节点出来,被选中的概率与它所拥有的份额有关。如果“随机”步骤没有问题,则恶意节点只能通过增加其自身份额来增加被选中的概率,从而增加双花攻击成功的概率。这里有一件事比PoW解决方案更好。要实现攻击,您必须首先成为货币的大持有者。如果攻击成功,攻击者将遭受最大的损失。

然后,下一个核心问题是这个随机数不能被操纵,无法预测。传统上,PoS方案尝试从链中的现有数据开始,例如使用前一个块的哈希值,前一个块的时间戳等作为随机数的来源,但这些将带来额外的安全性风险。 。因为块本身的信息是由节点写的,然后根据里面的信息选择后续的阻塞。怀疑是循环论证,安全性不会太好。这是传统上认为PoS解决方案不如PoW可靠性的部分原因。

Algorand提出的VRF可以生成一组可验证的伪随机数Y和来自私钥(SK)和消息(X)的证明。任何人都可以使用Verify函数来检查随机字符串是否实际上是公钥的私钥持有者,并使用指定的Evaluate函数,而不是混乱。三个VRF的更详细描述如下:

•Keygen(r)→(VK,SK)。在随机输入上,密钥生成算法产生验证密钥VK和秘密密钥SK对。 •评估(SK,X)→(Y,⍴)。评估算法将秘密密钥SK,消息X作为输入,并产生伪随机输出字符串Y和证明⍴。 •确认(VK,X,Y,⍴)→0/1。验证算法将验证密钥VK作为输入,当且仅当它验证Y是评估算法对输入SK和X产生的输出时,消息输出1.

为什么我们需要这样一个随机的字符串生成器,我们都自己生成但可以验证?这是因为在Algonand的拜占庭算法中,尽管存在不同轮组的不同区块生成者(称为领导者)和验证委员会(委员会,核查员),但它们并未被“公共选举”选中。但是通过每个用户自己的奖励方式来看看他们是否是下一轮的领导者。

Algorand是一种随机算法,它从一大组验证者中选择一部分验证者来运行BFT算法(由Micali教授实施的BA *算法),从而达到提高共识的效果。

无论BFT共识机制如何,领导和委员会都会完成议案的发布和协商一致的决议。例如,EOS的dPoS BFT是固定的PBFT一致性算法,其中21个BP依次作为领导者和选民,Zilliqa通过PoW加入Comte。这些更直观的拜占庭共识算法的一个共同特点是,每个人都可以看到下一个区块的领导者是谁以及谁负责协议。这可能会使这些区块生产者和委员会成员容易遭受DDOS或贿赂。

为了解决这一潜在风险,Algorand使用VRF来掩盖领导者选择的步骤。可以想象,一般的BFT将在每轮开始时公开选择领导者和委员会。 Algorand将在每轮开始时公布获胜号码。每个用户都可以自己购买奖品并赢得奖品。这个人可以成为下一轮领导者(或委员会审核员),但没有人知道谁在获胜者出现之前赢得了奖项,也就是说,没有人可以预测下一轮的领导者和委员会。当然,获胜者不是口号。获胜者需要出示获奖证书,并且每个人都可以验证此证明。这正是我们刚刚提到的VRF。

2,Algorand共识算法缺陷
 
(1)随机选择真实环境的空间不大。

VRF是随机选择的委员会,可以提供公平性并且不容易接收伪造和攻击,但任何随机数生成都必须依赖大型种子集才有用。在VRF中,80%的节点被认为是诚实的,委员会需要2000个成员足够大,现实是不太可能会有这么多成员。

(2)根本不考虑网络延迟。

当VRF委员会在大量主机通信中被选举时,主机之间通信造成的延迟将不可避免地降低整个系统的处理速度。

(3)不考虑节点的动态加入和退出。

Algorand的下一个块的发布者是从k个块之前的所有参与者中选择的(在k个块之前在链的一个段上交易的节点)。因此,恶意节点想要影响下一个块的发布者,他必须影响k个块,当k很大时,影响很小。因此,Algorand得到了一个无偏的随机数发生器。但是,这种方法存在问题。—— k块之前的节点可能不再在线。对此,虽然Micali解释说,个人觉得它不符合实际情况。

(4)签名数据量巨大,造成存储浪费,影响性能。

Algorand使用VRF来确定提案组和验证组。这种方法充分发挥了VRF的可验证性,后测试优势使Algorand的共识系统更加安全。然而,Algorand使用可扩展的拜占庭容错算法BA *算法进入验证阶段,该算法由参与节点通过VRF秘密抽奖选择。这种设计允许Algorand在可以进行身份​​验证之前等待VRF证明,以便了解参与节点。此外,由于使用可扩展的拜占庭容错算法,Algorand的验证组大小必须相对较大(2000到4000人),这将导致异常大的签名数据。根据我们的估计,在每组3000个验证节点的平均大小下,每组的签名数据高达126KB,加上其他信息,通知信息约为300K,每个块的签名数据可达到2000 * 64 * 12=1M。 (共有12组,每组3000人,至少达到2/3共识.ed25519签名数据长度为64.),远远超出一般门限签名几十个字节,严重浪费存储和容量(因为数量)每个块的事务数量)将被占用,不存储签名会影响安全性),不仅会造成存储浪费,还会影响性能。

(5)无法建立良好的激励机制

在战俘中,提议者需要提前支付提案的费用。如果提案块中存在问题(事务加倍),则提案块将无法在整个网络中的其他节点处进行验证,因此没有元宝收入。还支付了计算费用。

Algorand协议没有设计经济激励措施。 Micali教授回答说“Algorand协议只需要微不足道的计算,因此不需要激励措施。”没有经济激励,高性能带宽和服务器不愿意参与(因为它本身需要花钱),整个网络遇到网络本身无法解决的困难。

(6)存在潜在的安全问题

网络用户必须连续访问其私钥以确定每轮中的VRF状态(即验证者,提议者或两者)。

通常认为,对于在区块链上存储大量资产的个人,为了防止攻击,他们应该以冷存储方式存储私钥。连续验证(需要频繁签名)将需要以高频率使用私钥,这增加了受到攻击的风险。这显然会导致网络中的许多诚实的个人(出于安全原因)避免参与验证过程,导致区块链缺乏活力。

(7)买断问题

在区块链的初期,系统的证书价值通常较低,其市场价值也处于相对较低的水平。令牌的发行通常经历私募 - >基石 - >公开发行,因此货币长期集中在少数人身上,因此任何POS共识都面临着类似的EOS集中化。问题。

(8)没有罚款问题

Algorand的另一个问题是无法识别“离线验证者”并惩罚它们。因此,如果没有防止失效的惩罚措施,就没有经济激励是一个问题。许多人选择不为共识做出贡献,因此他们离开了网络。假设网络中只有10%的完整性节点在不断验证,而其余节点都处于脱机状态。同时,恶意节点选择保持在线,这很容易超过在线委员会节点。这使恶意节点更容易控制共识。

一般来说,Algorand的VRF和加密彩票后验为解决“三角悖论”提供了一个很好的设计思路,但其在验证过程中的设计更纯粹是学术上的理想化,导致了它的网络。交通和有效通信数据等实际项目不够,严重影响公共链的性能,节点网络的规模,图书的存储容量和分散程度。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发