摘要:在这篇文章中,咱们探讨了为什么 Dapps 一般树立在以太坊而不是比特币上,咱们将一直追溯到 2014 年 3 月。咱们研究了关于名为 Counterparty 的 Dapp 协议是否以及怎么运用比特币区块链的争辩。这有时被称为“OP_Return 之争”。咱们解说了比特币中 OP_Return 运用和侧链的前史。最终,不管人们喜不喜欢,咱们都以为这是 2014 年比特币开发社区的文化以及将比特币买卖数据用于替代用例的负面观念,这在推动这些 Dapps 的开发人员进入以太坊等替代体系方面发挥了重要作用。

回顾历史 比特币为什么在 Dapp 争夺战中输给以太坊

概述

咱们经常被问到这样一个问题:为什么去中心化买卖所等 Dapp 一般在以太坊而不是比特币上?毕竟,当然在比特币之上构建 Dapp 是或许的,例如去中心化买卖所、域名体系或替代代币。这当然有几个原因,例如:i. 以太坊更灵敏的原生脚本语言使得构建 Dapps 变得更容易;ii. 以太坊更快的出块时刻,使 Dapps 更加用户友爱,或许 iii. 比特币选择比以太坊更保存的区块巨细约束,导致比特币的潜在费用更高。上述一切要素确实发生了影响,但咱们以为它们的影响往往被夸张了。最重要的要素是文化。一些比特币爱好者和比特币开发者底子不期望在比特币区块链上进行此类活动,他们成功地阻挠了这种活动。这好像首要发生在 2014 年 3 月左右,而那段时刻发生的作业是本文的主题。

Counterparty 协议

正如咱们在 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?

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 字节的买卖,则有必要自己发掘区块或直接发送给矿工。

OP_Return 战争

2014 年 3 月 20 日,其时比特币的首要贡献者之一 Jeff Garzik 开端在 Bitcointalk 论坛的 Counterparty 版块上发帖。Jeff 批评了 Counterparty 对区块链空间的运用。

迄今为止,我还没有看到无法用简略的哈希安全替换的区块链数据转储计划。您不需求将数据存储在区块链中。那纯粹是智力上的懒散。时刻戳哈希(数据)相同安全,一起更有用。此外,一条二级链能够被证明与比特币挂钩:

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5796379#msg5796379

Jeff 接着说:

CheckMultiSig 显着适用于 ECDSA 公钥,而不是恣意数据。将操作用于其预期意图以外的某些作业会发生负面的、或许是意外的或未知的后果,这家常便饭。Counterparty 买卖不是“依据比特币协议”,它们会通过,由于它从未期望以这种方法运用该功用。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5827189#msg5827189

有人或许会以为 Jeff 有这种观念很奇怪,由于在 2017 年他好像是“大区块支撑者”,而且这种关于保存运用区块空间的观念好像与大区块观念不一致。可是,这种显着的矛盾在 2014 年底子没有出现。其时 Jeff 的观念在必定程度上得到了其时简直一切活泼的开发者的认同,包含后来成为大区块头头的那些。据咱们所知,人们对区块巨细约束的观念和这个问题之间底子没有简略的映射。Jeff 其时是一位备受尊敬的开发人员,这篇文章引起了 Counterparty 开发人员和用户的极大重视。

一位化名为“BitcoinTangibleTrust”的 Counterparty 开发人员回复 Jeff 如下:

你是绝对正确的。您不需求将数据存储在区块链中。时刻戳哈希(数据)相同安全,一起更有用。一条二级链能够被证明与比特币挂钩。可是,依据下面 PhantomPhreak 的 [Counterparty 联合开创人和首席开发人员] 的阐明,Counterparty IS 在每三个多重签名买卖之一中运用 256 个字节在区块链中存储数据。此外,一切这些多重签名买卖都由矿工处理。

开发人员持续批评比特币开发人员计划将 OP_Return 约束为 40 字节而不是 80 字节:

假如 OP_RETURN 旨在停止/削减多重签名行为(未运用的输出)并因而削减区块链胀大,那么我忧虑通过将 OP_RETURN 的巨细从 80 字节削减到 40 个字节,您会无意中使多重签名对一切元协议更具吸引力,而您 ' 现已使 OP_RETURN 的吸引力降低了。

