这款区块链是不是你的菜?

区块链所提供的公共账本是是一系列不可篡改的数据集合,能被任何用户读取并扩展使用,其独特的表现特性对自由的交易、民主的社会关系将提供极大的促进作用,其所包含的功能将不仅限于数字货币、交易、智能合约,未来的落地应用将为其开辟出丰富的想象空间。

但当下的区块链仍然存在着一些阻碍它发展的缺陷,包括不易扩展性,安全性差,趋向中心化的发展。

Algorand在区块链所面临的这些问题下应运而生。

Algorand的名称来自于algorithmic(算法)和randomness(随机)两个单词的混搭,这也是作为algorand区块链基础架构两大特性的精简提炼描述。发起人是曾获得过图灵奖的MIT教授Silvio Micali,其整个技术团队也是顶级的技术人才,由此其技术层面的影响力在区块链世界也可以说可窥一斑。

Algorand有两个主要特性:

(一)加密抽签算法(Cryptographic Sortition);

(二)拜占庭共识算法;

加密抽签算法:

在百万级别使用用户的量级下,如何依然能维持快速有效的的拜占庭共识,其主要手段是避免所有用户参与验证,那么减少验证者同样可能带来安全性的不足,如何平衡两者使得在大量节点中提取可靠维持共识效率的验证人是关键。加密抽签算法就是用来解决这个随机选择问题的,他提供了一种私密随机并可验证的验证人筛选方法。

抽签其实是一种随机方式,在整个网络中,节点之间如何不存在事先商议的情况下自动产生随机验证人是需要用心构思的技巧。Algorand的解决方式中,主要有两点:

1、用户私钥参与运算的随机特征值产生算法函数,该函数产生与上一区块相关,私钥的保密性,使得参与随机运算后的结果存在不可预测性;

2、将运算后的特征值映射到(0,1)数值区间内,对比特征值数值最小的作为提块人,按照特定规则从特征值中选取出验证群体,并且在此时验证人的选取是在其不可知的情况下被选择的,只有当区块组装完成后,验证人会同时将自己生成的验证凭证(用来证明自己是在秘密抽签中被合法选中的验证人)一并广播出去,在这之后其他用户可验证当前验证人是否合法。

拜占庭共识算法:

Algorand实现了一种新的快速拜占庭协议,称之为BA*,该算法执行过程大概如下:一次共识产生区块的执行轮回包含三个子轮回,在每次循环中三分之二验证者为诚实者的环境下,都会有三分之一以上的概率达成共识,一旦达成共识验证人对该区块进行电子签名。该区块便可以在algorand网络中广播。

BA*协议中最主要的特征是如何保证每一个轮回验证人不被识破,由加密抽签算法可知在验证人选取的过程是秘密的,只有验证人最终消息签名结束后,主动发送凭证才能被众人得知谁是当前轮次的验证人,但拜占庭协议规定一次投票最终结果是有多次投票结果的确认结果,在一次子轮回后如果验证人被做恶者感染,那么有可能会影响后面的两次投票结果,BA*协议通过每次子轮回后重新通过加密抽签算法选择一批新的验证人,这使得整个投票过程中子过程验证人是可被替换的,有效阻止子过程受攻击,借此保证结果的可靠性。

从以上特征来看,algorand有以下优势:

1)验证人在秘密情况下获知自己被选中,但他们只有公布凭证才能证明自己的验证人资格,尽管作恶者可以瞬间感染身份公开的“验证者”,但已不能篡改或撤回他们已经对外发出的消息。

2)所有验证人公布自己的凭证并进行比较后,才能确定谁是提块人,也就是提块人可以视为由公共选举产生。

3)随机算法的性质决定了事先很难判断谁将被选为验证人。因此,验证人的选择过程很难被操纵或预测。

请关注我们即将上线的区块链自研游戏

http://janponwar.xyz

具体请关注我们的公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181019G1UNR100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券