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 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。