市场上 Algorand 争议太多,就连笑来老师都出来送瓜了。

文 | 王也  运营 | 盖遥  编辑 | 卢晓明

出品 | Odaily星球日报(ID:o-daily)

6 月 24 日,知名比特币投资人李笑来在微博上发文“我是真不知道 Algorand 是什么,也看不懂他们都在说什么...谁给我讲讲?”

李笑来还配了几张微信聊天截图,截图的内容大概就是刚刚进行过荷兰拍卖的,由图灵奖得主创办的明星公链 Algorand 被一位来自美国大学的教授质疑 Algorand 存在严重的、基础性错误。

人红是非多。6 月 18 日,Algorand 刚刚进行完第一轮荷兰拍卖,但是上线二级市场后币价暴跌,还被很多人 diss 为“图灵奖级别资金盘”。市场上 Algorand 争议太多,就连笑来老师都出来送瓜了。

质疑 Algorand 的论文作者是来自美国北卡罗来纳大学夏洛特分校(UNC Charlotte)计算机与信息学院王永革教授,同时也是公链项目 SperaX 的联合创始人兼首席科学家,王永⾰教授提出的 RLCE 后量⼦算法成为美国标准技术研究院 NIST 的候选标准。

近日,Odaily星球日报就其发布的论文独家采访了王永革,王永革向我们详细分析了论文中提到的对 Algorand 的质疑之处。

王永革表示,早在今年 5 月份,他就已经发布了这篇题目为“Another Look at ALGORAND”的论文,王永革对 Odaily星球日报称,从没想到过自己的论文会被拿出来做恶意解读,这完全曲解了自己对 Algorand 的正面观点和改进意见。

6 月 26 日,王永革通过媒体对外声明,“最近网络上以各种方式传播的所谓“由王永革教授撰写的一篇论文提出了 Algorand 项目严重的、基础性错误”的说法,是对他该篇论文的误读和炒作。”

王永革称,他在 2019 年 5 月正式公布了题目为“Another Look at ALGORAND”的论文,从学术角度对 Algorand 项目提出了几点商榷意见,包括理论上存在分叉可能,以及 Algorand 中的拜占庭协议过于复杂,有优化空间等,不过,“该论文内容被广泛误读”。

王永革向 Odaily星球日报重申自己并非对 Algorand 这个项目有意见,恰恰相反,他对 Algorand 十分欣赏,并认为 Algorand 是当前最优秀的公链项目之一。之所以发表文章,也是因为当初对 Algorand 提出的抵抗分叉机制感到好奇,并认为有进一步优化的可能性,所以纯粹出于学术讨论的立场发表的该文章。 

王永革解释称,其论文中提出的 Algorand 在理论上存在分叉可能,实际是 PoS共识普遍存在的无代价模拟攻击(costless simulation attack)问题。任何采用 PoS共识的公链在理论上均存在这样的风险;至于 Algorand 中的拜占庭协议过于复杂的问题,已经注意到 Algorand 团队从最初设计到最终实现的过程中,进行了很多改进,作出了优化。王永革教授表示,称该论文“提出了 Algorand 项目严重的、基础性错误”的说法,“显然是对该论文的误读和炒作”,并对这样的行为感到很气愤。

王永革称自己在推特上公开发布这个论文之前就已经给 Algorand 创立者,也是图灵奖得主 Silvio Micali 教授以及 Algorand 首席科学家陈婧女士发送过这份论文,遵守了学术界的规矩,但是后来却没有得到对方的回应。

后来在接受我们的采访中,王永革声明,他从未说过Algorand系统是完全错误的,而他的论文也是针对 Algorand 2017 年发布在 arXiv 的文章做出探讨。

王永革这篇论文对 Algorand 质疑的地方主要分为三点:

Algorand理论上存在分叉的可能性

首先,王永革认为 Algorand 提出的零分叉是不可能的。王永革表示,所有的 PoS共识都存在无代价模拟攻击(“costless simulation attack” or “nothing at stake attack”)的问题。Andrew Poelstra 在他 2014 年的文章“A Treatise on Altcoins”中已经注意到了这个问题。 王永革说,Algorand 和别的采用 PoS共识的公链一样,在理论上存在分叉的风险。

