30 年軟體開發經驗的老炮眼中的 EOS、乙太坊與區塊鏈背後的政治哲學
採寫:cynic,極客 Web3 貢獻者
受訪者:響馬,fibjs 創始人
編輯:Faust,極客 web3 聯創
封面:Photo by Shubham Dhage on Unsplash
導語:響馬,FIBJS 項目創始人,92 年從事軟體開發至今,已有 30 年經驗。 響馬在 1994 年接觸互聯網相關技術,1998 年創辦華語圈首個大型綜合社區網站——西祠衚衕,2012 年創辦孢子社區,2018 年涉足 EOS 生態,目前專注於 fibjs 和 EOS 相關的底層設施開發。
本次訪談從響馬對 EOS 的回憶開始,引申到區塊鏈背後的政治哲學。 他認為:
·追求極端 TPS 的是偽區塊鏈,高性能其實是最不重要的一環;
· POS 的核心是如何選出長老,本質趨於聯盟鏈。 而 EOS 通過治理來分配出塊權,涉及到公共治理權的來源;
·POS 鏈的股權制存在剝削,原生 Token 持有者有治理權,持有其它資產的人卻沒有。 這是引入智慧合約所引發的問題,乙太坊為首的智慧合約區塊鏈,從保護私權,變成管理公共資產,引申出了一系列複雜模糊、不好解決的問題。 比如頭重腳輕,上層資產太重。
·支援智慧合約和 Defi 的乙太坊管轄了公共資產,但相關權力分配不明晰合理,比如借貸協定憑什麼採用並相信某些預言機。 Permissionless 的合約部署及採用,授予了許多個體以沒有被充分監督的權力,這連鎖反應產生了一系列問題。
·使用者並不關心底層技術,他們想要的往往是簡單、得心應手的產品,而不必是最完美的。
·乙太坊現在其實是通過去中心化技術形成的一個中心化的信任中心。
·DID+可驗證憑證也許是一個未來方向,它可以連接分散的網路,無需信任與邊界。
·只要有鏈就有共識,有共識就有邊界,有邊界,就無法做到互通。 我們要做的就是一個沒有邊界的,沒有信任的協定,這才是下一代互聯網的屬性。
訪談全文
1.Cynic:我們從一個問題引入本次對 EOS 乃至新公鏈的討論吧。 我們都知道,EOS 在 2018 年曾無比瘋狂,其 IC0 募資規模達到 42 億美元,一度震驚區塊鏈乃至傳統金融圈,讓無數上市公司都黯然失色。 但時至 4 年後的今天,EOS 生態已然勢微,市值縮水 98%,甚至逐漸被世人遺忘。
在此,您能否靠着对 “2018 之夏” 的记忆,简单讲述下您对 EOS 的回忆与其跌宕起伏?
响马:我的经历代表了很多从传统技术圈进入区块链的人的经历——当时总是被 “教育” 到,BTC 很慢,使用成本很高,但它的价格却涨得很高。这个时候,我们想让区块链能够承载更广泛的业务和更大规模的市场,显然就要让区块链的吞吐量变得更高。
EOS 在这样的时代背景下,提出了每秒 100 万 TPS 的惊人指标,虽然现在大家知道,仅就单链而言 EOS 远做不到这一点,但在那个时代,它却给了大家以幻想的余地。EOS 是不是真的解决了区块链的效率问题?区块链可以变得很快,可以重新容纳更多业务,可以创造更大的市场?
在单链生态上,EOS 在一段时间内的表现其实不错。单从性能来看,经过我们的优化后,可以达到 3 万 TPS。EOS 无论是从性能还是在生态上,其实都曾是一个不错的项目。但我认为区块链的核心不是性能,而 EOS 过于注重交易处理速度和吞吐量问题。对高性能区块链的叙事,我的观点大概是在 2019 年前后开始转变的。
2.Cynic:我记得您之前曾说,“EOS 用了半年时间,堵死了高性能公链这条路”,这个应该就是您提到的思想转变?
响马:这个转变的过程是什么?EOS 的发展,让我们在技术实践中发现了问题。我们可以和其他链进行对比,比如说 BTC,到现在为止,BTC 的数据量规模是比较稳定的,我们甚至可以在几小时内验证完历史数据。但对于 EOS,哪怕只同步 18 年到 19 年底这部分的历史数据,我们跑一个全节点都会感觉到同步时间的漫长。这其实违背了区块链和密码学的宗旨: Don’t trust,verify. 也即自己去验证数据,不必信任其他人。但过长的历史数据同步时间,抬高了运行全节点的门槛,意味着你无法快速完成验证交易的过程,大多数用户最后只能长期信任第三方节点的数据验证结果。
(gavin wood 在 solana 首次宕机后发表的评论,指出用户能低门槛运行全节点才是区块链的真谛)
我们发现,在越来越多的区块链项目中,用户只有依赖云服务商,才能验证区块链账本数据。
这个时候我们就会反思——区块链的第一性到底是什么?什么样的业务应该用区块链,什么样的业务不该用区块链?要不要为了 TPS 去牺牲安全?要不要为了高性能去牺牲可验证性?当我们失去了数据的可验证性、资产的可验证性,区块链跟支付宝还有什么区别?我为什么不用支付宝而去用区块链?
后来我意识到,追求极端 TPS 的是伪区块链。区块链应在效率和安全之间找到平衡,高性能实际上是区块链中最不重要的一点。
3.Cynic:EOS 创始人 BM 之前还做过两条链,和 EOS 一样用的都是 DPOS 共识。您怎么看 DPOS 及其背后的哲学? 因为 DPOS 中的 D:Delegate 委托机制,似乎让 EOS 天然具备了链上治理能力。
响马:共识机制在我的定义里只有两种,要么 POS,要么 POW。POW 来源于计算能力,而 POS 来源于股权。POW 更 Permissionless,而 POS 的核心是如何选出长老,本质上会向联盟链靠拢。
同为 POS 体系的公链,以太坊简单的通过质押,通过随机选拔共识节点,然后去尽量避免人为主观介入的比重;EOS 考虑更多的则是通过公开治理来分配出块权。
但 POS 总会产生一个问题:公共治理权的来源是什么?在 POS 中,Token 是这个权力的来源,大家通过 Token 质押量来决定个人的治理权,也就是股权制。这不像国家治理,国家政府的权力来自于人权的让渡,采用的是人权制。
股权制存在剥削问题,原生 Token 持有者有治理权,持有其它链上资产的人却没有。这是引入智能合约本身带来的巨大难题。以太坊为首的智能合约区块链,从保护私权,变成管理公共资产,必将遇到更多问题。
4.Cynic:您提到的 “引入智能合约带来了巨大问题”,是指?
响马:可以这么打比方,比特币只是个账本,没有智能合约,使得比特币只是个记账工具,只记录私有财产的转移,只涉及私权,这比较简洁,权力模型是合理的;但以太坊引入智能合约后,本质成了去中心化的云服务。
支持智能合约的以太坊实际管辖了公共资产,不再是比特币那样单纯管辖私有财产,这引申出了一系列极其复杂和模糊、不好解决的问题。
首先,以太坊链上有原生资产 ETH 和流通的其他资产(或称为寄生资产),“寄生资产” 只有使用权没有底层链的治理权,随着这类流通在链上的 “寄生资产” 越来越多,以太坊难免出现 “头重脚轻” 的现象,即底层安全和上层承载的巨量资产不匹配。pow 转 pos 后,这个头重脚轻的问题更明显了,整个体系的治理权更集中;
更重要的是,智能合约赋予了以太坊公共资产管理属性,Defi 相关的各种交易,涉及到公共资产相关的权力再分配,可以延伸到治理权。举个例子:
某个 Defi 借贷协议采用了一组预言机节点联盟来提供喂价服务,确定哪些用户的抵押率不足需要清算,这其实就赋予了预言机节点以公共资产管理权;但我们凭什么相信这些预言机是可信和安全可靠的,凭什么把公权赋予他们,很多时候都没有用户参与的空间,稀里糊涂就把权力赋予给了一些没有被充分监督和充分披露的个体。考虑到过去频繁出现的预言机喂价操纵攻击,这个问题其实比较严肃。不被监督、没有被许可的权力往往是不可信的。
但凡涉及到公共资产管理权,其实需要充分监督,需要充分披露,但目前没有充分监管各种智能合约项目的机制。
归根结底我认为,Permissionless 只应该针对私权,不应该针对公权,Permissionless 的合约部署及采用,授予了许多个体以没有被充分监督的权力,这连锁反应产生了一系列问题。Multichain 跨链桥的例子或许是更直观的。
EOS 相关的治理权分配思路和来源其实比较明晰,但 Defi 协议等智能合约项目的权力分配来源不明晰,甚至消失了;如果像 EOS 那样搞明确的公开治理,把公权力进行明晰合理的分配,又会使得项目本身开发难度变大,变得很重。这是个难点。
所以,只要涉及公共资产的管理权,就涉及权力边界的问题,比如德国人的事情不可能让法国人去管理。引入智能合约使得以太坊实际管辖了公共资产,不再是比特币那样单纯管辖私有财产,这引申出了一系列极其复杂和模糊、不好解决的问题。
5.Cynic:EOS 提出独特的资源模型,模仿计算机分配网络带宽 NET、算力 CPU、内存 RAM 等资源。您认为这个设计对 EOS 有何影响?
响马:BTC、以太坊所使用的银行账本式的模型,运行机制相对简单,更受欢迎,同时也会面临状态膨胀(状态爆炸)问题。而在 EOS 的设计里,占用存储空间的话,会持续消耗资源(类似于 gas),这种设计能够避免状态膨胀,模拟计算机资源收费的设计让它更贴近云服务的体验。
尽管资源模型可能对服务提供者而言更合理,但复杂的设计超出了大多数用户的理解能力,不容易被接受。用户并不关心底层技术,他们想要的往往是简单、得心应手的产品,而不必是最完美的。
6.Cynic:EOS 计划改用 HotStuff 共识,您认为这个改动的目的是什么?(注:Hotsuff 是 PBFT 的一种流水线式实现,每个区块完成一轮 2/3 比例的出块节点确认,再出下一个块)
响马:EOS 之前的设计不追求交易的即时确定性,需要 3 分钟时间才能完成交易的最终确定 Finalize(注:EOS 为了加速出块 + 降低节点间信息传递的复杂度,新区块不必等 2/3 的人确认完,就可以出下一个块;接收者也不会立刻广播自己的确认结果。这些延长了区块的最终确认时间。一个新区块产生后,要再过 355 个区块才被敲定)。
EOS 修改共识算法是为了改善交易确定性,这项改动对整个项目的影响有限,因为基本架构是不变的,对出块没有产生本质影响,还是原先 DPOS 的大致流程。只是利用 HotStuff 以更快达成共识,可以看作在 DPOS 基础上扩展了交易确定性 Finality 的相关功能。
7.Cynic:能为我们介绍一下您目前进行的与 EOS 相关的技术工作吗?
响马:我们在 EOS 上实现了 EVM 智能合约,修改了跨链功能。EOS 官方的 EVM 实现,是在 WASM 虚拟机上实现 EVM,除了速度慢,还无法复用原先的基础设施。
EOS 的 RPC(远程过程调用)设计也存在缺陷,写 RPC 是通过封装,将以太坊交易提交到 EOS 上;读 RPC 为了实现方便,直接将 EOS.evm 的数据同步到一个独立的以太坊节点上,架构过于复杂,基本没有多少人能够提供 API 服务,只有项目方自己在支持。
我们的 EVM 是原生实现的,节点可以直接调用 EOS 资产,并且兼容 web3.js, ethers.js 等开发工具,使用体验接近以太坊。我们修改后的项目会逐步开源。
8.Cynic:您也算是经历过一套主流叙事从萌芽到爆发再到归于沉寂的全过程,从您的角度出发,整个行业的未来将何去何从?
响马:我一直说 web3.0 和 web3 不是一个东西,web3.0 是下一代互联网想要解决的一些问题的总和,web3 是一群人希望能够用区块链解决所有互联网出现问题的一种尝试。
但是互联网现在真正遇到的问题,其实是一个原有的旧互联网的信任机制的问题。因为在原有的互联网中,大家不能够摆脱对中央服务器的信任假设,导致所有的用户被被中央机构绑架。
我们有没有办法去把互联网重新变成一个去信任化的分布式的网络?这才是关键,而不是说我们重新信任一个由去中心化技术形成的中心化网络。以太坊现在其实是通过去中心化技术形成的一个中心化的信任中心。
IPFS 也是个同样的例子,以前我们说数据存在中央机构,我们的数据被绑架,为了解决这个问题,我们要把数据存储变得去中心化。但我们现在看 IPFS 并不是一个去中化存储,它只是一个用去中化技术形成的中心化存储,它还是服务,只要是服务它就是中心化的。
我們需要回歸互聯網的本質,而不是信任新的(通過去中心化技術構建的)中心化網路。 DID+可驗證憑證也許是一個未來方向,它可以連接分散的網路,無需信任與邊界。
DID 本身它並不是一個身份,而是身份協定。 在 DID 中並沒有存在一個大家都必須認可的機制,我自己生成一個公鑰,那 DID 就已經有了,並不需要別人的認可。 我們怎麼樣去用 DID 去解決實際問題,通過可驗證憑證。
一個最重要的一個突破點,就是它不再是兩個機構之間進行數據共用,而是由資訊主體來主導信息共用。 這時你會發現,雖然它沒有共識,沒有所謂的去中心化的概念,沒有區塊鏈,但是你會發現它很去中心化,中間只有三個人參與:資訊的控制者、資訊的接收方和信息主體。
我們最初設計這套協議的時候,也是有鏈的。 後來我們反覆的被問到:鏈是誰建的? 你說誰建這條鏈是能夠被大家都認可? 只要有鏈就有共識,有共識就有邊界,有邊界,就無法做到互通。 我們要做的就是一個沒有邊界的,沒有信任的協定,這才是下一代互聯網的屬性。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。