摘要:在这篇文章中,我们探讨了为什么 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。
在 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 字节。
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
欢迎光临 优惠论坛 (http://www.tcelue.tv/)
Powered by Discuz! X3.1