Algorand 声称自己解决了区块链中的分叉问题,使其成为一个可以持续「进化」的公链。由于区块链的去中心化设计,每个节点都必须保持一致,这使得单纯的系统升级在区块链上很难做到,每当改变规则,很容易导致系统分叉。但 Algorand 却是几乎不会出现分叉的分布式账本,因为其分叉的概率低至 1/10^18 ,这相当于如果每一秒出一个块,那么从宇宙大爆炸到现在 Algorand 只会分叉一次。交易能在几秒钟内得到确认,通过 Algorand 的转账资金立即可用。

对于网络不在强同步的情况下(即两个区域因网络延迟问题提议了两个区块),Algorand 网络将会出现分叉。白皮书中提到这不影响 Algorand 的安全性,但会影响 Algorand 网络内的活跃度。在给定的 S 时间内,因为不同分叉区块上的委员会成员将拥有不同的区块信息,也就意味着他们不会计算彼此对区块公证时的投票数,因此没有足够的票数将达到人数阀值,BA* 将无法在更多的分叉区块上达到共识。而此时 Algorand 将会提出一个所有用户都统一的分支,并且运用 BA* 共识来使用户确认是否应该切换到此分支。在全网弱同步的情况下,若时间超过 S,Algorand 网络就完成不可逆的分叉,不能恢复。这里的 S 只是一个系数,具体参数并未提及。

Algorand的共识机制在许可环境(permissioned environments)下和无需许可环境(permissionless environments)下都可以正常运行,在许可环境下只需要保证全网 2/3 的节点是诚实节点,在无需许可环境下需要保证全网 2/3 的资产(token)掌握在诚实节点手中,在这两种情况下,Algorand 网络产生分叉的概率将被降低到小于 1/10^9(Algorand 2017 年的文章中写到的是 1/10^12 - 1/10^18)。

在论文中,王永革认为,Algorand 的这两种假设没法保证这种小概率的分叉特性。Algorand 的文章认为,只要恶意节点控制的节点数不超过总结点数的 1/3,恶意节点就没法恶意分叉。但是王永革举出了一个反例:恶意节点可以通过控制某些特定的不超过 1/3 的节点而轻易的分叉。

“Algorand 的 2017 文章有一个定理:如果任何时候恶意节点总数(或恶意财产总值)小于总节点数(或总财产)的 1/3,那么恶意节点是没法对 Algorand 发起分叉攻击的。这个定理是不对的。”王永革说道。

王永革进一步解释,假如在区块链高度 100 的时候,Algorand 链上所有的财产集中在两百个用户手中。这些用户可以表示为 P1, P2, …, P200。在链增长的过程中,新的用户会加入,同时这两百个用户可能会把他们的 Algorand 财产全部出售。

此外假定在区块高度 300 的时候,链上已经有 700 个用户了。在这个时候,用户 P1, P2, …, P200 的数目已经小于总用户数的 1/3 了(他们所持有的财产总值也远远小于 Algorand 总财产的 1/10)。根据 Algorand 的 2017 文章的数学模型和定理,如果这些用户 P1, P2, …, P200 在区块高度 300 的时候变为恶意的,他们是没法对 Algorand 的主链发起分叉攻击的。但事实是:如果这些用户在区块高度 300 之前,已经几乎售完了他们手上的 Algorand 财产,他们对 Algorand 的主链已经没兴趣了。

所以他们可以从区块高度 100 开始,生成一条新链。因为这些用户组成了区块高度 100 的所有用户。所以他们可以非常快速的生成一条假链。他们的这条假链可以很快的生成并很快超过主链的长度。到这个时候,新加入的用户,是没法辨别那个链是主链的。换句话说,在区块高度 300 的时候,不超过总节点数 1/3 的恶意节点(或者总财产值不超过 1/3 的恶意财产)P1, P2, …, P20 可以分叉 Algorand 主链。这与 Algorand 的 2017 文章的定理是矛盾的。

王永革特别指出,他的以上攻击,是无代价模拟攻击对 Algorand 攻击的一个特例。所有的基于 PoS共识的区块链是没法预防这种攻击的。要想防止无代价模拟攻击,我们必须引入别的机制。比如 SperaX 是用可信硬件来击败这种攻击的。

“大部分节点是诚实节点”,

