Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

algos算法(算法详解algorithmss中文版)

区块链 加入收藏
Algorand共识算法是图灵奖获得者Silvio Micali在2017年底提出。Michali是MIT的教授,是一位密码学家和计算机理论学家,在伪随机数以及零知识证明领域很有名。Algorand共
阿尔格朗共识算法是由图灵奖获得者希尔维奥·米卡利在2017年底提出的。 Michali是麻省理工学院的教授、密码学家和计算机理论家。他在伪随机数和零知识证明领域很有名气。 Algand共识算法论文下载地址:https://people . csail . MIT . edu/nickolai/papers/gilad-algrand。PDFalgorand采用VRF函数,结合账户余额比例随机确定分块生成和投票者角色。 所谓VRF(可验证随机函数)就是可验证的随机函数 这对于随机数区块链技术至关重要。 分布式账本的核心问题本质上是随机选择出借人的问题。这种随机性要全网确认,不能被操纵,不能被预测。否则,恶意节点可以通过操纵这个随机数来操纵长链,从而实现双花攻击。 PoW的方案是让大家有一个计算能力的比拼,设置一个计算hash的难题。谁先算出来谁就赢,算力高的概率大,算力低的概率小。这样就保证了中奖者是随机的。 输入的计算能力可以体现在哈希值中,这样整个网络就可以验证和选择包含最多计算能力的链。 恶意节点只能通过提高自己的计算能力来增加攻击成功的概率。 投票的方案是选举。不必浪费电力去竞争计算能力,文明点随机选择一个节点做块,被选中的概率和它的份额有关。 如果“随机”一步没有问题,恶意节点只能通过增加份额来增加被选中的概率,从而增加双花攻击的成功概率。 这里有一点比PoW的方案要好,那就是为了实现攻击,必须先成为货币的大持有者。如果攻击成功,货币价格大幅下降,攻击者也将遭受最大损失。 那么接下来的核心问题就是,这个不可操纵、不可预测的随机数从何而来? 传统的PoS方案试图从链中的现有数据开始,例如使用前一个块的哈希值、前一个块的时间戳等。作为随机数的来源,但这些都会带来额外的安全隐患。 因为block本身的信息是节点写的,然后要根据里面的信息选举后续的blockers,有循环论证的嫌疑,安全性不会太好。 这也是PoS方案不如PoW可靠的部分原因。 Algorand提出的VRF可以从私钥(SK)和消息(X)生成一组可验证的伪随机数Y和证明 任何人都可以使用Verify函数,按照规定使用Evaluate函数,检查这个随机字符串是否真的是由公钥对应的私钥持有者生成的,而不是自己编造的。 为什么我们需要这样一个每个人都生成但可以验证的随机字符串生成器?这是因为在Algorand的拜占庭算法中,虽然每一轮都有不同的区块生产者(称为领导者)和审核者(委员会),但他们不是通过“公开选举”选出的,而是每个用户都可以通过自己的奖项看到自己是否是下一轮的领导者。 算法是通过随机算法从一大群验证者中选择一些验证者来运行BFT算法(Micali教授实现的BA*算法),从而达到提高共识的效果。 无论什么样的BFT共识机制,领导人和委员会负责发布区块和共识决议。 比如EOS的dPoS BFT就是21 BP固定轮流当领袖,选民和Zilliqa通过PoW加入委员会,进行PBFT共识算法。 这些直观的拜占庭式共识算法有一个共同的特点,就是每个人都可以看到谁是下一个区块的领导者,谁是负责协议共识的委员会。 这就产生了一种可能的风险,即这些区块生产商和委员会成员很容易成为DDOS或贿赂的目标。 为了解决这个潜在的风险,Algorand使用VRF来掩盖领导者的选择步骤。 可以这样想象:BFT将军在每一轮开始的时候公开公平的选出首领和委员会,而阿尔格兰德就像是在每一轮开始的时候宣布中奖号码。每个用户都可以凭借自己的票根赢得奖品,获胜者可以成为下一轮的领导者(或委员会验证者)。然而,在获胜者确定自己之前,没有人知道谁获奖,也就是说,没有人能够预测下一轮的领导者和委员会。 当然,赢不赢也不是没话说的。获奖者需要出示获奖证明,这个证明是大家都可以验证的。这正是我们刚刚谈到的VRF。
图集详情底部广告位