提前交卷的第三代公链:Algorand的非典型去中心化之路
今年对区块链行业来说注定是关键的一年。我们不仅需要迎接 Facebook 等巨头的进军,另一方面,以太坊之后的第三代公链,包括 Algorand、Polkadot、Nervos、Conflux 等等,也陆续到了主网上线的时候。公链作为这个行业最重要的基础设施,17年这波大钱几乎全部砸进了这个赛道里。现在,到了检验成果的时候了。
Algorand 是目前第一个交卷的项目。他们即将在本月 19 号——也就是明天——正式上线主网。随同主网一起上线的,还有一个长达 5 年的代币拍卖计划:通过一种荷兰式拍卖的方式,Algorand 将把 POS 系统的原生代币 Alog 有计划地分发出去。这一拍卖将在合规平台 Coinlist 上进行,用户需要通过 KYC 才能参与。
不同于 POW 通过挖矿散币,纯 POS 系统的安全性很大程度上取决于代币的初始发行状况。如果 token 的初始发行足够分散,持币用户足够去中心化,那么系统就会更安全。为此,Algorand 的创始人、图灵奖得主 Micali 教授相信,荷兰式拍卖是一种比ICO、IEO更合适的 token 发行方式。同时,这种发行方式背后,也是 Micali 试图用 Alogrand 来实现金融民主化的第一次尝试。
这显然也是一次大胆又富有创造性的尝试:长达 5 年的持续性拍卖,每月 2 期,月目标为 5000 万 Algos,90% 保底可退机制。其中,90% 保底可退机制无疑是一个设计亮点,参与拍卖的用户在拍卖一年后有一次退款机会,根据当初拍卖价格的不同,最高可退回 90% 的原始金额。这个特别的拍卖方式让 token 的发行过程充满了博弈,退款机制让投资安全性得到保证的同时,也可能会产生大量潜在的二级市场套利空间:比如在拍卖结束后,在 token 价格下降的时候买入,然后一年后选择按拍卖原价退款。
荷兰式拍卖机制本身就不同寻常。一般拍卖价格都是从低往高了拍,而荷兰式恰好相反,价格将从高到低进行。在价格下降的过程中,你可以参与竞拍购币,当价格下降到当前拍卖池总金额刚好够把当天所有的代币买下时,拍卖结束。
举个例子:假设某天共出售100个 ALGO 代币。10美元起拍,小李在5美元的时候,出价50美金,买10个。之后价格继续下降,小王在2美元的时候出价40美金,买20个。之后价格继续下降,当价格降到1美元,小明又出价了10美金买10个。这时拍卖池里已经有了100美金,而拍卖价格降到了1美金,刚好是100个 ALGO 的价格。当天拍卖结束,小李获得了50个 ALGO,小王获得了40个 ALGO,而小明获得了10个 ALGO。尽管小李是在5美金的时候出的价,但他最终的成交价实际为1美金。
POS 类项目已经上线的本身就不多,Cosmos 算一个,但 Cosmos 的代币发行模式非常简单,只是沿用了最初的私募发行。鉴于代币发行对 POS 项目非常重要,同时业内不少人提出了包括 Lockdrop 等最新的发行机制,在这样的背景下,Algorand 作为一个纯 POS 的明星项目,此次富有创造性的使用了长达 5 年的荷兰式拍卖 90% 的退还保本机制来散币,不难想象,如果这种方式取得了不错的反响,它将对不少后来上线的 POS 项目产生重要的影响。至少 POS 的明星项目都会考虑沿袭这一发行方式。
除了代币发行机制的不同,Algorand 在许多方面都自成一派。你能很明显地感觉到它跟其他公链项目的差异。尽管每个项目的出发点以及他们所讲的故事都有很大的不同,但第三代公链面对的核心母题都是一样的,即:在保证去中心化和安全性的基础上,尽可能的扩展区块链的性能。ETH 2.0 从 POW 转 POS 其实也是这样。
相较而言,Algorand 在面对这个命题的时候采用了一种不太一样的设计:它尽可能抛弃了中本聪为比特币引入的富有创造力的激励机制,更多的回归到了 Micali 自己所熟悉的密码学体系内,试图用 VRF 自选举的机制来挣脱不可能三角的束缚。
去年十月份橙皮书曾经就这一设计思路采访过 Micali,这次主网上线在即,我们有机会再次跟 Micali 教授与 Algorand 首席科学家陈婧博士一起坐下来,聊聊关于Alogrand 上线前我们所关心的一些问题。
Algorand 究竟想要完成什么样的使命?第一版上线的主网会有智能合约吗?悬而未决的激励问题又将如何解决?为什么采用荷兰式拍卖来做代币的初始发行?作为一名普通的韭菜,我应该参与 Algo 的拍卖吗?
看完下面的访谈,这些大家所关心的问题,有的或许能获得一些答案,但有些问题还是需要你自行判断(比如是否应该参与拍卖)。
1
The Democratization of Finance 金融的民主化
橙皮书:第三代公链每个项目的思路显然都非常不同,各自在解决不同的问题,并且各自认为自己正在解决的问题是最重要的。对于 Algorand 来说,你的愿景是什么?你觉得什么样的问题对当前公链而言是最重要的?针对这个问题,Algorand 给出了什么样的解决方案?你觉得 Algorand 能帮助人们完成什么样的、之前无法做到的事情?
Micali:我最想要的其实是 Democratized Finance,用 Algorand 去实现金融的民主化。拿我们这次的荷兰式拍卖来说,这是 Algorand 上的第一个应用,这也是我最想要的一个应用。如果在传统的拍卖方式下,你需要所有参与者都聚集在同一个房间里,但我们把拍卖过程放到了链上,同时这个链又是真正可扩展的,那么全世界的人就都可以参与进来。
对我个人来说,这就是我做 Algorand 最初的动力和热情所在。当然了,也有很多人说想在 Algorand 上做游戏做 DAPP,这些都可以,但我个人最想要的就是最开始的拍卖应用,它代表了金融的民主化。
我们现在这个世界的金融系统,对普通人来说并不是那么友好的,它不是平等的,不是每个人都可以自由接入的。哪怕是很多很老的金融产品和服务,它们也不是民主化的。我们想要那些更复杂、更精细的金融应用对普通人来说也是平等、可自由接入的服务,因为只有这样,你才能去 elevate everybody(帮助提升人们),让每个人一起分享金融的可能性。
Algorand 在技术上的优点是去除了很多挖矿的成本,因为 Algorand 不会分叉,是真正可扩展的,同时又是去中心化的,所以我们可以负担得起平等的对待每个人,让每个人都能公平的参与到系统中。
橙皮书:这个拍卖是在链上进行的?那这次拍卖为什么还要和 Coinlist 合作,还需要 KYC?
Micali:是的。这其实是因为你没办法一开始就达到去中心化,去中心化需要一个过程。我们去想 Algorand 这个系统最初始的状态——一开始是没有人有 Algo 代币的,你想要找人买代币,肯定是用法币去买。但我们没办法把法币放到区块链上,所以一开始你需要一个像 Coinlist 这样的角色,它接受你的法币,然后给你登记授权,让你能够参与竞拍。最终所有人的竞拍都会上链,你可以在链上实时看到还剩下多少代币可以拍到。当每个人都有 Algo 代币的时候,我们就不需要 Coinlist 这样的角色了,比如你想做一个房产的荷兰式拍卖,直接在链上用 Algo 代币拍就可以了。
橙皮书:为什么选择在链上进行荷兰式拍卖这样的方式?为什么不是 ICO 或者 IEO,或者类似 Lockdrop 这样的方式?
Micali:荷兰式拍卖把定价权完全交给了市场。不是像ICO这样,定一个固定的价格。一个币究竟多少钱是合理的?没人知道。Algo 的价格不是由我来决定的,我也没有兴趣给它定价,Algo 是由市场里所有人决定的。
这也是我们想要把金融民主化的一个例子。因为你想平等的对待系统里的每个参与者。每个用户进入到一个新的生态里,他会关心自己有没有被平等对待,而且是从一开始就受到平等对待。我们也希望系统从第一天开始就是去中心化的。
第一天是什么时候呢?就是你第一次买代币的时候。在荷兰式拍卖竞拍结束后,每个人都是付相同的价格来购买 token,相对是比较公平的。不是所有的拍卖方式都符合这样的要求,荷兰式拍卖恰好是这样,所以我们就选择了这种拍卖方式。
Coinlist 的另一个作用是为我们提供一个 refund 的政策。这个政策是说,假设一年后你不想要 Algo,你可以找我们退还 90% 的钱(成交价格大于 1 美元的情况下)。当你想退货的时候,总得有人知道你是谁,对吧?所以需要 Coinlist 来做 KYC。by the way,如果你买一辆车的话,一年后你想退回90%,你觉得可能吗?
在区块链系统里,你不仅想要公平的对待用户,同时你也想要让用户感觉到这种对待是公平的。把荷兰式拍卖放到链上可以做到这一点。如果不放到链上,当然你也可以打电话跟你用户说,现在实时竞拍的价格是怎么样的,可能这样也是公平的,但他们怎么感知到这一点呢?我认为没有办法。
橙皮书:我很好奇一点,我所看到的很多项目,包括比特币和以太坊,它们其实都是由草根发起的,中本聪我们不知道他/她是谁,但比特币周围的大部分人都是普通人,以太坊也是如此,Vitalik 只是一个非常聪明的小孩。如果区块链是一场自下而上的革命,你们(在我看来)是站在顶端的精英,为什么你们会想要来做这件事?
Micali:我不认为自己站在金字塔顶端,当然,我们是受过比较好的教育,你可以说我们是精英,但我觉得这正是我们的责任去 elevate everybody。责任往往是伴随你的能力而来的。
真正关键的问题是,我们之前一直缺少这样的技术去帮助所有人。如果按以往的机制,你想要为人们做一件事,只能先去和一小部分人沟通,再让这小部分人去和剩下的其他人沟通,那么这小部分人肯定会比其他人更有优势,他们将拥有更大的权利。这样对所有人就不是平等的。
如果你去看互联网,它就是一件非常民主化的工具。今天信息在互联网上以非常便宜的速度流动,那是信息民主化的结果。信息能够自由流动,但是价值和货币还没办法自由流动,因为交易的成本、交易的摩擦还很高。对富人来说,交换价值的时候可以接受付出一部分这样的成本,来免去一些交易的摩擦,但是对穷人来说,这是不可能的。当我要交换的价值很少的时候,交易的成本大于价值,那么价值传输过去可能在半路上就消耗殆尽了,我也就无法交换价值了。
我们需要的是一个更有效率的价值流通和交换方式,这不止是支付的问题,也是像我刚才所说的涉及到更精密更复杂的金融服务的问题。这些更精密的金融服务现在大部分是通过中介商来完成的,当你的价格很低的时候,这些中介商根本没有意愿来为你服务,他们会叫你走开,因为他们只会把时间留给那些高净值的客户。
所以,对一个真正可以扩展的区块链来说,它能把交易的成本降低,这些事就成为可能。
比特币每产生一个区块,你手上的币其实都是在通胀的。我们很少人能够真正理解通胀,因为我们所受的教育本来就没有意图让我们理解通胀这件事。通胀的原因,是比特币账本后面每次要新加上一个区块,就有人需要为矿工支付一次成本,这是交易的成本。
Algorand 降低这个成本的方式,首先是降低参与的成本:不需要争破头去解决数学谜题、不需要参与矿机军备竞赛,所以你可以用更低的成本去参与 Algorand 系统的 Money Trust。
但是 Money Trust 只是一方面,你还想要民主化其他更复杂的金融产品和金融工具——比如说借贷,借贷是一个非常基本的经济组件。想象一下,你想开个饭店,一开始又没有足够的钱,那就需要去借钱来启动这项生意。当借贷的成本很高时,意味着借贷的利息很高,如果我们能通过区块链降低借贷的成本,那么也许就能鼓励更多人以自己能负担得起的利率来借贷,启动自己的饭店生意。这就是我想做的事。
橙皮书:所以你觉得 DeFi 在以太坊上面临的问题是,链本身太贵了?
Micali:对,一方面是太贵了,同时速度又太慢了,这两件事合起来时显然会更糟。它的成本和交易摩擦摆在那,无法让更多人平等地享受到复杂精细的金融服务。
橙皮书:我还是想回到刚才的那个问题:如果区块链是自下而上的运动,Vitalik 这样的人显然看起来是更亲民的,更贴近社区的。你是否会担心,作为精英阶层,你们怎样去跟一个去中心化的社区形成联系?精英在这方面还有优势吗?
Micali:我认为重要的不是一个系统是否由普通人发起,而是这个系统能否真正为普通人服务(work for common people)。
几个月之前我遇到了一个叫 Greg 的以太坊核心开发者,他说他对以太坊非常忠实,你们的技术很有意思,但我是不会离开以太坊的。于是我反问他,Greg,你觉得你应该忠诚于以太坊,还是应该忠诚于去中心化?后来 Greg 加入了 Algorand,因为他们一直在说 Casper is coming,Casper is coming,但是 Casper nerver coming。Greg 想加入 Algorand,因为他关心协议最终能否为普通人提供服务。
我觉得最好的一点是,我们是在做一个不需要许可的开源协议。每个人都可以自由选择,最终真正 work 的协议就会跑出来。
2
关于大学节点
橙皮书:为什么选择和大学合作,让他们是作为 Algorand 的首批节点?
Micali:Algorand 很多事需要让社区来投票,但初始时我们还没有这样一个社区,怎么办?所以我们觉得,初始阶段和大学一起合作是好主意,让大学帮我们做很多投票的决定,比如经济模型的决定,协议技术升级的决定等等,这个链是不会走偏的。因为大学是:1、非营利组织,2、有很多经济学专家,3、有很多技术专家,4、大学是国际化的,MIT 接受任何国家的学生。
这四个优点,决定了他们是很好的节点人选。全世界各地的大学,包括北京大学和清华大学,现在很多都是我们的节点。以后 Algorand 社区的成员越来越多,节点的数量也会越来越多。
橙皮书:大学是作为 Algorand 网络里的 Relay 节点?它们需要负责什么样的工作?
陈婧:Algorand 节点有两种,Relay Node(中继节点)和 Non-Relay Node(非中继节点)。Relay 节点执行重复数据删除,签名检查和其他验证步骤,最终向其他节点重新传播有效消息。Relay 节点一般不参与出块,在当前阶段也没有激励,非 Relay 的节点就是参与网络选举的节点,任何人都可以下载客户端来跑。
橙皮书:没有激励的话,大学为什么愿意来做 Algorand 的节点?
陈婧:大学的诉求其实是希望有比较好的 research 方面的合作。这是我们双方合作比较重要的利益共识。因为我们在做很多区块链方面的 研究,大学也很感兴趣。除此之外,我们也会给大学捐一些 Algo 的 token,但是因为政策监管等一系列原因,这些 token 都是要好几年之后才能给到的,所以更多还是 research 的合作。
3
关于智能合约
橙皮书:Algorand 这次上线是没有智能合约功能的,对吧?没有智能合约怎么让开发者来做金融这方面的应用呢?
陈婧:主要是用 layer2 的方式来做,layer1 上每一个交易都会有一个 data domain,这部分的数据放进去是不会被系统 parse 掉的,你可以把数据写进交易里 mutisig(多重签名)的方式来开发应用。
橙皮书:把数据放到 layer1 的交易里,那应用的业务逻辑要放到哪?
陈婧:业务逻辑放到自己的 APP 上。
橙皮书:相当于是中心化和去中心化混合在一起的开发方式?
陈婧:对。这其实是我们在设计上的一个考虑。我们认为,智能合约完全用 layer1 来做的话,它的开销会增长得很快。最开始我们只想把最关键的东西做到 layer1,比如原子性。
很多 layer1 的智能合约之所以设计得很复杂就是为了保证原子性,两个人执行一个操作,操作要么发生要么不发生,不存在其他可能,这样来保证双方权益不会受损。所以我们把 layer1 的原子性做好,其他的很多东西都可以通过 layer2 的方式来解决,比如两个人之间谁应该付给谁多少钱、怎样去做签名,这些东西用 layer2 完全都可以做的。
橙皮书:那如果 layer2 出了纠纷怎么办?怎么解决这个纠纷?
陈婧:这个就是 layer2 的 APP 自己去解决的问题。比如说 layer2 可以有 Exchagne,可以有几个人组成的 escrow,只不过这些 escrow 最需要的东西是原子性,所以我们把这部分做到 layer1 上。
我们的思路是这样:一开始 layer1 先做最关键的特性,后面 layer1 会逐渐长出更多的新特性,相当于从 layer2 上慢慢同步到 layer1。很多东西放 layer2,后面挪到 layer1 上,然后 layer1 有了更多的特性,layer2 就能释放更多的能力,做更多的事,这样逐步去迭代。
这种方式的好处是,这样我们能比较好的去理解 layer1 应该怎样去建立。比如 layer2 上可能会慢慢出现很多高价值的、非常流行的、重要的应用,这些应用的共性是什么,我们把它抽象出来,反哺到 layer1 的设计上。
橙皮书:相当于是慢慢根据应用的需求,再去考虑怎样改进 layer1 的设计?
陈婧:没错。
4
关于激励机制
橙皮书:Algorand 一开始出来的时候就对激励问题有一个很不一样的看法,觉得应该尽量少用。现在主网上线,激励机制是怎么设计的?比如对于节点的激励是什么?
陈婧:目前对节点是没有激励的。第一步的激励就是 reward token holder 而已。我们一直在强调,第一步的考虑是把 token 分散出去,所以第一步的激励设计是针对早期的 token holder。
不管一个用户是把自己标记成在线还是下线的状态,他在系统里受到的激励都是一样的,按照持有 token 的比例来发放。也就是说,不管出不出块,甚至不管是否参与了出块选举,得到的奖励都一样。
因为早期持币者的数量相对是比较少的,早期的 reward rate 会比较高,后面随着持币者增多,这个 rate 就会逐渐降低。目前的激励主要就是针对早期的参与者。
下一步我们增加激励机制的时候,就会把涉及到节点的激励增加进去。Algorand 有两种节点,Relay 节点的主要成本是网络通信成本。
如果去看任何一个区块链系统的成本,它的 cost 会产生在哪些方面?
无非就是计算、存储和网络通信。具体来说每个系统都不太一样。比如像比特币,成本主要集中在计算上,所以比特币最主要的激励也给到了计算上。Algorand 因为计算量的要求特别低,所以计算不会给特别的激励。
存储方面,以太坊是有涉及到的,它的所有状态都存到 layer1,状态爆炸的问题也很严重。以太坊在存储上的激励设计是比较怪的,它在你释放空间的时候会给你奖励,这样一来大家会在上面做套利,比如当 eth 价格比较低的时候去买一个比较大的空间,但是也不用,等到 eth 价格升高的时候再把空间退回去拿奖励。这样的结果就是空间被浪费,同时对系统负荷比较高。
存储方面的开销,Algorand 可以通过技术来解决,我今天在现场也稍微提了一下我们的 VAULT 系统,这个系统主要就是用来帮助新用户加入 Algorand 系统时减少存储开销。
另外 Algorand 也会通过使用“聚合签名”等方法来压缩节点签名所需的存储量,所以存储暂时不会是大问题。而且,未来网络里是会有 Archive Node(归档节点)来负责存储所有信息,你对历史数据的查询也可以通过这些 Archive 节点完成。而有些节点则会变成一个纯粹的参与方,不涉及信息存储。
VAULT 的另一个作用是让 Algorand 系统不需要信任这些 Archive 节点,因为这些节点给你存储信息的时候会给出一个证明,你只要看证明就可以了。无论这个节点是善意的还是恶意的,它都没有办法去误导别的节点接受分叉,唯一可以作恶的方式就是不干活,不回应其他节点发给它的请求,只要保证在 Algorand 系统存在足够多的善意节点愿意干活就足够了。
所以存储对我们也不是问题,我们也觉得没有很大的必要去设计专门的激励机制。
总结来说,计算和存储这两方面都可以通过技术方式解决,网络通信就成了 Algorand 唯一的瓶颈。所以在下一步会加入的激励机制就是针对 Relay 节点在网络通信开销方面的 reward。再后面,可能还会对比如 Block Proposer、Voting 这些行为去做激励。
5
关于成本与安全性
橙皮书:之前很多区块链系统可能在潜意识里给了我们一个感觉,即:系统的成本越高,安全性似乎也就越高。比如比特币耗掉那么多的电,那么要攻破它的成本就越高,网络的安全性也就越高。Algorand 刚才聊下来,计算、存储和网络通信这三方面相对都没有太多的成本,但它的安全性又是很高的?这似乎给人一种很反直觉的感受?
陈婧:Algorand 是采用了很不一样的设计方式。比特币是有一种很强的成本和安全性的 trade off,它要保证 10 分钟生成一个块,安全性足够高。Algorand 既然不需要用 trade off 的方式来保证系统的安全性,成本和安全性没有必然影响,那么低成本在我看来不应该就是一件好事吗?
橙皮书:这肯定是好事。或者说,一个系统的安全性,像一个城堡,城墙越高,城堡越安全,城墙像是城堡的某一种消耗,如果这个消耗很低,是不是很容易被攻克?
陈婧:我觉得你是在谈论一个熵的问题。系统的熵越大,你就越不容易被预测。所谓的注入随机性,就是为系统注入更大的熵,来保证系统的不可预测性,以此来保证安全性。我们用 VRF 自选举的方式,某种程度上是为系统增加熵,用信息的复杂度来保证系统的安全性。
橙皮书:那么 POW 是从外界引用能量的方式来增大系统的熵吗?
陈婧:POW 其实没有增大系统的熵,它是用消耗能量的方式保证安全性。就像你说的,消耗某一种资源来修建城墙,城墙越高,城堡越安全。你也可以不消耗资源,而是改用随机的方式,有点像用打游击战的方式,让你自己变得很难被预测,这样来保证系统的安全。所以注入随机性和POW,这是两种不同的方式。
橙皮书:那如果在 Alogrand 的协议已经确定的情况下,这个系统有什么样的变量会影响它的安全性?比如说,它的安全性是不是只取决于系统参与的人数、好人或者坏人所占的比重?如果我要攻破这个系统,我需要怎么做?
陈婧:唯一的方法是控制足够多的 token。当然,如果你能攻破密码伪造签名的话,这个系统肯定会被攻破。或者你如果有很多很多的 hash,Algorand 系统的设计是允许攻击者有 10 的 40 次方的 hash 数量,在这样的情况下去设计系统的参数,让它达到安全性的要求。10 的 40 次方是什么概念呢,大概相当于你需要上亿年的时间才能做完这么多次的哈希计算。
橙皮书:所以币的分散对 POS 系统非常关键。
陈婧:对,基本假设就是大部分的 token 掌握在诚实节点手上。
橙皮书:这个诚实节点的要求,要比比特币 50% 的要求来得更高?
陈婧:理论值是三分之二诚实节点,在实际的系统设计中,比如主网中,我们可能会要求 80% 是诚实节点,因为这样你对选举委员会的规模和数量要求就可以降低,这样整个系统的效率、速度就会更优。会有一个权衡。
(完)