发现比特币第7部分:缺失的部分

这是比特币创始人贾科莫·祖科(Giacomo Zucco)系列文章的第七篇也是最后一部分,该系列文章《发现比特币:从穴居人到闪电网络的简要概述》。发现比特币第3部分:引入资金,发现比特币第4部分:一个错误的转向(需要新计划),发现比特币第5部分:数字稀缺,发现比特币第6部分:数字合约。

当我们结束“发现比特币”系列时,我们将基于数字签名和CoinJoin范式的使用,探索独特的年代,挖矿费和链下交易的概念。

证明Unicity:时间链

我们终于在对计划exploration的探索结束时,再次回到我们从何处开始的“何时?”问题。

这是一个重要的问题,因为它证明了所谓的“区块链技术”的引入是合理的,这种表达在其原始含义中只是标记了独特年代问题的答案。 (在这方面有趣的是,中本聪本人称这种结构为“时间链”,这也是我们将在此处使用的术语……对不起,彼得)。

回到我们的小故事,让我们尝试了解它解决了什么问题。您设计了一个数字现金系统,在该系统中,发行和所有权都去中心化了,巧妙地利用了难题和签名。

但是,如何防止用户两次花相同的UTXO?如果不诚实的用户Carol将sat转移到Daniel所控制的地址,然后签署另一个将这些sat重传到她自己控制的地址的交易,那么网络将执行哪个交易?从签名和脚本链的角度来看,它们都将是“有效的”,并且都将指向有效的初始发行,并且具有正确的PoW难度。

以及如何防止“矿工”说谎正确的时间戳,欺骗难度调整算法以提高发行率?如果矿工Minnie设法以低难度解决了数百个PoW难题,但是她提供了伪造的时间戳,这些时间戳将解决方案描述为彼此相距仅10分钟,那么普通用户(也许最近才连接到系统)如何发现和证明这样不诚实的行为?

在您以前的电子黄金实验中,您值得信赖的时间戳服务器轻松地解决了这两个问题。但是现在没有中央服务器,那么谁来定义事件的独特时间顺序呢?

如果网络能够以某种方式“投票”,就可以对此达成“民主”共识。但是,投票程序虽然在具有固定数量的已知参与者(通常称为“联盟”)的系统中可行,但无法在未知的匿名参与者的动态集合中起作用。您不能简单地使用“节点数”作为投票权的代理,因为每个用户都可以假装在所谓的“ Sybil攻击”中“成为”数百万个不同的节点。您需要另一个“耐Sybil的”推动所有节点在一个单一的,一致的,不变的历史上找到(并保持)共识的方法。

不幸的是,基于数学的确定性和最终解决方案在理论上是不可能的。但是基于经济学的统计和渐近解决方案实际上是可行的,并且您足够聪明地找到了它。这就是想法:每次矿工尝试解决PoW难题时,他们都应在其消息中包含当前交易时间轴的紧凑快照

他们不仅应该通过散列消息,还应该通过散列函数传递更复杂的信息“块”,每个块(连同所述发行消息,时间戳和以正确难度解决难题所需的随机数)的解决方案上一个区块(大约在10分钟前被其他矿工发现)和其他用户最近进行的交易的列表。

包含先前块中已经包含的事务的块被视为无效。带有与之前的时间戳明显不兼容的时间戳的块也被释放。

使用此技巧,所有参与者都被激励去融合相同编年史的一致版本。 Minnie可能包含与先前确认的交易相抵触(双花)的有效交易,或者更改时间戳以欺骗难度调整,但随后其他节点将拒绝这样的交易,浪费了新发行的价值,浪费了没有时间和精力。

矿工们花钱来解决难题,因此,至少在某些情况下,他们仅遵循系统内在的财务激励措施,就可以假设他们想享受相关的奖励,创建不会被拒绝的区块,这是非常安全的。

挖矿费

这种解决方案虽然出色,但仍然缺乏激励矿工参与他人交易的动机。他们可能只是选择节省验证脚本和签名所需的计算能力(虽然不如散列冲突所需的脚本和签名那么重要,但仍然是相关的),而只将自己的有效签发包含在否则为空的块中。同样,由于受控供应范式,此类发行中允许的卫星数量减少,将完全减少(甚至折价增加卫星的购买力)解决区块的动机,最终在发行量结束时完全取消最后一个时代,那时将不会出现通货膨胀。

您可以通过引入“挖矿费”来解决此问题:用户可以在交易中附加一小笔“额外费用”,以激励矿工将其包括在内。

它的工作原理是这样的:该系统允许矿工将其奖励交易中包括新发行的“有意开采的”坐席(与当前时代兼容)以及所包含的所有有效交易的已创建和消费的UTXO之间的坐席差异。在街区。费用从不取决于交易量,而仅取决于交易规模(脚本复杂性,签名数量等)和块内所需的优先级。