名为“PhantomPhreak”的首席 Counterparty 开发人员和联合开创人插嘴道:

这个主意是咱们将数据存储在第二个区块链中,并将该时刻戳数据的哈希值放入比特币中,这些哈希值也将小于 40 字节。咱们没有这样做的原因不是“智力上的懒散”,而是完结的复杂性。Counterparty 不是计算机科学的项目;为了提高开发速度,它被规划得尽或许简略。即使咱们有必要将数据存储在多重签名输出中,而不是太小的 OP_RETURN 输出中。在这个领域,更糟肯定更好。

第二天 Jeff 回应:

这便是搭便车。鉴于绝大多数(>90%)比特币区块链的应用是钱银运用,运用全节点作为哑数据存储终端仅仅在乱用全自愿网络资源。网络仿制买卖数据,为什么不搭便车呢?mastercoin 和 Counterparty 并没有参加现有的社区,而是简略地按下“敞开”开关并开端运用比特币 P2 P 节点作为不需求的数据存储。未运用的买卖输出决不计划用作恣意数据存储。它能够被乱用的现实并不能使它正确,或长途有用,或最佳解决计划。UTXO(未运用的买卖输出)数据库是全网的快速访问数据库。每个节点都需求该数据库尽或许小,以便最好地处理网络业务。将恣意数据编码为未运用的输出是网络范围内的乱用,简略明了。整个网络承担这个代价。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5815887#msg5815887

由于 Jeff 在社区中的位置很高,Counterparty 社区中的大多数人好像都热衷于参加并解决该问题。例如,BitcoinTangibleTrust 回应说:

感谢您共享您的主意,Jeff。那么,你会帮助咱们开端与现有的比特币核心开发社区互动吗?充任负责任的协作伙伴契合 Counterparty 的利益,由于假如咱们要生存,咱们就需求比特币区块链。您能告诉咱们怎么开端就这些问题展开协作吗?

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5816031#msg5816031

另一位 Counterparty 开发人员提出了另一点:

比特币协议有没有办法阻挠 XCP 运用它的方法,而不会破坏其他任何东西?

假如比特币开发者没有办法阻挠买卖对手相关买卖,或许这种反对并不重要,Counterparty  能够在未经许可的状况下持续运用比特币。比特币开发商和其时的矿池运营商 Luke-Jr 随后进入了争辩:

矿工应该过滤掉乱用行为。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5816503#msg5816503

Luke-Jr 然后主张能够运用兼并发掘的侧链类型结构来构建这些类型的体系,这能够避免区块链胀大。

问题不在于新的层,而是违反人们的志愿强加于人。新层能够在选择加入的基础上完结,而不会污染区块链并迫使非参加者存储数据。

Luke 还被问到为什么比特币开发人员将预期的 OP_Return 中继巨细削减到 40 字节,而开始提出的约束是 80 字节。Luke 回应了以下三点:

  1. 太多的人以为 OP_RETURN 是一个功用,应该被运用。它从来没有这样的意图,仅仅一种“让窗户保持解锁状态,这样当有人闯入时咱们不需求替换玻璃”的方法。也便是说,削减人们乱用比特币形成的损害。

  2. 40 个字节足以满意将数据绑定到买卖的一切合法需求:您取得 32 个字节用于哈希,再加上 8 个字节用于某种唯一标识符(这实际上也没有必要!)。

  3. 开始的 80 字节提案旨在用于 512 位哈希,但被确定为没有必要。

Luke-Jr 持续说道:

期望跟着挖矿回归去中心化,咱们将看到对乱用/垃圾邮件买卖的容忍度降低,不管是 OP_RETURN 变体仍是其他变体。现在,假如有人有一个有用的、必要的用例来实际存储带有买卖的哈希值,那么显着矿工应该仔细考虑挖矿。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5817170#msg5817170

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 谈论说:

好消息!在不到 5 分钟的时刻内以及 1 行代码,就能够添加过滤器以阻挠这种无用的东西。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5955613#msg5955613

Luke-Jr 还将 Counterparty 比作一种乱用方式:

