该网站中文内容是英文原作的译文,大多依赖 AI 翻译,尚未认真校对。请访问英文网站获取原作准确内容。在中文页面的网址 zh.zemgao.com/... 中去掉 zh. 其它部分保持不变,刷新页面, 即可到相对应的英文页面。
比特币和以太坊之间最大的结构和元素差异是,前者使用未消耗的交易输出(UTXO),而后者使用基于账户的模式。
UTXO就像现金,即每张钞票或硬币都是相互独立的。 只要一张美元钞票本身是真实的,转账的有效性是绝对的,不取决于单独的会计[1]。
相比之下,基于账户的系统就像银行信贷货币。当事人承认信贷的名义有效性,但在系统中的所有账户被核对之前,交易不会被结算。
事实证明,UTXO在几乎所有方面都优于基于账户的系统[2]。
以太坊的发明者为什么选择基于账户的系统,而比特币的UTXO已经被证明了一段时间,这是一个谜。 Vitalik Buterin想要一个有虚拟机运行智能合约的世界计算机。 但他被错误地告知,比特币不能做智能合约,也不能做虚拟机,部分原因是其UTXO机制。 这是他开始的推测。 此外,鉴于他当时对经济和货币体系缺乏了解,而编码者往往以账户为单位进行思考,基于账户的思考似乎很自然,甚至是不可避免的。
事实上,直到今天,大多数人甚至是开发人员仍然没有意识到这个选择是多么的不幸。 它使以太坊从根本上无法扩展(如果你希望第2层能解决扩展性问题,请看下面的更多讨论,也请阅读。第2层的解决方案,以及更多关于L2的解决方案)。
回溯到源头(B2G)问题
在某些情况下,代币的接收方可能不仅需要当前转账的有效性,而且还需要追溯到代币发行的第一笔交易的整个历史的有效性。 这种需求对于不可伪造的代币(NFT)来说特别常见,因为NFT的价值往往取决于其独特性。
这被称为 “从头到尾”(B2G)。
直到最近,人们一直认为以太坊基于账户的系统在NFT代币的实施中确实比比特币的UTXO有一个优势,这要归功于其内置的B2G解决方案与代币追踪和认证能力。 相比之下,比特币的代币来源验证方案就不那么直接了。 虽然原生的比特币代币,即satoshis,不存在这个问题,但比特币区块链上的其他代币可能需要一些额外的努力才能被追踪到。 例如,NFT的接收者可能需要依靠一些第三方服务来证明其唯一性和真实性。
原生代币比特币本身没有这个问题,因为(1)比特币是可替换的,通常不需要特定的代币追踪,而只需要基于UTXO的核算;(2)采矿节点的链上验证本身就为比特币提供了B2G验证。
另外,对于基于链外代币逻辑的第二层(L2)类型的代币,在设计上已经使用链外服务进行代币发行和管理,B2G验证也可以由系统中已有的神谕提供。
然而,对于基于链上令牌逻辑的L1或L0类型的令牌(因此不使用链外甲骨文只是为了管理令牌逻辑),B2G是一个不简单的问题,因为它可能需要一个甲骨文来单独实现这个目的,毕竟。(注意:这并不意味着L1和L0令牌比L2令牌差。 这只是让他们 “没有神谕 “的说法变得不那么可靠。 此外,对于STAS这样的L0代币,可能只需要一个被动的索引器来提供B2G服务,而且可以说这样的索引器不需要像普通的神谕者那样的信任程度)。
不管怎么说,B2G是以太坊迄今为止比比特币更干净的解决方案。
该解决方案
最近,nChain和sCrypt为B2G问题提供了一个漂亮的解决方案。 请看在比特币上 使用交易链证明和可扩展的点对点代币 解决背对背问题。
该解决方案是有效的,也是重要的。 它更证明了比特币的UTXO由于其根本上更有效的设计而优于以太坊,或任何基于账户的系统。
B2G证明是唯一基于账户的似乎比UTXO有优势的地方。 现在连这一点也没有了。
因为在UTXO中,推导B2G所需的知识所需的信息 是存在的 ,只是要想出一个有效的方法来计算所需的知识而已。 sCrypt之前提出的一种方法已经奏效,但它有一个累积数据大小的包袱。现在,使用递归的zk-SNARKs,nChain和sCrypt给了世界一个完美的解决方案。
新方法的本质是,它不需要在链上的每一笔交易中携带计算B2G所需的全部累积数据,而是只计算并在链上的交易之间传递一个非常小的 “证明数据”。 该 “证明数据 “不仅体积小,更重要的是不会随着交易数量的增加而增加。
此外,”证明 “的计算和传输都严格属于UTXO的性质(意味着可并行化),可以真正实现点对点,甚至离线,并且与简化支付验证(SPV)兼容。
该方法增加的唯一经济负担是计算证明,这些证明是基于算法和数学性质的。 证明的计算可以由用户、钱包或第三方服务提供商在链外完成,而挖矿节点进行常规的链上验证,其成本要低几个数量级。
重要的是,由于证明是纯数学的,可以在没有信任的情况下进行验证,使用第三方计算证明不会引入需要信任的中介。 例如,当该方法应用于L0或L1代币时,它不会改变代币的链上性质,因为证明的计算不会引入需要信任的中介,也不会像许多为不可扩展的区块链建立的链外解决方案那样,形成一个新的网络,有自己的网络安全漏洞。
从抽象的角度来看,B2G问题有这样一个漂亮的解决方案并不奇怪,因为B2G所需的信息肯定存在 于UTXO的链中。一个基于账户的系统并不比UTXO有更多的信息。它只是内置了B2G,无论用户是否需要它。 但这是一个缺点而不是一个优点。
以太坊的支持者会问,”为什么以太坊做内置B2G是一个缺点,而比特币最新的B2G解决方案需要额外的计算?” 这听起来像是一个合乎逻辑的问题,但它是基于一个错误的前提。 具体来说,这个问题假设以太坊不为其内置的B2G做计算。 事实恰恰相反。 以太坊不仅必须为其内置的B2G做计算,事实上,它是以最没有效率的方式做的,要求整个系统在同一时间进行所有账户对账,不管用户是否需要,或者谁可能需要,谁可能不需要。 总的来说,它是在系统中作为一个基础操作完成的,而系统用户要付出代价。 有没有想过为什么以太坊的气体这么贵?
UTXO优于基于账户的
随着唯一的所谓优势消失,基于账户的模式的缺点变得更加清晰,更加暴露。 B2G只是多了一个证明。
这两个系统之间的差异是广泛而根本的。
这就像两种表达相同数量信息的不同语言,只是其中一种(基于账户)以失去字母、最基本的语言构件为代价,做出了表面上容易理解的表达,而另一种(UTXO)只从说话的基本构件开始,但将更高级、更具体的表达方式开放给用户,让他们在需要的时候、在他们需要的程度上自由、独立地创造。
从根本上说,如果把UTXO视为基元,所有与账户有关的知识都可以从基元中推导出来,而且可以利用基元做出无限多的构造。
UTXO之间的独立性使系统有可能同时拥有计算的并行化和工作负荷分配的灵活性。 与基于账户的系统相比,这是 “遗传 “上的优势,因为后者始终是一种没有独立基元的高级 “表达”。
计算的并行化是使系统可扩展的原因。 有了真正独立线程的并行化,系统可以有无限制的可扩展性,因为对规模的任何进一步需求都可以简单地通过增加更多相同的计算设备相互并行运行来满足,而不会遭受非线性的复杂化,如累积延迟、指数级的复杂性和不断增长的同步困难。
工作负载分配的灵活性是指系统只在需要工作时执行工作(或要求网络中的成员和用户执行工作),而且只由作为工作受益者的一方执行。 只有必要的共同工作才由系统集体执行。
比特币具有固有的并行化和最佳的灵活性。 这就是为什么比特币(不是BTC,而是由中本聪设计的)具有无限制的可扩展性,以及极高的效率(转化为极低的交易成本)。 BTC,一个被人为扭曲的比特币的实现,没有规模,但这是另一个原因。 看,BTC和BSV,真正的区别是什么?
相比之下,以太坊为其基于账户的设计付出的一个很大的代价是失去了计算的并行化,从而失去了可扩展性。
自由与控制,以及市场经济与计划经济
在更广泛的意义上,UTXO和基于账户的区别是自由市场经济和社会主义计划经济之间的区别。 前者是关于效率、自由和不受约束的个人创造力,但后者则是关于控制。
考虑到比特币的发明者和以太坊的发明者不同的意识形态信仰和对经济的不同理解,这也不足为奇。
这涉及到经济学的一个更广泛的问题。
应该由市场来统治系统,还是由市场来统治系统?
关于整个国家层面的经济体系,在过去的150年里,我们有过两种意识形态相互争斗的历史,即市场经济与计划经济。 这场斗争一直持续到今天,但并不是因为后者显示出了任何效力,而是因为许多人对这种意识形态念念不忘,不愿放弃尝试。 有一些关于 “社会控制 “的东西对人类本性具有独特的吸引力。
所有的社会主义制度都惨遭失败。 最后一个大的社会主义体系,即中国,通过在名义上保持社会主义,但在现实中促进市场经济,甚至比美国的市场经济更不受管制,取得了经济上的成功。
在区块链领域也存在同样的冲突。 这种冲突从14年前就开始了,而且还在不断加深。 起初是中本聪的自由竞争比特币与小区块的社会限制,然后是UTXO与基于账户的模式之间的对比,以及PoW与PoS之间的对比。 尽管这些冲突并没有公开宣称是市场经济与计划经济的斗争,但在本质上却是。
因此,在一个人把生命的大部分时间交给一个系统之前,最好先考虑一下潜在的哲学和意识形态,并根据你的信念选择一个阵营。
进一步考虑
(1) 你不会把所有的货物放在一个巨大的集装箱里,让整个系统无时无刻、无处不在地承担重任。 但这正是基于账户的以太坊对其挖矿节点和验证器的做法,导致其系统的效率大大低于比特币。
(2) 此外,你应该把工作量和对灵活性的需求放在那些真正从实施中受益的实体上(比如钱包或服务提供商,而不是采矿节点),这样,当只有一些 用户需要结果时,整个生态系统就不必承担负担。 这是常识性的分配灵活性,但像以太坊这种基于账户的模式,在设计上剥夺了系统的能力。
(3) 但更糟糕的是,最终,人类的经验告诉我们,在一个系统中,有权力但负担过重的一方总是通过作弊找出一条出路,同时保持表面的公平性。 看吧,Ethereum正在进行PoS,你应该知道真正的原因,以及不可避免的结果。 请看工作证明(PoW)是防止腐败的唯一途径;以及切换到PoS–以太坊的预测腐败。
(4) 你只在需要特定知识的时候为其进行计算,而不是在整个系统中无论你是否需要,总是为其进行计算。 这又是一个常识,但以太坊由于其基于账户的设计而使之成为不可能,因为基于账户意味着一切都有联系,你不能只计算其中的一部分而能够确定所有账户的状态。
(5) 最重要的是,你必须有并行化,以便于扩展。 当涉及到可扩展性时,它不仅仅是一个优势。它是基本的和必须的。
(6) 所以你希望分片可以解决这个问题。它不会的。使用分片法创建100万个小以太坊是很容易的,但要创建一个由1000个分片组成的可扩展的以太坊是完全不同的,这些分片必须完美地同步 在一起,使一个巨大的基于账户的系统工作。 而且,困难程度、复杂性和脆弱性随着分片数量的增加而成倍增加。 最终,这是不可能的,因为世界需要无限制的可扩展性(见第1层可扩展性),而以太坊不可能有无限数量的分片。
(7) 如果你把希望放在以太坊的第2层解决方案上,请阅读。第2层解决方案,以及更多关于第2层解决方案。
对Ethereum开发者的呼吁。
现在是时候回到UTXO,并一路走到比特币(BSV,而不是BTC)。 由其发明者中本聪设计的原始比特币区块链(不是BTC)具有无限制的可扩展性和极低的交易成本(已经低于0.0001美元,甚至会更低),具有完整的智能合约和代币化能力,可以承载任何以太坊应用程序,交易成本低几万倍,并准备与IPv6整合,成为新互联网与物联网的一部分。
使用Transpiler将Solidity脚本自动转换为比特币脚本,使迁移变得容易。创新的Transpiler使重构比重新编码容易很多倍。
在科学上,当基于UTXO的比特币被证明是可扩展的(不是BTC)时,像以太坊这样基于账户的系统就没有存在的空间了。 nChain和sCrypt的最新工作就是更多的证明。
目前的市场份额并不是科学的证明。
现在是时候承认以太坊是一个基础性错误了。
脚注。
注[1]。比特币比现金更好。与实物现金不同,比特币具有可追溯性,同时仍然保护隐私。见匿名性和隐私。如果比特币被视为可替换的,即使在每笔交易中混合了多个输入和多个输出,依法追踪也是可能的;同时,比特币可以使用分层的确定性钱包来创建无数的一次性地址,并使未经授权的各方无法识别和追踪用户,特别是小额支付的用户。当涉及到资产管理和法律合规时,这是一个优势。见Taproot。建立一个混合器。
注[2]。 这可能有点违反直觉,因为人们倾向于认为,与现金系统相比,银行账户系统是一个更现代、更先进的系统,后者可能在现场很方便,但与现代数字系统不兼容。但这恰恰是比特币作为“电子点对点现金系统 “的发明是如此重要的原因之一。 比特币是现金,但同时也是电子。它是现金,因为比特币的设计,特别是防止重复消费,赋予了比特币独特的 “物理性”,所以它接近于传统的现金不记名工具(见比特币作为一种金融工具);但同时它又是电子的,因此有可能享有现代数字技术的所有权力。 结合两个不同世界的最佳特征–物理和数字–使比特币具有独特的力量。