主页 > imtoken国内版 > 探索比特币独特的时间线、挖矿费用和场外交易的概念

探索比特币独特的时间线、挖矿费用和场外交易的概念

imtoken国内版 2023-05-09 07:41:13

本文将探讨基于数字签名和 CoinJoin 范式的独特年表、挖矿费用和 OTC 交易的概念。

证明合一:时间线

我们在程序结束时的任务,再次带着问题“何时?”从这里开始。

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

回到我们的小故事,让我们试着了解它解决了什么问题。你设计了一个数字现金系统,其中发行和所有权都是去中心化的,巧妙地结合了谜题和签名。

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

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

如果网络可以以某种方式投票,则可以对此达成民主共识。但投票程序虽然在具有固定数量的已知参与者(通常称为“联盟”)的系统中是可行的,但不能在未知匿名参与者的动态集合中工作。

您不能简单地使用“节点数”作为投票权的代理,因为每个用户都可以在“女巫攻击”中“假装”数百万个不同的节点。您需要另一种“抗女巫攻击”方式来推动所有节点在单一、一致、不可变的历史记录中找到(并维护)共识。

不幸的是,基于数学的确定性和最终解决方案在理论上是不可能的。但是基于经济学的统计和渐近解决方案确实有效,而且您足够聪明,可以找到它。这里有一个想法:每次矿工尝试解决 PoW 难题时,他们都应该在消息中包含当前交易时间线的及时快照!

他们不应该只传递发布消息,而是通过哈希函数传递更复杂的信息块,每个块包含(连同发布消息、时间戳以及在正确难度下解决难题所需的内容)随机数)解决方案。最后一个区块(其他矿工大约 10 分钟前发现的区块)和其他用户最近进行的交易的列表。

包含已包含在先前区块中的交易的区块被视为无效。时间戳明显与前一个时间戳不兼容的块也会被释放。

使用这个技巧,所有参与者都有动力向同一时间序列的一致版本收敛。 Minnie 可能会包含与先前确认的交易相矛盾的有效交易(双花),或者更改时间戳以欺骗难度调整,但随后其他节点拒绝此类交易,浪费新发行的价值,浪费时间和精力。

矿工为解决谜题付费,因此,至少在某些情况下,他们只是遵循系统固有的经济激励措施,并且可以假设他们想要享受相关的奖励,并且创作不会被拒绝。区块非常安全。

挖矿费

虽然这个解决方案很棒,但它仍然缺乏激励矿工参与其他人交易的机制。他们可能只是选择保存验证脚本和签名所需的计算能力(不是散列冲突所需的计算能力,但仍然相关),但仍然在其他空块中发布自己的有效签核。

此外,由于受控供应模式,此类分配中允许的 sats 数量的减少将减少(甚至打折 sats 购买力的增加)解决障碍的动力,最终完全达到最后一个时代的结束。取消,届时不会有通货膨胀。

您可以通过引入采矿费来解决此问题:用户可以在交易中添加少量额外费用比特币大事件时间轴,以激励矿工将其纳入。

它的工作原理是这样的:系统允许矿工包含他们的奖励交易,以及发行新的“已开采”sats(与当前时代兼容),在区块中还包括所有已创建和消耗的 UTXO 之间的sat余额有效交易。费用从不取决于交易量,而仅取决于交易大小(脚本复杂性、签名数量等)和区块内所需的优先级。

可扩展性(和持久性)问题

交易包含在区块中所需的最低采矿费因“区块空间”的供需而异。在供应方面,可以添加到时间线的交易数量受到最大块大小(每个块小于 4 兆字节)和最大块速率(大约每 10 分钟一个)的限制。

在需求方面,每个用户都有不同的约束和偏好(有些用户可以等待更多时间支付更少,一些用户可以支付更多等待更少时间,一些用户使用具有出色动态费用估算的钱包,有些则没有)。一般来说,区块空间需求的增加意味着挖矿费用的增加。

这显然限制了系统的可扩展性(特别是,由于矿工费与转移的价值量无关,我们可以说它实际上降低了可分性)。

一般来说,使用时间链还意味着网络中的每个节点都必须永远监听一切:每个链上交易都必须由每个参与者下载和验证,系统的整个历史都会被使用,甚至很久以后。这样的系统显然是不可扩展的。它还缺乏持久性,因为每个人都必须永久保留每笔交易的副本,从而允许进行任何形式的取证分析和去匿名化尝试。

它可以让某些用户看起来更好,但代价是创建另一个更“特权”的用户类。例如,如果您增加区块大小和频率,区块空间的供应量将会增加,其价格将会下降。然而,运行一个节点的成本(能够独立验证交易和区块的有效性)的增长速度远快于上述供应,集中了整个系统拓扑。

当然,一种新的专用节点可以作为某种“签名消息”给非验证低级用户,让他们确信交易是有效的。毕竟比特币大事件时间轴,引入货币是为了将验证贵金属硬币的昂贵任务委托给一些专门的受信任实体。但是,与造币一样,这种策略(称为“SPV”)意味着强大的中心化,可能会受到马洛里等人的政治干预或审查。

新范式:“链下”

有一种巧妙的方法可以在不牺牲去中心化的情况下缓解全球共识系统的基本规模限制。我们称之为“链下范式”。

这个想法很简单:只要您在绝对必要之前不将每笔交易提交到交易块中,您就可以将大部分流量远离公共时间链(其代价高昂的全球共识),仅将其用于冲突分辨率和周期性分辨率。

这种演变类似于人们在普通法体系中使用法院和合同的方式:法院可以创造具有公共约束力的判例,一种“全球法律共识”,但相对缓慢且昂贵,因此大多数交易当事方通常只签署私人双向合同,要求法院仅在发生冲突或需要定期解决时进行验证和执行。

高级智能合约可用于最大限度地减少对这种“追索权”的信任:与实际的法律体系不同,去中心化的时间链可以避免人为偏见和腐败,主要依靠密码和代码。与在虚拟化环境中讨论的信用证书不同,链下交易不是“虚拟的”。它们是实际的、有效的交易,很可能会被系统强制执行,无论相关各方是否诚实。

您很快就会意识到,这种范式还可以大大提高系统的耐用性。与让所有节点永久注册所有交易不同,这些交易中的大部分只会在相关方之间私下交换,这使得恶意窃听者的取证分析更加困难、昂贵、不完整和不可靠。

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

但是,在同一范例中还存在其他较小的示例。例如,有几种技术可以将实际脚本保持在所需的时间范围之外,同时还可以节省区块空间和隐私。 (人们给这些技术起了很多奇怪的名字,比如“Taproot”、“Graftroot”、“g*root”、“Scriptless Script”等)

通过引入这些最终技术,您的用户最终将拥有在现实生活中使用系统所需的一切,以恢复一些最重要的货币功能。

希望这篇文章对你有用,欢迎在评论区与我们一起讨论。