这是乱用行为,由于您强迫他人依据他们的自由选择下载/存储您的数据。每个完好节点都有必要下载完好的区块链(可修剪与否!)。每个完好节点都赞同下载和存储金融买卖。并非每个完好节点都赞同存储其他任何内容。为此,您需求 100% 的一致,而不只仅是某些子集(即,不是矿工;不是开发人员)乃至是多数。此外,每个人都能够自由存储不在区块链中的数据。把它放在区块链中没有任何优点,仅仅你把它强加给那些不想要它的人。你来解说这怎么就不是乱用……

来历: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 持续说:

等一下,当它决议:每个节点都赞同存储 X 类型数据而不是 Y 类型数据时。或许我也不赞同存储洗钱、非法毒品和武器、人类役使等买卖。你基本上是在否定协议中立性,并决议协议应该和不该该用来存储什么,而不只仅是你 ' 不是以第一人称说话,而是运用代词 Us,给人的印象是你是在代表一切矿工或协议用户作为一个整体说话。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5826584#msg5826584

其他人表明忧虑为什么 Jeff 和 Luke 有权越过其他人来阻挠某些用例。

我无法相信这种情绪。我不知道比特币有一切者。我以为我和大约一百万其他人是一切者?

Counterparty 的联合开创人 PhantomPhreak 说:

首要,Counterparty 买卖是金融买卖。其次,每个全节点都赞同下载和存储比特币区块链。也便是说,契合比特币协议的买卖,Counterparty 买卖显着是这样做的。看在天主的份上,中本聪在创世区块中嵌入了一条政治信息……你对比特币或许的用例的观念比其他人要狭窄得多。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5826770#msg5826770

他或她持续说:

比特币做了许多原本不计划做的作业。是的,咱们十分喜欢运用比现在更高雅的解决计划。Counterparty 开始的规划意图是运用 OP_RETURN 输出来存储其一切的消息数据,我觉得这十分高雅,而且对区块链的影响最小。咱们计划一切消息格局都环绕 Gavin 在官方比特币博客上宣布的 80 字节约束。咱们只运用多重签名输出,由于咱们别无选择。咱们不想扩展比特币协议。咱们期望彻底在其间做一些作业,而且尽或许简略和直接,以取得稳定性、安全性等方面的优点。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5827473#msg5827473

相同,咱们只在区块链中存储金融买卖,而且咱们正在为咱们正在运用的空间付费。OP_RETURN 输出中的金融买卖关于全节点存储来说并不比其他任何东西更痛苦。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5827688#msg5827688

另一位名为“bitwhizz”的用户说:

假如你不想存储它,就不要,相当简略,不要运用比特币,不要下载区块链,你的 scott 免费。可是,我的赞同意味着我相信比特币不只具有买卖功用,而且基于这一现实,没有人拥有它,而且有 OP_RETURN 功用,我不明白为什么应该根除该功用,由于你不想存储您现已能够自由选择的数据。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5827897#msg5827897

“Anotheranonlol”说:

我真的无法了解 Counterparty 买卖怎么不构成金融买卖?我也不能了解这样的观念,由于说,1000 个节点中的 1 个节点不愿意接受这个数据,默认状况下应该被制止。在最近的噩梦是 mt.gox 以及由于将您的余额存储在中心化实体上而形成的许多黑客攻击、盗窃、封闭和丢失之后,好像  Counterparty  现已想出了一个解决计划,该解决计划答应一个去中心化、无需信赖的解决计划来解决这个问题。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5827776#msg5827776

“Baddw”说:

现实上,任何人都能够随时将恣意数据存储在区块链中。它现已而且正在被用于此意图。每个运行比特币节点的人都应该现已知道这一点,假如他们不知道,这应该是他们安装 Bitcoin-QT 时出现的告诉的一部分(假如有的话;我不记得见过)。任何比特币买卖都或许仅仅简略的资金活动,也或许是情书,也或许是引爆炸弹的触发器。消除这种或许性会摧残比特币。

来历: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 月支撑它用于域名体系:

我以为 BitDNS 有或许成为一个彻底独立的网络和独立的区块链,但与比特币共享 CPU 才干。唯一的重叠是让矿工能够一起搜索两个网络的作业量证明。

来历:https://bitcointalk.org/index.PHP?topic=1790.msg28696#msg28696

将这些 Dapp 体系作为侧链施行存在许多困难,与 2014 年比较,咱们对这些缺点的了解比 2014 年更好,其时许多人仅仅以为它们能够作业。