这种假设是不切实际的

在 Algorand 网络里,所有参与共识投票的用户都是秘密地得知他们的身份,投票后他们的身份被暴露,虽然敌手可以马上腐蚀(corrupt)他们,但是他们发送的消息已经无法被撤回,另外在消息生成后,用于签名的临时秘钥会立刻被销毁,使得敌手在该轮无法再次生成任何合法消息。

Algorand 假设全网超过 2/3 的节点是诚实的,而且,他们假设所有的诚实节点在完成任务之后都会销毁这个临时密钥。

王永革认为这种假设是不可行的,他认为在一个分布式网络中,尤其是在一个无需许可环境下,去假设一个节点足够诚实是不现实的。如果一个节点被给予足够多的好处,他是可以被“贿赂”的。一个原本诚实的节点最终也可能“叛变”,这就是“贿赂攻击”(bribery attack)。

王永革分析道,虽然一个恶意攻击者没办法提前知道要去腐蚀(corrupt)哪个用户,但是它可以公开明码标价它收买一个区块提议者(block proposer)和区块验证者( verifiers)的协议。他会鼓励那些区块提议者(block proposer)和区块验证者( verifiers)在提出他们的区块建议之前或投票之前先和他这个恶意攻击者联系。通过这种方式,这些恶意节点就可以确认要去腐蚀的目标用户。这种情况下,区块提议人和区块验证者就会成为这些恶意节点的拥趸。

王永革认为 Algorand 这种假设大部分用户是诚实节点的设想在现实世界中是不切实际的。每一个在区块链网络中的节点都想把自己的利益最大化(几乎没有人会拒绝这一点),被选中的区块提议者和区块验证者在得到足够多的“贿赂”的前提下是可以“叛变”的。而且,对于参与共识投票的用户来说,系统并没有给他们足够的经济激励来确保他们去销毁临时密钥,与直接销毁这个临时密钥相比,他们更倾向于把这个临时密钥卖掉。

Algorand中的拜占庭协议存在优化空间

Algorand 通过「即时提议与确认(Immediate Propose and Agree)」来形成共识。这是一种「超快速拜占庭协议(Byzantine Agreement,BA*)」。拜占庭协议是普遍运用于区块链的通讯协议模式。Algorand 的共识机制分成两个步骤,分别是提议和达成共识。

实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)是首个实用的在异步分布式网络中实现拜占庭容错的共识算法。算法应用于一个分布式文件拷贝系统。系统中共有 3f+1 个复制节点,其中最多 f 个拜占庭错误节点。系统中的每个复制节点都运行一个有限状态机的副本,并且支持若干种操作。

PBFT 算法包含一个三阶段的协议,分别是预准备、准备、确认。预准备和准备阶段是保证所有正常节点按照相同的顺序执行所有有效的用户请求,而 BA*可以完成即时提议与确认。

王永革认为 Algorand 中的拜占庭协议过于复杂,实现成本过高,存在优化地空间。

王永革认为可以通过简单的方法达到相应的效果,假设在相同的网络环境下,就可以通过“多数票决:(majority vote)来达到同样的效果。

王永革称 Algorand 团队似乎也已经认识到一点了,在项目后来实践的过程中,Algorand 并没有按照他们 2017 年文章提出的拜占庭协议进行。王永革表示这一点与 Algorand 的安全性无关,只是他给 Algorand 的一个建议。

参考资料:

《一文读懂 Algorand 算法,彻底消除区块链「不可能三角」》

《Another Look at ALGORAND》

创文章,转载/内容合作/寻求报道请联系 report@odaily.com;未经授权严禁转载,违规转载法律必究。

不容错过的往期精彩

优质的推送带来深刻的思考

给 Odaily 标星,让你先与众不同