结垢(和黑暗)问题

包含在一个区块中的交易所需的最低挖矿费根据“区块空间”的供求而变化。在供应方,可添加到时间链的交易数量受到最大区块大小的限制(每个块小于4 MB)和最大块速率(每10分钟大约1个)。在需求方面,每个用户都有不同的约束和偏好(有些用户可以等待更多的时间来支付更少的费用,有些用户可以支付更多的时间来减少等待的费用,有些用户使用具有出色动态费用估算功能的钱包,有些则没有)。通常,对区块空间的需求增加将暗示挖矿费用的增加。这显然限制了系统的可扩展性(特别是,由于矿工费用与转让的价值量无关,我们可以说它实际上降低了可除性)。

通常,使用时间链还意味着,网络中的每个节点都必须永远跟踪所有事情:每一个链上交易都必须由将使用该系统来了解其整个历史的每个参与者进行下载和验证,甚至可以深入到整个系统中。未来。这样的系统显然是不可扩展的。它还缺乏黑暗,因为每个人都必须永远保留每笔交易的副本,从而可以进行任何形式的取证分析和去匿名化尝试。

有可能使某些用户的情况看起来更好,但以创建另一个“特权”类用户为代价。例如,如果您增加块的大小和频率,则块空间供应增加,其价格下跌。但是,运行节点的成本(具有独立验证事务和块的有效性的能力)比所述供应更快地增加了费用,从而中心化了整个系统的拓扑。当然,一类新型的专用节点可以充当劣等非验证用户的某种“签名消息”,从而为他们提供某种交易有效的保证。毕竟,引入了铸币是为了将授权贵金属硬币的昂贵任务委托给一些专业的受信实体。但是,就像造币一样,这种策略(也称为“ SPV”)意味着强大的集权化,并伴随着诸如马洛里之类的政治干预或审查制度带来的所有附带风险。

新范式:“链外”

有一种智能方法可以减轻全球共识系统的基本规模限制,而又不会牺牲其去中心化性。我们将其称为“链下范式”。

这个想法很简单:只要在绝对必要之前就不要将每笔交易都提交到一个大宗交易中,就可以将大部分流量都置于公共时间链之外(其昂贵的全球共识),仅将其用于解决冲突和定期解决。

这种演变类似于人们在普通法系统中使用法院和合约的方式:法院可以创建具有公共约束力的优先顺序,达成某种“法律上的全球共识”,但是相对而言比较缓慢且昂贵,因此大多数交易方通常只签署私人双向合约,要求法院仅在发生冲突或需要定期解决时才进行验证和执行。

可以使用高级智能合约来使这种“追索权”的信任度最小化:与实际的法律制度不同,去中心化的时间链可以避免人为的偏见和腐败,主要依靠密码和代码。与在虚拟化环境中讨论的信用证书不同,脱链交易不是“虚拟”的;而是“虚拟”的。它们是实际有效的交易,无论涉及到的各方是否诚实,都极有可能被系统强制执行。

您很快就会意识到,这种范例也可以极大地改善系统的黑暗度。并非让所有节点永久地注册所有交易,这些交易中的大多数将仅在感兴趣的各方之间私下交易所,从而使恶意窃听者的法医分析变得更加困难,昂贵,不完整和不可靠。

这种策略的主要实现是由预先资助的双边“支付渠道”组成的辅助网络,该网络可以以信任最小化的Atom方式跨多个跃点路由交易。用户用一个极富诗意的名称来称呼它:“闪电网络”(其缩写通常包含在系统的整个协议套件的标签中,名为“ LNP / BP”,类似于历史上的“ TCP / IP” )。

但是,还有其他一些次要的例子。例如,有几种技术可以使实际脚本脱离时间链,直到需要时为止,还节省了块空间和隐私。 (人们称这些技术为许多奇怪的名称,例如“ Taproot”,“ Graftroot”,“ g * root”,“无脚本脚本”等。)

通过引入这些最终技术,您的用户最终拥有了在现实生活中使用该系统所需的一切,从而可以收回一些最重要的货币功能。谢谢“聪”

图片由CryptoScamHub提供

自您早期的穴居人创新以来,您已经走了很长一段路。现在,只有未来才能告诉我们您的本计划will是否可以实施。到月球。

最后,感谢Nicki DiCicco的封面艺术以及CryptoScamHub对本系列的模因艺术贡献

《发现比特币第7部分:丢失的碎片》一文首先出现在比特币杂志上。

资讯来源:由0x资讯编译自BITCOINMAGAZINE。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