这是Whistle的第4篇文章(第3篇发不出来……),回应多位Move生态的朋友的讨伐。
作者 | 北辰
Whistle作为新注册的自媒体账号,第1篇正式发布的文章《开技术倒车!Aptos和Sui其实是联盟链,生命取决于资本的耐心》在完全冷启动的情况下还能吸引来这么多行业注意力(火力),有些超出预期了。
本文得到了很多行业内朋友的认可,甚至已经有两位朋友表露了投资意向(顺便一提,我们现阶段还不需要,只管「但行诸事,莫问前程」)。
与此同时,由于挑战了行业主流观点,引来了多位Move生态的人的讨伐,最集中的批评是《反击!多位资深开发者反驳某些批评Move系公链的言论》——6位开发者共反驳了12个观点。
虽然我们之间的观点不同,但都是集中在技术讨论上,这种争论有助于促进行业的良性发展。
Whistle理应安排一篇文章来反驳那篇文章的反驳,但Steven说,越是基础的争议(比如Sui到底是不是区块链),就越需要严谨,他要认真准备一下再去反驳对方认真准备的反驳。
我们其实总共做了两次访谈,有一些涉及细节的讨论并没有在文章中体现(主要是囿于篇幅,但不影响文章中所有的结论),所以今天先贴出第二次访谈中涉及细节的部分,作为非正式回应,Steven的正式回应过几天再贴出。
不过由于12个反驳中有一个是北辰的观点(3),所以这里先做回复,并越俎代庖地替Steven回应两个争议的观点(4、7)。
观点(3):
争议原文:
“币圈的人好像挺没见识的,比如之前Dfinity(ICP)出现后,币圈很多搞技术的人就很兴奋,觉得它的叙事非常宏大,能解决很多问题,但其实那就是云原生的故事,微软、IBM都搞了多少年了。“
反击:
“ICP的构建路径的确有问题。但这个作者应该是觉得「去中心化的云计算」这条路不对,但Web3就是去中心化的云原生。”——支持Move的Layer2项目Rooch创始人Jolestar
北辰的回应:
首先,我不是觉得「去中心化的云计算」这条路不对,我也不是觉得「云原生」不对,我只是觉得Dfinity搞的去中心化的云计算不对。理由无关技术,而是认为它的业务逻辑、经济模型、资源决定了很难发展起来。当然,这个观点完全可以单独写一篇文章来阐述,这里不再赘述。
其次,我也觉得「Web3就是去中心化的云原生」,但绝对不是Dfinity搞的那个云原生。
观点(4):
争议原文:
“自以太坊以来,没有再出现什么新的技术范式。”
反击:
“如果是指最早的以太坊,其实它和它以外的技术范式更迭都很快。ZK,DA,Verkle Tree,交互式欺诈证明,这些技术范式的最早发起者都不是以太坊基金会,但很快就被以太坊借鉴并吸收。
比如,以太坊在DA方面借鉴了Celestia,在PoS共识协议上借鉴了Cosmos的Tendermint。ZK也不算以太坊本身的技术,但是在推广ZK概念上,以太坊基金会花了不少力气。
另外,Move语言也算是技术范式上的创新。Algorand和Cardano在POS上的范式创新也很重要,只是还没有经历大规模的考验。“——以太坊生态存储类项目EthStorage创始人Zhou Qi
北辰替Steven越俎代庖的回应:
首先要厘清啥叫「范式」(Paradigm),它指的是一个理论框架,而不是某个技术细节。从牛顿的经典力学到爱因斯坦的相对论,这才叫范式转移,处在它们之间的玻尔兹曼的能量均分理论虽然也很伟大,但不是范式转移。
ZK、DA、Merkle Tree、交互式欺诈证明,这些都是应用在区块链的技术,而不是区块链本身。它们和区块链可以有很好的结合,但至少现在还没有出现像以太坊之于比特币那样的范式转移。
不过Meta系的技术(包括Move语言)确实算是技术范式上的创新,只是我们认为它的方向错了……
它很好,不过它从技术到业务,做的都是联盟链的事情,就不要跟公链沾边了。
观点(7):
争议原文:
“Move不是一种好的语言,因为如果脱离了Aptos和Sui等项目,Move就没法用。”
反击:
“这对于Solidity也是完全一样的。如果Solidity脱离了支持EVM的链,也没法用。「XXX 不是一种好的语言,因为你如果脱离了XXX生态,XXX 语言就没法使」放很多编程语言身上也是一样的。“——资深Move生态开发者Nanne2022
“Steven会这么说,主要是因为Solidity和Move需要专门的虚拟机才能执行,这需要专用的程序,但统治整个互联网开发领域的Java一样需要专门的虚拟机。如果放在上世纪末Java刚推出不久时,也有人会说:「Java如果脱离了JVM生态,就没法用,所以不是一种好的语言」。——Move社区成员eternal
北辰替Steven越俎代庖的回应:
Steven在回答该问题的最开始就表明了:“它们(Solidity和Move)的基础就不一样,所以谈不上谁更加优秀。“
以及在该问题收尾时也说:“跟语言就没关系,从Libra开始的所有公链都是有问题的,这才是一切问题的根源。”
问题不在于Move是不是好的开发语言,而是Move是不是好的「区块链开发语言」,Steven的回答很明确——Move所在的生态,就不是区块链的正确演进方向。
上次访谈中一些涉及技术细节的观点:
北辰:为什么Meta系的项目「既没有区块,也没有链」?
Steven:最初的起源就是Facebook为了搞支付系统去做了一个Libra,它是一个标准的联盟链,本来想推广到全球,只不过后来因为各种原因终止了。
它的整体思路和公链完全不一样,它没有一个完整的区块结构,也没有一个完整的指向链表的结构,所以我说既没有没有区块也没有链。
第一点,它的账户非常特别。
我们在传统公链上创建一个账户,会产生公私钥对,然后由公钥来做哈希生成账户地址。私钥就是你的一切,丢了私钥,账户也就没有了。
Libra虽然也是同样的结构创建账户,但公私钥对是可以被替代的。它是从联盟链用户的角度出发,考虑的跟传统银行账户一样,就是万一私钥丢失了怎么办。
这一点对个人用户来说是有好处的,因为丢私钥的可能性蛮大的,不少比特币其实是死掉的比特币。
Aptos继承了这个特点,它们恢复账号的方式,从区块链的角度来说比较危险——你的地址下的账户其实是可以被别人恢复。你不能因为私钥可能会丢失,就把系统的安全性级别给降下来。
第二点,它的共识算法非常奇怪。
它在共识算法上的创新其实是建立在认为大部分节点都是可信任的,相当于把所有的节点看作一个集群来管理,这是典型的联盟链的做法。
所以它会有一个共享的内存池协议,把未打包的区块信息交易都放在内存池里面,所有节点都是通过内存池协议彼此共享,相当于传统的业务集群里面的缓冲区。然后再在节点里选出一个lead节点,由它负责给缓冲区里的交易排序,然后提案一个交易区块,并通知其他节点来投票,达到三分之二的投票就会执行。
说实话,这个投票没有太大意义,因为只是确认lead节点提交的新区块里面的内容是否符合历史状态,而lead节点的产生理论上是可预测的,这一点非常危险。
当然,所有采用BFT共识协议的系统或多或少都会这样的问题——节点数量不能太多(会影响共识的效率),也不能太少(无法控制系统的安全性)。
以太坊的节点也有随机性的选择,但是以太坊采用了Slot(时隙)的方式来划分时序,这相当于又人为增加了一层选举,把挖矿节点在时间和空间上都分开,兼顾了效率和安全性。
我们再说回到Libra,它的lead节点的权限非常大,会以少量算力控制整个网络。
传统公链的交易数据要在整个网络里传两遍(广播一遍,验证一遍),而Libra则是已经由lead节点处理好区块信息,只是把序号传播给其它节点,它们收到序号之后就按lead节点指定的顺序执行交易,整个过程的数据交换量非常少,这意味着如果lead节点作恶的话,其他人很难控制。
北辰:其他的节点是如何来判断lead节点有没有作恶?
Steven:这个肯定判断不了的。lead节点发布的执行顺序,其他节点只能去验证交易的前后状态是否正确。
北辰:如何理解Libra「既没有区块,也没有链」?
Steven:整个Libra的数据其实就是一个带着版本号的关系型数据库。它只是把交易作为载体,这个带版本号的数据库由记录交易、输出结果、账本状态组成了一个三元组,每次交易它都会改变一下三元组的所有项目的状态,然后通过不同的状态标识来确定账本是否有效。
这跟传统区块链完全不同。比特币、以太坊上的每一笔交易都是可以追溯到最原始的代币(挖矿挖出来的代币)。而Libra就是每次交易都修改一次状态(即不同的版本),然后再对这个版本做一次全局性的共识。
你可以说它是颠覆性的,重构了区块链,但这个做法只适合联盟链,不适合公链,因为它的全局状态控制、不同节点间的安全性都不能保证。
之前我们说,Move语言之所以不是一个好的区块链编程语言,就是因为它只能在Meta系的这种基于带版本号的数据格式下才能够运用,跟公链没什么关系。
北辰:这也是我个人的困惑,就是联盟链有存在的必要么?如果追求绝对的安全性,那就去公链,如果追求便利,那就用互联网,作为中间态的联盟链没有太大意义。
Steven:联盟链的高性能是牺牲了去中心化和安全性得来的,它们的性能和安全性完全可以用中心化系统再加一点密码学就可以了,这个在服务器平台、云平台上都可以做,效率肯定更高,而且也不见得安全性更低,所以就没必要用到区块链,何况联盟链也不是真正意义的区块链。
总结
Steven也将「本着实事求是精神,与多位业内技术大咖进行访谈,针对《反击!多位资深开发者反驳某些批评Move系公链的言论》中的12个论点进行讨论」,敬请期待!
这里给我们的Steven打一个广告。他之前在朗讯做5G通信,现在帮国内一些crypto基金看公链。
他看好区块链,但经常发表针对区块链的暴论,Aptos和Sui只是我们聊的第一个……未来还会持续输出暴论。欢迎对Steven发起各种challenge!
作为多年来的通信工程师,Steven对区块链系统有自己独到的见解,这次的争议至少说明在被各种噪音淹没的crypto市场中,还是有很多人愿意去关注、讨论关于行业的真实且刺耳的声音。