本文发表于2021年5月25日
本文假设读者熟悉 Nick Szabo 的《社交网络的可扩展性》(https://unenumerated.blogspot.com/2017/02/money-blockchains-and-social-scalability.html)、Vitalik Buterin 的《弱主观性》(https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)以及 Haseeb Qureshi 的《为什么去中心化并没有你想象中那么重要》(https://haseebq.com/why-decentralization-isnt-as-important-as-you-think/)等几篇文章。
但本文并非为了反驳 Szabo 的文章与其立场。
Szabo 在其文章的结尾处将社交网络可扩展性定义为“牺牲计算效率和可扩展性——消耗更多廉价的计算资源——从而减少和更好地利用涉及现代机构(如市场、大型企业和政府)所需的巨大人力资源支出。”
比特币现金(BCH)和比特币 SV(BSV)对比特币(BTC)的成功分叉无疑支持了这一理论。
然而,自从 Szabo 在 2017 年 2 月发表该雄文以后,加密生态已经取得了长足的进步。尽管他早在大约 20 年前就提出了智能合约的想法,但直到最近两年,业界才开始认识到智能合约最有用的应用:DeFi。
DeFi 的火爆改变了一切。
本文假设区块链最重要的功能不是非主权货币本身,而是 DeFi。
该体系主要功能的转变从严格的审查抵抗、非主权货币,到一个用于金融应用的高功能和可编程的开发环境,它牵涉到每一层技术堆栈,从网络层(如 gossip vs Turbine)到执行环境(如 EVM vs SeaLevel)。(关于 Solana 与以太坊的不同之处,请参阅本文附录)
因此,区块链首先应该作为 DeFi 开发平台进行设计和管理。
“人们经常会问我这样一个问题:‘你觉得这个世界未来 10 年会有什么变化?’这个问题非常常见。但是我几乎从来没有被问过这样的问题:‘在未来一个世纪,这个世界还有什么东西是保持不变的?’实际上我认为第二个问题更为重要,因为知道了它答案后,你就可以围绕那些不变的事物建立一个商业战略......在零售行业,我们是能够确定顾客希望更低的价格,我也知道这一点会在 10 年后成为现实;他们也想让物流变得更快;他们想要更多的选择。你很难想象 10 年后某一天,有顾客跑来跟我说:‘Jeff,我超喜欢亚马逊;我希望你们商品的价格能再高一点’,或者‘我很喜欢亚马逊;我希望你们的物流速度慢一点‘——这是根本不可能的。所以我们将功夫花在这些不变的事物、推动它们的发展,我们知道今天所付出的精力将会在 10 年后为亚马逊的客户带来回报。当你确定了某些事是正确的(即使很长远),就可以为之投入大量精力。”
中国网财经:区块链技术可解决“萝卜章”问题:7月1日,中国网财经刊文称,区块链技术具有解决“萝卜章”问题的先天性基因:不可篡改,可追溯,永不丢失的特性就是各种契约的刚需。如果建立一个大型的契约系统,把电子公章和电子签名的数据上链,并且在系统中通报,那么所有的造假印章将无所遁形。而要达到这个效果,需要区块链技术覆盖到实体经济的方方面面,形成大规模应用和区块链产业整体的发展。到那个时候,腾讯自己就能识别出“萝卜章”了,未来值得期待。[2020/7/2]
——亚马逊创始人兼 CEO Jeff Bezos
这里有一些数据:Coinbase 当前注册用户约 5000 万,罗宾汉(Robinhood)的用户数量大致相当,大多数美国大型银行也是这个数量级。
假设 Coinbase 的战略重点是尽快将它的所有用户都迁移到 DeFi,同时监管环境也支持它。设想一下,Coinbase 能在以太坊上做到吗?
当然,这是一个目前无法回答的问题。在技术上,它不是不能实现,实际上可能性还挺大。但是没有谁或者某个机构可以回答这个问题。原因是什么?
因为没有人真正掌握以太坊未来将会怎么进行扩展。举个简单例子,Vitalik 曾经表示 optimistic rollup 可能是近期到中期最理想的扩展方案,而从长远来看,zk-rollups 则会占主导地位。但是问题来了:这个转折点会在什么时候,以什么方式发生?是否需要开发/重构什么基础设施?这些不同 roolup 之间的资金怎么流动,它对智能合约开发者、钱包、用户、流动性提供者、法币通道等方面有什么影响?
而且,似乎无论哪种扩容方案更加重要,它都不可能是一个整体的实例化(例如单个 Optimism rollup)。以太坊扩容的后果都是异构的。
从长远来看,这样对以太坊来说可能是一件好事。当前的扩容方案都有各自的取舍,并且也不清楚哪种取舍是最好的,或者扩容方案相互组合会更好。因此从长远来看,以太坊生态最好的选择是尝试多种扩容方案,并从中找出哪种方案最适合哪种应用,然后配置桥接、其他互操作性方案以及解决延迟问题。
另外,开发扩容方案的所有团队都获得了充足的资金,已经开始上线和面向用户。因此他们会持续进行开发。
大众日报:区块链技术可对当前疾控预警系统进行优化:大众日报今日发文《疫情防控,区块链能做什么》。文章指出,区块链可以凭借其技术优势对当前疾控预警系统进行优化:1.利用区块链分布式网络机制,改造目前单向逐级垂直的国家传染病上报系统;2.在原有传染病预警响应系统采集传染病报告卡基础之上,加入疾病临床症状等相关数据,利用大数据分析功能,提升对未知新型疾病的预测能力;3.防疫链上数据信息一般情况下只对相关成员开放,必要阶段可开放权限向公众进行信息披露。[2020/3/17]
那么,Coinbase 应该怎么将 5000 万多名用户引入 DeFi 呢?
在如此庞大的用户规模基础上,最重要的一个考虑因素是确定性。任何达到该规模的企业都非常需要现在以及未来的确定性。
大型企业绝对承担不了押注错误技术堆栈的后果,错误的机会成本以及后续迁移/桥接的代价非常巨大。
我认为,现在——或者在未来两年内——能够回应这个问题的唯一区块链协议是 Solana。
所有基于 rollup 的扩容方案(包括分片)都受制于上述困扰。尽管有不少优秀团队(如 Cosmos、Polkadot、Avalanche 等)筹集了数十亿资金进行研究开发,但实际上所有分片系统都没有扩展到大规模(大多数甚至无法正常运行)。即使它们以 PoC(proof-of-concept )共识工作,也需要处理许多新出现的问题(例如交叉分片交易处理失败,交易平台集成等等)。
这里需要明确一点,我并不是指分片和 rollup 无法进行扩容。实际上我对这两种方案持乐观态度。但是,它们在目前没有真正发挥作用,并且会产生许多无法避免的二阶和三阶问题。由于多个相互交织的组件对以太坊进行扩展,一个需要可扩展确定性的大型机构很难在未来两年内得到它想要的(确定性)。
除了上述的不确定性,分散在各个分片和 rollup 之间的应用会产生明显的新型社会协调成本,而这在单分片系统中是不存在的。以下为几个例子:
目前,Layer 1 和各个 Layer 1 之间的区块时间和计算吞吐量有所不同。这一点直接关系到所有管理风险的 DeFi 协议(几乎包括除了 Uniswap/Sushiswap 之外的所有主要组件)的实现方式。其中,一些 DeFi 团队已经承诺在多个 Layer 1 和 Layer 2 部署合约。但是,每个执行环境都需要唯一的风险参数。这会增加每个协议社区所需的社会协调数量,减慢行业发展速度。
声音 | 数秦科技董事长:区块链技术可解决公积金申请和管理效率低下的问题:金色财经报道,中国区块链应用研究中心常务理事、浙江数秦科技有限公司董事长高航表示,解决公积金贷款申请和管理效率低下的有效方案之一,便是以区块链为底层架构,构建基于区块链的公积金服务平台,实现多地数据共享流通。高航认为,基于区块链的公积金服务平台可包括两个部分——公积金贷款平台和联合检测平台。在公积金贷款平台上,贷款人、房产公司、银行、公积金中心等多方用户可在公积金贷款平台进行公积金贷款相关操作。比如,贷款人不管是在本地还是在异地都不用再花精力和时间来回两地确定自己公积金缴存情况,只需要通过平台上填写相应的信息即可申请公积金贷款,对应的公积金中心、银行就可以查询确认购房人的缴存情况。贷款人还能在平台直接下载缴存证明,证明通过使用电子签章二维码等技术手段,保证其合法性和验证的便捷性。联合检测平台可以预防公积金贷款中存在的风险,实现失信人员信息共享。[2019/11/20]
退出 optimistic rollups (ORU)需要较长时间。市场普遍认为做市商会在 rollup 和 Layer 1 之间提供流动性桥梁。但是,该操作的实现细节比较棘手。协议前端应该提供原生支持吗?如果是这样,他们是否应与特定做市商「签约」(例如参考 Citadel Securities 与 Robinhood 签订的 PFOF 合同)?还是把它留给前端用户自己去配置?如果用户想从一个 ORU 转移到另一个 ORU,该怎么办……用户如何传递信号给应用,从而操作 Connext 或 Thorchain 而不是退出到 Layer 1?
对于 Metamask 用户 (他们大部分是高级用户),用户自己管理这么复杂的操作可能比较合理。但是对于试图抽象出复杂性的小众钱包(如 Exodus 或 Argent),这些团队需要花费多少额外的开发时间来解决这些问题?又被迫放弃多少新功能?如果做市商出于某种原因停止在某个桥接/细分市场的流动性,那该怎么办?有哪些备份选项?
必须更新开发者工具来处理新的数据结构(如 ORU 的未处理事务,ZKR 的 zk 输出)。索引和查询层将需要进行重大升级,应用开发人员可能需要重新编写其子图以处理新的数据结构(例如,不可能将 EVM 子图映射到 Starkware 的 Cairo)。开发人员将被迫跨各种异构扩展方案重写大量应用。
声音 | 冯仑:区块链等技术可能深刻影响未来十年房地产行业的发展:7月11日消息,中国企业家俱乐部理事、御风集团董事长、万通集团创始人冯仑表示,人工智能、区块链、云计算、生物生命科学等等,这些东西似乎和房地产关系不大,但就业界来看,这些可能深刻影响未来十年房地产行业的发展。通过数字货币,变成法币,进行这样的交换。这些技术都是在房地产领域、空间领域,交易形式改变以后带来的新机会(36kr)。[2019/7/11]
随着分片和 rollup 数量的激增,开发交易所将变得更具挑战性。这些问题都不棘手,但是它们会减慢开发速度,还会让不想面对这些问题的众多开发人员感到有心无力。
Solana 当前可支持每秒 50,000 笔交易,全球网络节点已经突破 600 个(https://solanabeach.io/)。最重要的一点在于,Solana 提供了无限扩展的可预测路径。由于它可以在 GPU 上并行执行事务,因此可以利用 GPU 并行性带来的巨大增益。
摩尔定律可能是过去 50 年中最重要的经济力量。但是今天它更多呈现出一种假象。
大约 10 到 15 年前,摩尔定律就不适应于单线程计算。因为热量的产生随着时钟速度超线性增加。这就是扇形设备(台式机和笔记本电脑)停滞在大约 3.5-4 GHz,而无风扇设备(电话和平板电脑)停滞在 1.5-2.0GHz 的原因。尽管过去十年来各种优化让单线程性能有所提高,但单线程性能并没有做到每 18-24 个月增加一倍。
在过去的十年,几乎所有的计算收益都来自芯片专业化(FPGA 和 ASIC)和并行计算。现代台式机图形卡通常有 4000 多个内核。上个年代,每张芯片的内核数量一直在按摩尔定律增长,并且这种趋势将持续下去,因为增加的内核数量所产生的热量几乎不影响时钟速度的提升。
Solana 是唯一一个通过 SeaLevel 运行时进行分片内并行计算的区块链 。SeaLevel 在 GPU 本地执行事务。如果 Nvidia 在未来一两年发布 8,000 内核的新型 GPU,Solana 网络的计算带宽将增加大约一倍。
在这个过程中,开发者不用了解,或者不用在乎,也无需更改任何一行代码。
这就是可预测性的定义:开发者今天写好了代码,就知道它会一直生效,而且未来执行代码的成本还比现在低。
现场 | 华为云区块链服务架构师:区块链技术可缩短行业间信任距离:金色财经现场报道,今日在主题为“BaaS构筑区块链服务的可信基石”的区块链服务(BaaS)论坛上,华为云区块链服务架构师张子怡表示,区块链可缩短各行业间信任距离。区块链在技术上减少消耗提高效率,目前除了在金融领域,在其他领域也有较大的潜力,如房屋上链等。[2018/10/10]
这时候,扩展计算的主要物理限制是散热。在字面上,Solana 的扩展性能够做到物理上限。
从表面上看,许多人认为 Solana 协议不够去中心化。当然,他们并没有真正去量化这个说法,但却不断重申这一点。事实到底是怎么样呢?让我们做一些计算,来量化一下各个网络的去中心化程度。
首先我们来看一下硬件成本:
比特币可以在一个价值 25 美元的 Raspberry Pi 上运行,只需要微弱的互联网连接。
以太坊在一台 500 美元的笔记本电脑上运行(考虑到当前的 Gas 价格,这个价格不一定准确),需要宽带连接。
Solana 需要运行在一个 3500 美元左右的服务器,需要千兆网络连接。
下一个主要考虑因素是状态大小。在 50,000 TPS 和数十亿用户的情况下,Solana 的状态大小将会增大。这一点非常好,为什么?因为 1)假定 Solana 运行在可升级存储的服务器(而不是无法升级的笔记本电脑),2)NVMe SSD 通过 RAID 0 线性扩展读写性能,以及 3)多字节 NVMe SSD 不到 300 美元——扩展状态存储的成本和维护成本将会微不足道。
如果读到了这里并且理解了前面的所有内容,那么您使用价格超过 2,000 美元的 Macbook Pro 的可能性就很大了,这也是世界上 5000 万到 1 亿左右的开发者所钟爱的高端计算机。我怀疑对 500 到 1000 美元的硬件进行优化是最理想的做法。那么 500 到 1000 美元价位有什么特别之处呢?
我们来考虑一下硬件需求上限的合理价位。25,000 美元肯定太高,因为开发者没有这种硬件。现在换一种思路,我们不考虑任意的硬件成本,而是从需要多少个节点来实现足够的防审查能力。很明显,这里的「足够」一词本质上是主观的,但是如果您假设需要 100 万个节点,那么自然会产生一个问题:“这个世界上有没有足够多的,价值 3500 美元的服务器和千兆网络连接,让 100 万个节点看起来比较合理?”
考虑一下世界上所有高端硬件的游戏玩家、开发者和企业的数量,我们很难对这个问题进行否定。
所以不能孤立地考虑硬件成本问题,而必须在系统的设计目标范围内去进行考量。
此前我曾经认为区块链应该迎合 DeFi,而不是一味追求最大程度的审查抵抗性(即需要 1 亿甚至 10 亿个节点)。根本没有必要对 25 美元或者 500 美元的硬件进行优化,因为绝大多数人永远都不会运行一个节点。那么,为什么还要费心去优化硬件成本及其基础上的协议呢?
这就来到了弱主观性,同时承认去中心化并没有你想象中那么重要。
这个世界是弱主观性的。意味着什么呢?我们来看一下下面的例子。
回忆一下,你上一次走进一栋高楼的时候,是先对建筑结构进行检查,然后询问建造商,从而确保这栋高楼不会坍塌然后把你埋了?
坐飞机,开车或者在你家的时候,有没有这种想法?
所以说,这个世界的所有事物都基于某种程度的信任。如果每个人都要独立验证所有相关事物的结构完整性,那么这个世界就无法正常运转了。
反过来我们可以认为:世界之所以能够正常运转,是因为每个人都知道已经有许多其他人对系统进行了验证,系统安全的概率非常高。
这就是弱主观性的基本假设。这个理论应用到节点数量的时候,就变成了这个关键问题:在没有运行节点的情况下,用户自己是否可以合理地假设有足够其他参与者和机构运行着节点,从而可以信任该系统?
Solana 目前的节点数量约 600 个,在一年前只有 100 个左右。像其他区块链一样,随着生态的持续发展,节点数量还会随着时间推移而增长。类似于目前的主流区块链,随着时间流逝,越来越多用户采用,传递的价值越来越多,Solana 网络自然会越来越去中心化。
这也是 Qureshi 观点的正确性,并且去中心化并没有你想象中那么重要。很显然,去中心化对审查抵抗至关重要。但目前业界也没有一个清晰的阈值(也没有足够的反面例子可以得出一个结论),而且具体的数值本身并不重要——真正重要的是:1)风险-去中心化程度曲线实际上是反向的 S 曲线,以及 2)我们知道区块链随着时间的推移会变得更加去中心化,因此审查抵抗能力会随之提升。只要区块链去中心化的速度足够快——并且你相信它可以去中心化程度增加的速度——那么用户就能够维持他们所需的审查抵抗性。
图片来源:Haseeb Qureshi《为什么去中心化并没有你想象中那么重要》
于是现在的基本问题变成了:如何分清「本末」?
从 2009 年比特币诞生以后的第一个十年,很显然审查抵抗性、非主权货币是「本」,而其他的应是「末」。
但这个情况正在改变。如今加密货币的使用者会认为,DeFi 会完全重塑金融。因此我觉得「本末」已经反转:如今 DeFi 是「本」,而非主权货币是「末」。
它们两者都需要一定程度的审查抵抗性,但是在技术受限的情况下,最大化 DeFi 效用与最大化系统审查抵抗性之间就出现了一个基本的取舍。
而当系统的基本设计目标发生变化的时候,相关的技术堆栈也需要随之变化。为了将 DeFi 扩展到数十亿用户的规模,每一层堆栈都必须遵从第一性原理,进行重新考量。
致谢:感谢 Hasu 对本文草稿的审核。
附录:以太坊与 Solana 的简单对比
比特币和以太坊在各自的设计中都进行许多假设,最明显的也许要数网络层和执行层。
网络层
在网络层,比特币和以太坊利用八卦协议(gossip protocol)。八卦协议也就是每个节点不加选择地将数据广播到其他每个节点。虽然这可以最大程度地提高审查抵抗性,但却以牺牲一部分性能为代价。按照定义,以高度冗余的方式重新广播数据效率不高,因此无法正确地针对高吞吐量 DeFi 应用进行优化。
另一方面,Solana 发明了一种新的名为涡轮(Turbine)的网络协议,它的灵感来自 BitTorrent 协议。涡轮对效率进行了大幅优化,其工作原理如下:我们来考虑一个 1MB 大小的区块。其中节点不是将整个区块传输给另一个节点,而是将 10KB(占区块大小的 1%)传输到节点 #2 和 #3,然后那些节点将这 10KB 区块重新广播到节点 #4 和 #5,依此类推。然后原始节点向节点#6 和#7 广播另一个不同的 10KB 数据包,随后这些节点将这 10KB 内容重新广播给节点 #8 和 #9,依此类推。此外,该模型的优点在于,随着节点数量的增加,延迟时间以及可用的绝对带宽保持不变。唯一降低的性能是,与大多数其他线性或超线性增加的系统相比,延迟增加了 log(n)(非常亚线性)。
执行层
在执行层,EVM 是单线程计算机。由于任何交易都可以修改全局状态的任何部分,因此为了支持并行性,系统需要某种方式来确保两笔交易不会尝试同时写入同一个状态。EVM 选举根本无法处理该问题,它只能简单地串行执行所有交易。
Solana 是唯一尝试处理分片内并发的协议。它是怎么做到的呢?Solana 的运行时 SeaLevel 要求交易标头指定交易所有的相关状态。借助此信息,SeaLevel 可以确定哪些交易可能发生冲突,并将对其进行序列化。所有不重复的交易都可以并行化,在数千个 GPU 内核中并行运行。
披露:Multicoin 已制定、维持和执行合理设计的书面政策和程序,以识别和有效管理与其投资活动有关的利益冲突。在公开发布后的三天内,Multicoin Capital 对本报告所列资产(“无交易期”)遵守“无交易政策”。Multicoin Capital 持有 SOL 和 ETH 的仓位
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。