复杂性——最重要的缺点之一是施行和构建侧链解决计划的复杂性。为了早日推出协议并赢得市场份额,这些项目没有时刻树立侧链和与比特币的兼并采矿体系。

比特币作为原生财物——或许无法将非保管比特币作为侧链上的运营财物,由于或许无法树立无需信赖的双向挂钩。关于许多 Dapps 来说,这是一个很大的缺点,例如他们或许期望运用比特币作为分布式买卖所的首要买卖对。这个缺点在 2014 年好像并没有得到很好的了解,许多人仅仅假设它能够以某种方法起作用。

有限的扩展优势——运用侧链的优势或许因用例而异。例如,假如要树立一个分布式买卖所,每一次出价、出价和匹配都或许需求主链的一切安全保证。有了这么多的主链运用,关于每个用户在买卖所的每一个或许的动作,侧链体系的扩展优势或许十分有限。在链上本地提交招标或许只运用大约 90 个字节,而存储订单信息的散列以及需求识别的结构和开销或许在链上大约 50 个字节,因而不会节约太多空间。

2014 年 3 月,Counterparty 开发者 (xnova) 概述了他对侧链的反对观念如下。

此外,除非我在这里疏忽了某些东西,不然咱们依然需求从第二个区块链中的区块中解析出数据(至少假设它是比特币或比特币衍生完结)来获取咱们存储的数据。因而:* 它不会启用 SPV 类型的 Counterparty 客户端,由于 Counterparty  提供的五颜六色币功用(即 DEx、投注、财物回调、股息、差价合约等)* 它会降低 Counterparty  买卖的安全性。这将大大添加完结的复杂性(即添加过错和缝隙的机会),唯一可疑的优点是轻微 * 削减咱们对区块链的存储需求(即每笔买卖或许削减 20-40 字节?)。我仅仅不明白这在这里有什么意义。还有一点:Counterparty  能够为比特币带来巨大的优点,假如/跟着以太坊(和其他相似的非比特币元“2.0”类型的币)进入视野,这一点将变得更加显着。至少我个人的感觉是,比特币很或许需求生态体系中具有这种功用的产品,以有用地与以太坊和(未来)人群的功用列表和吸引力竞赛——或许有被筛选的风险,至少在投资者和金融市场运营商中是这样,这提供了将数十亿乃至数万亿美元带入比特币生态体系的才干,由于它取得了更多的认可、信赖和思想共享。

来历:https://bitcointalk.org/index.PHP?topic=395761.msg5799174#msg5799174

好像一些支撑侧链作为解决计划的人对许多 Dapp 应用程序并不特别感爱好,也没有尝试过它们。因而,他们从未考虑过构建分布式买卖所的复杂性,以及每个用户的简直每一个动作都需求安全性。大多数比特币开发者好像对他们感爱好的东西很开放,而且很清楚他们想要什么:抗审查钱银、非政治钱银、电子现金等……

结论

2014 年左右之后,大多数对 Dapps 感爱好的开发人员都专注于在以太坊或其他体系上构建,而不是在比特币上。以太坊随后取得了许多开发者的爱好和动力,而比特币上的 Dapp 开发则很少。这篇文章的重点是要着重,形成这种状况的首要驱动力不是必要的费用,也不是以太坊的虚拟机和以太坊更强大的技能才干,仅仅许多比特币人和比特币开发者不想要比特币上的 Dapp,他们对比特币不感爱好。这些功用。不管好坏,一些 Bitcoiner 成心将这些 Dapp 开发者中的许多人赶走。一些比特币支撑者以为,大多数 Dapp 活动都与不行持续的圈套有关,或许出于安全或其他原因,这种活动在比特币上是不行取的。

自 2014 年以来,许多人的观念发生了改变。比特币需求买卖费才干生存。在 2016 年后的环境中,咱们有许多完好的区块和更高的费用,人们更普遍地以为,任何付费买卖都是“合法的”。以太坊上的某些 Dapps,例如 Uniswap 等买卖所,或 AAVE 和 Compound 等借贷协议,在某种程度上已被证明既成功又风趣。虽然如此,比特币人是否足够关怀比特币上的这些协议,更不用说是否有人真正构建和运用它们,依然是一个悬而未决的问题。

发表回复

您的电子邮箱地址不会被公开。