专访 | 那篇“怼”Algorand的论文说了啥?来听作者解释相关推荐

  1. Github热榜:2021年33篇最酷AI论文综述!多位华人作者入选

      新智元报道   编辑:小咸鱼 [新智元导读]GitHub上,有一位小哥放出了「2021年充满惊喜的人工智能论文综述」这个项目.目前,里面总结了33篇今年必看论文,堪称「良心宝藏」.这个项目仍在更新 ...

  2. 论文修 5 次后,大佬怼翻审稿人:我要改吐了,这篇怼人回复竟发了一区 SCI !(转载)

    声明:以下文章来源于生物学霸,作者Neikon 论文之于朝八晚十一辛勤工作的科研人的分量,不亚于孩子之于后宫嫔妃. 然而当你闻鸡起舞.披星戴月,用最后为数不多的珍贵发量置换成新鲜出炉的论文准备投稿,它 ...

  3. 时隔4年,翟天临怒怼网友:论文写不过是你能力不行...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 本文转载自:募格学术 | 参考资料:翟天临微博 「知网是什么?」 ...

  4. 伯克利大神一人投中16篇!ICLR 2021论文接收统计出炉

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:机器之心  |  作者:魔王 ICLR 2021 会议 ...

  5. “深度学习”这十年:52篇大神级论文再现AI荣与光

    来源:新智元 本文约4100字,建议阅读6分钟 从"深度学习三巨头"到何恺明,从谷歌到MIT,52篇神级论文带大家回顾深度学习这十年. [ 导读 ]从自动驾驶到Deepfake,深 ...

  6. 伯克利大神一人投中16篇:ICLR 2021论文接收统计出炉

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 ICLR 2021 会议中投稿量和论文接收量最多的作者和机构都有哪些?这个 GitHub 项目 ...

  7. 一文看尽10篇目标检测最新论文(SpineNet/AugFPN/LRF-Net/SABL/DSFPN等)

    点击上方"CVer",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 一周前 Amusi 整理了 目标检测(Object Detec ...

  8. 必读的10篇关于GAN的论文

    前言 上次写的文章-- 一文了解下 GANs可以做到的事情,如果想进一步了解 GAN,学习研究 GAN,可以先从这 10 篇论文开始. 本文翻译自: https://towardsdatascienc ...

  9. 工作分析文献综述_北大教授分析了124 篇不合格硕士学位论文,发现了6个典型问题!...

    原标题:北大教授分析了124 篇不合格硕士学位论文,发现了6个典型问题! 根据词条的词频统计状况,按占比情况由高到低排列,不合格学位论文大致存在"作者科研能力不足""论文 ...

最新文章

  1. Jpcap过滤GTunnel程序数据包
  2. 读jQuery源码释疑笔记
  3. Qt:Windows编程—Qt实现进程管理
  4. SSM框架Spring+SpringMVC+MyBatis——详细整合教程
  5. 不能将brassplus类型的值分配到brass类的实体_Java 基础 - 类与对象
  6. IIS OCIEnvCreate failed with return code -1
  7. assertionerror是什么异常_php7异常与错误处理和自定义异常
  8. asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程
  9. 应用电子计算机英文,应用电子技术英文介绍
  10. 使用PhotoShop制作蓝底证件照
  11. c# 中崎_C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机) | 学步园...
  12. @Value的用法 @Value数据来源 @Value动态刷新的问题
  13. CSS 关于box-sizing: border-box
  14. 学渣的刷题之旅 leetcode刷题 27.移除元素
  15. 〖OKaimi点金胜手_2019年4月〗走地大球分析系统|万胜
  16. 浅谈ArcGIS中的容差和分辨率
  17. TiDB 在 2021 易车 818 汽车狂欢节的应用
  18. MYSQL 根据身份证号找出年龄大于60岁的人
  19. 电子电路设计基本概念100问(二)【学习目标:原理图、PCB、阻抗设计、电子设计基本原则、基本原器件等】
  20. 关于解决HbuilderX终端不能输入问题

热门文章

  1. OpenCV图像拼接器Stitcher 无法使用GPU加速
  2. 测试男孩女孩软件,有没有直接可以计算生男生女的软件
  3. 基于K-L变换的人脸识别
  4. Redis基础—九、Redis订阅发布、Redis集群
  5. GPT-3杀入漫威宇宙!二次元小伙用它生成蜘蛛侠续集
  6. Csrf再识及初识Json劫持
  7. CAD怎么计算面积?cad计算面积快捷键是什么?
  8. h5游戏php语言什么意思,我们常说的H5游戏是什么意思?
  9. 现代计算机发现应用思路有哪些,数学在现在科技中的应用有哪些
  10. YOLOv5 环境搭建、 coco128 训练示例 、 详细记录【一文读懂】