麻省理工学院(MIT)教授、哥德尔奖(Gdel Prize)

哥德尔 2023-11-27 30

Algorand的核心算法

1.密码学抽签算法,该算法用于保障每次参与共识的共识委员会成员接近完全随机;

2. BA* 算法,该算法由共识委员会成员运行用于产出本次应该打包的区块。

密码学抽签算法

密码学抽签算法保障每个用户($pk{i}, sk{i}$)被选中为共识委员会成员的概率同其拥有的货币的金额成比例。即:假设每个用户的权重记为$w{i}$(货币数量), 那么总的权重为 $W = sum w{i}$(总货币量), 那么用户i被选为共识委员会成员的概率就同其权重占比相匹配 $w_{i}/W$,

Algorand通过加密抽签的方式成功地将共识网络规模缩小且比较安全; 创新的BA*算法每个步骤之间没有共享状态使得BA算法的执行更轻量级;

但是Algorand算法仍然有很多值得商榷的地方:

  1. 包括区块提议在内多个阶段需要预估超时时间,这种方式很不精确且不适合耗时的业务(目前仅支持加密货币);
  2. 对网络的连通性有较高的需求,例如最差网络状况下达成共识需要11步之多;
  3. 算法安全性依赖VRFs函数的安全性;

 

Algorand项目优点

产生区块时间短

区块产生时间在大家都是良性用户时,只需要两步。如果有任何恶性用户企图篡改信息,则需走完五步。即使是这样,产生一个区块的时间是固定的(几分钟)。在这里,所有用户不需要同步他们的时间,他们只需要在自己规定的时间内完成工作并保证每个用户的时间流逝的速度是一致的即可(在纽约的一秒钟和在日本的一秒钟长度一样)。

反分叉

协议制定没有两个良性用户可以同意两个不同的消息。因此只能有一个消息为真实消息,如果有人试图双花攻击(详见下)。则理论上他可以开一个新的区块里面包含错误的信息并把上一个区块的广播时间延到无...

相关推荐