摘要:在这篇文章中,我们探讨了为什么 Dapps 通常建立在以太坊而不是比特币上,我们将一直追溯到 2014 年 3 月。我们研究了关于名为 Counterparty 的 Dapp 协议是否以及如何使用比特币区块链的辩论。这有时被称为“OP_Return 之争”。我们解释了比特币中 OP_Return 使用和侧链的历史。最后,无论人们喜不喜欢,我们都认为这是 2014 年比特币开发社区的文化以及将比特币交易数据用于替代用例的负面观点,这在推动这些 Dapps 的开发人员进入以太坊等替代系统方面发挥了重要作用。
我们经常被问到这样一个问题:为什么去中心化交易所等 Dapp 通常在以太坊而不是比特币上?毕竟,当然在比特币之上构建 Dapp 是可能的,例如去中心化交易所、域名系统或替代代币。这当然有几个原因,例如:i. 以太坊更灵活的原生脚本语言使得构建 Dapps 变得更容易;ii. 以太坊更快的出块时间,使 Dapps 更加用户友好,或者 iii. 比特币选择比以太坊更保守的区块大小限制,导致比特币的潜在费用更高。上述所有因素确实产生了影响,但我们认为它们的影响往往被夸大了。最重要的因素是文化。一些比特币爱好者和比特币开发者根本不希望在比特币区块链上进行此类活动,他们成功地阻止了这种活动。这似乎主要发生在 2014 年 3 月左右,而那段时间发生的事情是本文的主题。
正如我们在 2020 年 9 月的报告中提到的,在 2014 年初,Counterparty 推出。Counterparty 是比特币之上的一个协议层,它支持诸如创建新代币和在分布式交易所交易这些代币等功能。该系统通过使用部分比特币交易数据并在交易对手协议中使用它作为一项功能来工作,例如创建代币、发送代币或在分布式交易所上对代币进行市场投标。
更简洁地说,一开始,Counterparty 使用比特币操作码 OP_CHECKMULTISIG 将 Counterparty 相关数据包含到比特币区块链中。该操作码本应用于验证支付脚本哈希 (P2 SH) 多签名交易的签名。可以在此处查看 2014 年 7 月的 Counterpaty 交易示例。该交易将比特币发送回它来自的地址,并且还具有三个额外的输出,其中输出脚本是与交易对手协议相关的数据。在这种情况下,它是创建一个名为 TICKET 的新代币。使用 OP_CHECKMULTISIG 可以被认为是一种 hack,因为这不是操作码的预期用途。Counterparty 现在使用比特币的 OP_Return 操作码来存储数据,这在某种程度上更符合开发人员的意图。例如,请参阅这个更新的 Counterparty 交易,它使用 OP_Return。
Polkastarter发布Q2季度回顾:23个共筹集460万美元:官方消息,融资平台Polkastarter发布Q2季度回顾,在以太坊、BSC和Polygon上,第二季度23个IDO共筹集460万美元。[2021/7/6 0:31:31]
在 2014 年初,围绕 Counterparty 进行了大量的实验、开发者活动、创新和兴奋,其领先于一个名为 Mastercoin 的竞争对手平台。
OP_Return 是比特币中可证明不可花费的交易输出。该功能可用于燃烧比特币或在比特币区块链中存储任意数据。由于数据不是 UTXO 集的一部分,因此据说以这种方式存储数据有助于扩展比特币,因为参与剪枝的节点不需要存储 OP_Return 数据。
比特币的共识规则允许最大 10,000 字节的 OP_Return 大小。例如,2013 年 5 月,有人在以下交易中利用了此功能。此交易中的 OP_Return 输出包含 Rick Astley 1987 年歌曲“Never Gonna Give You Up”的歌词,该歌曲与 Rickrolling meme 相关。
在 2014 年之前,包含 OP_Return 的交易是非标准的,不被普通比特币节点中继。但是,如果矿工包含这些交易,则它们被认为是有效的。2014 年 3 月,Bitcoin Core 0.9.0 发布,其中包含 OP_Return 功能作为标准交易类型,因此交易将默认中继。当时的发行说明如下:
此更改不是对在区块链中存储数据的认可。OP_RETURN 更改创建了可证明可修剪的输出,以避免数据存储方案(其中一些已经部署)将任意数据(例如图像)存储为永远不可用的 TX 输出,从而使比特币的 UTXO 数据库膨胀。在区块链中存储任意数据仍然是个坏主意;将非货币数据存储在其他地方成本更低,效率更高。
来源:https://bitcoin.org/en/release/v0.9.0#opreturn-and-data-in-the-block-chain
Bitcoin Core 0.9.0 只会中继 OP_Return 为 40 字节或更少的交易,如果数据大于此,它仍然是有效的交易,但不会被中继。最初的限制是 80 字节,但经过多次争论,开发人员最终选择了 40 字节。
波卡回顾上个月客户端事故 系内存不足导致:6月7日消息,Polkadot官方发文回顾,5月24日要求波卡验证节点将客户端降级至0.8.30版本事故,系内存不足导致。Polkadot表示,在试图构建区块5202216时因内存不足(OOM)错误而失败。该区块包含验证人选举的链上解决方案,该解决方案通常是在链下计算的,只有在没有提交链下解决方案的情况下才会在链上进行。由于提名者的数量众多,选举溢出了Wasm环境中分配的内存。为解决这个问题,当时验证者被要求暂时将他们的节点软件降级到至0.8.30版本并且使用「--execution=native」命令。该本地版本不受Wasm内存分配器的限制,网络在70分钟停机后恢复。之后在5203204区块,几个节点因「存储根不匹配」错误而失败,这是由于构建本地运行时和链上Wasm运行时的编译器版本不同造成的。解决方案是用一个具有正确编译器版本的Wasm运行时来覆盖链上Wasm运行时。Polkadotv0.9.3版本上线后修复了该类问题,Polkadot表示未来可能会支持4GB的Wasm分配内存。现在选举必须在链下进行,并且禁用链上选举。在分配器被改进之前,链下工作者将使用比链上Wasm运行时更高的内存限制确保链下选举不会耗尽内存并能成功提交。另外,Polkadot将确保本地和Wasm构建中使用相同的编译器版本。[2021/6/7 23:18:48]
2016 年,Bitcoin Core 0.11.1 最终将中继限制增加到 80 字节,并在 2016 年底的 Bitcoin Core 0.12.0 版本中增加到 83 字节,即我们今天的限制。这意味着,如果今天想要一笔 OP_Return 输出超过 83 字节的交易,则必须自己挖掘区块或直接发送给矿工。
2014 年 3 月 20 日,当时比特币的主要贡献者之一 Jeff Garzik 开始在 Bitcointalk 论坛的 Counterparty 版块上发帖。Jeff 批评了 Counterparty 对区块链空间的使用。
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5796379#msg5796379?
Jeff 接着说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827189#msg5827189?
Block.one发文回顾近期EOSIO版本更新:Block.one近日发布EOSIO版本最近更新回顾,并表示将在发布最新版本的同时,对早期版本进行各种 Bug修复和稳定性更新补丁。
1. EOSIO-explorer v1.2.0:2020年5月5日,发布eosio-explorer v1.2.0,并将其更新为EOSIO v 2.0.5。
2. EOSIO v 2.0.5:2020年4月21日,发布EOSIO v 2.0.5。此版本中的更新包括安全性,稳定性和其他更改。
3. EOSIO-swift v0.4.0:2020年4月14日,发布 eosio-swift v0.4.0。
4. Elemental Battles(元素之战):2020年4月27日,发布Elemental Battles v1.1.12,并将其更新为 EOSIO v 2.0.5。(MEET.ONE)[2020/6/18]
有人可能会认为 Jeff 有这种观点很奇怪,因为在 2017 年他似乎是“大区块支持者”,而且这种关于保守使用区块空间的观点似乎与大区块观点不一致。然而,这种明显的矛盾在 2014 年根本没有出现。当时 Jeff 的观点在一定程度上得到了当时几乎所有活跃的开发者的认同,包括后来成为大区块头头的那些。据我们所知,人们对区块大小限制的看法和这个问题之间根本没有简单的映射。Jeff 当时是一位备受尊敬的开发人员,这篇文章引起了 Counterparty 开发人员和用户的极大关注。
一位化名为“BitcoinTangibleTrust”的 Counterparty 开发人员回复 Jeff 如下:
开发人员继续批评比特币开发人员计划将 OP_Return 限制为 40 字节而不是 80 字节:
名为“PhantomPhreak”的首席 Counterparty 开发人员和联合创始人插话道:
第二天 Jeff 回应:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5815887#msg5815887?
由于 Jeff 在社区中的地位很高,Counterparty 社区中的大多数人似乎都热衷于参与并解决该问题。例如,BitcoinTangibleTrust 回应说:
动态 | 港交所发布2018年回顾,提及区块链相关内容:据香港交易所官方微信号消息,12月21日,香港交易所发布2018年回顾。其中“创新”一项下提到,与领先的分布式分类账技术公司Digital Asset携手协作,探讨为沪股通及深股通交易建立以区块链驱动的交易后分配和处理平台的可行性。[2018/12/21]
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5816031#msg5816031?
另一位 Counterparty 开发人员提出了另一点:
如果比特币开发者没有办法阻止交易对手相关交易,或许这种反对并不重要,Counterparty ?可以在未经许可的情况下继续使用比特币。比特币开发商和当时的矿池运营商 Luke-Jr 随后进入了辩论:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5816503#msg5816503?
Luke-Jr 然后建议可以使用合并挖掘的侧链类型结构来构建这些类型的系统,这可以避免区块链膨胀。
问题不在于新的层,而是违背人们的意愿强加于人。新层可以在选择加入的基础上完成,而不会污染区块链并迫使非参与者存储数据。
Luke 还被问到为什么比特币开发人员将预期的 OP_Return 中继大小减少到 40 字节,而最初提出的限制是 80 字节。Luke 回应了以下三点:
太多的人认为 OP_RETURN 是一个功能,应该被使用。它从来没有这样的意图,只是一种“让窗户保持解锁状态,这样当有人闯入时我们不需要更换玻璃”的方式。也就是说,减少人们滥用比特币造成的损害。
40 个字节足以满足将数据绑定到交易的所有合法需求:您获得 32 个字节用于哈希,再加上 8 个字节用于某种唯一标识符(这实际上也没有必要!)。
最初的 80 字节提案旨在用于 512 位哈希,但被确定为没有必要。
Luke-Jr 继续说道:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5817170#msg5817170?
回顾丨上周热点事件:“投票”、“反弹”、“风险”排名前三:根据火币区块链大数据周度数据洞察,上周热点事件排名前三的为“投票”、“反弹”和“风险”。其中“投票”主要涉及EOS超级节点的投票,以及币安投票上币等;“反弹”主要反映经历上周币价的暴跌后,本周币价有所反弹;“风险”相关话题主要集中在:1、由于比特币价格下跌和算力增长导致的挖矿风险,2、EOS主网上线后技术漏洞风险,3、场外交易风险(银行卡冻结等)。[2018/6/25]
Luke 当时的矿池也开始过滤掉 Counterparty 相关的交易。此时恐惧和不确定性开始在 Counterparty 社区中建立。他们需要 OP_Return 为 80 字节,否则他们将被迫继续使用 OP_CHECKMULTISIG 操作码。鉴于 Luke 的评论,它似乎不太可能达到 80 字节。除此之外,一些人担心开发人员甚至会进一步降低限制,可能会导致 Counterparty 脱离网络。比特币开发者似乎对 Counterparty 不是特别友好,因此有些人可能认为继续使用比特币协议可能很困难。
2014 年 3 月 25 日,以太坊的主要创始人 Vitalik Buterin 插话,他认为辩论应该更多地围绕费用,如果你支付足够的费用,那么你的交易应该被合法地包括在区块内。今天,以太坊的费用算法非常复杂,对于许多不同的区块链用途有不同的费用桶和费率,这从根本上解决了 OP_Return 问题。有人可以争辩说,比特币上的 SegWit 也在一定程度上缓解了这个问题。
这是协议的错误,OPRETURN 战斗就是这样一个问题。在理想的世界里,“虐待”的概念根本不存在;费用将是强制性的,并经过精心设计,以密切匹配给定交易对网络施加的实际成本,”他说。“如果你可以为你正在做的事情支付费用,那么你应该能够做到,不问任何问题。”
来源:https://www.coindesk.com/markets/2014/03/25/developers-battle-over-bitcoin-block-chain/?
2014 年 3 月 27 日,Counterparty 改变了交易方式以绕过 Luke-Jr 的挖矿过滤器。然而,第二天 Luke 评论说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5955613#msg5955613?
Luke-Jr 还将 Counterparty 比作一种滥用形式:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5826443#msg5826443?
正如人们所预料的那样,比特币开发者的担忧最终遭到了一些 Counterparty ?开发者和用户的沮丧和愤怒。我们在下面包含了他们的一些评论。首先来自一个名为“porqupine”的用户评论 Luke-Jr 的矿池阻止 Counterparty ?交易:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5955738#msg5955738?
2014 年 3 月 21 日,porqupine 继续说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5826584#msg5826584?
其他人表示担心为什么 Jeff 和 Luke 有权越过其他人来阻止某些用例。
我无法相信这种态度。我不知道比特币有所有者。我以为我和大约一百万其他人是所有者?
Counterparty 的联合创始人 PhantomPhreak 说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5826770#msg5826770?
他或她继续说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827473#msg5827473?
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827688#msg5827688?
另一位名为“bitwhizz”的用户说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827897#msg5827897?
“Anotheranonlol”说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827776#msg5827776?
“Baddw”说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827749#msg5827749?
Baddw 接着说:
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5827925#msg5827925?
从这些评论中可以清楚地看出,许多 Counterparty 用户和开发人员对比特币开发人员的立场感到惊讶和失望。尽管该项目继续进行,Mastercoin 也是如此,但很可能,无论好坏,一些开发人员因此离开了比特币,转而在其他区块链系统(如以太坊)上构建他们的协议。在我们看来,正是这个 2014 年的时刻比其他任何时刻都更重要。但是,其他人可能有不同的看法。
在整个 OP_Return 辩论中,Counterparty 和区块链膨胀的反对者通常提到某种形式的合并挖矿侧链作为 Dapps 的解决方案。实际上,据说中本聪喜欢这条道路,并且据说在 2010 年 12 月支持它用于域名系统:
来源:https://bitcointalk.org/index.PHP?topic=1790.msg28696#msg28696?
将这些 Dapp 系统作为侧链实施存在许多困难,与 2014 年相比,我们对这些弱点的理解比 2014 年更好,当时许多人只是认为它们可以工作。
复杂性——最重要的弱点之一是实施和构建侧链解决方案的复杂性。为了早日推出协议并赢得市场份额,这些项目没有时间建立侧链和与比特币的合并采矿系统。
比特币作为原生资产——可能无法将非托管比特币作为侧链上的运营资产,因为可能无法建立无需信任的双向挂钩。对于许多 Dapps 来说,这是一个很大的弱点,例如他们可能希望使用比特币作为分布式交易所的主要交易对。这个弱点在 2014 年似乎并没有得到很好的理解,许多人只是假设它可以以某种方式起作用。
有限的扩展优势——使用侧链的优势可能因用例而异。例如,如果要建立一个分布式交易所,每一次出价、出价和匹配都可能需要主链的所有安全保障。有了这么多的主链使用,对于每个用户在交易所的每一个可能的动作,侧链系统的扩展优势可能非常有限。在链上本地提交投标可能只使用大约 90 个字节,而存储订单信息的散列以及需要识别的结构和开销可能在链上大约 50 个字节,因此不会节省太多空间。
2014 年 3 月,Counterparty 开发者 (xnova) 概述了他对侧链的反对观点如下。
来源:https://bitcointalk.org/index.PHP?topic=395761.msg5799174#msg5799174?
似乎一些支持侧链作为解决方案的人对许多 Dapp 应用程序并不特别感兴趣,也没有尝试过它们。因此,他们从未考虑过构建分布式交易所的复杂性,以及每个用户的几乎每一个动作都需要安全性。大多数比特币开发者似乎对他们感兴趣的东西很开放,并且很清楚他们想要什么:抗审查货币、非货币、电子现金等……
2014 年左右之后,大多数对 Dapps 感兴趣的开发人员都专注于在以太坊或其他系统上构建,而不是在比特币上。以太坊随后获得了大量开发者的兴趣和动力,而比特币上的 Dapp 开发则很少。这篇文章的重点是要强调,造成这种情况的主要驱动力不是必要的费用,也不是以太坊的虚拟机和以太坊更强大的技术能力,只是很多比特币人和比特币开发者不想要比特币上的 Dapp,他们对比特币不感兴趣。这些功能。无论好坏,一些 Bitcoiner 故意将这些 Dapp 开发者中的许多人赶走。一些比特币支持者认为,大多数 Dapp 活动都与不可持续的局有关,或者出于安全或其他原因,这种活动在比特币上是不可取的。
自 2014 年以来,许多人的观点发生了变化。比特币需要交易费才能生存。在 2016 年后的环境中,我们有许多完整的区块和更高的费用,人们更普遍地认为,任何付费交易都是“合法的”。以太坊上的某些 Dapps,例如 Uniswap 等交易所,或 AAVE 和 Compound 等借贷协议,在某种程度上已被证明既成功又有趣。尽管如此,比特币人是否足够关心比特币上的这些协议,更不用说是否有人真正构建和使用它们,仍然是一个悬而未决的问题。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。