主流区块链的状态达到最终性需要多长时间?我需要等多久才能确认一笔比特币交易真正完成结算?有哪些风险因素可能会导致我需要额外的交易确认?交易确认的数量是如何影响交易结算的?令人惊讶的是,即使是在 2019 年,也就是在第一个比特币区块被开采后的 10 年后的今天,这些问题目前仍没有很好的答案。
由于一些观点的存在,对于工作量证明(PoW)机制特性的严谨调查一直停滞不前。一些人认为,工作量证明只是一个临时的机制,当更好的共识 / 抗女巫攻击机制出现后就会替代它。也有一些比特币原教旨主义的人会认为,比特币的质量是不可被质疑的。
但这些问题是至关重要的。如果您认为具有开放验证节点集和分布式收敛机制的公链将在可预见的未来将持续为价值转移提供服务,那这些问题就是绝对值得深思的。如果您是一个交易所,您的生计将依赖于正确评估各种区块链所需的交易确认的数量,这些问题会对您至关重要。
首先,让我解释一下为什么我认为结算保证是任何公链都值得考虑的首要因素。
比特币有趣在哪?
这其实是一个的难以回答的问题。如果你去问十个不同的比特币用户,你会收到十个不同的回复。关于比特币的用途和目的的分歧,几乎在 2014-2017 期间将整个社区分裂。
Hasu 和我曾试图编写和总结过关于这些愿景上的争论的历史。也有其他人注意到了这一点,并且详细的记录了它们。我尤其喜欢 Murad Mahmudov 和 Adam TachÉ 的 观点。Daniel Krawisz 也在 2014 年巧妙的讨论了这个话题。
在Krawisz的文章中,他认为比特币中存在着两个观点非常不同的群体:投资者和创业者。
他认为,投资者觉得比特币是一种新形式的高能货币,主要目的是维护个人的主权。他们倾向于认为比特币终将因其内在的货币属性而成为主流资产。对他们来说,布道毫无意义:币价才是最好的布道者。而「创业者」们,正如 Krawisz 所认为,会对比特币作为全球支付系统更感兴趣,并且更加关注其在商业中的应用。
正如任何在 2015-2017 关注过

我认为也许这些观点可以统一。我倾向于认为比特币的有趣之处在于它能够使用通信媒介来进行价值转移,并且提供极强的交易保证。我认为比特币是一种新颖的制度技术,它提供了高度被保证的财富储存和转移功能且不依赖于任何国家或金融体系。这将会为人类的组织模式开启新的篇章,并且将会让那些财产所有权制度得不到保障的地方有可能实现有效率的商业模式。
因此,如果您认为交易的结算保证是这个系统中最有趣的事情,那我们应该如何评估它呢?我们应该如何在开放验证的前提下,在比特币和其他系统之间进行标准一致的比较呢?
结算的评估
那么究竟什么是结算保证呢?它指的是对于系统所收到的一笔交易,系统能够让该交易的接收方确信这笔交易不会被篡改的能力。使用像 SWIFT 这样的消息传递系统的电汇非常主流,这是因为它们处理的交易实际上是无法被篡改的。对于收件人来说 SWIFT 是安全的,因为只有在确认了发件人的帐户中的资金完整后,始发银行才会释放资金。
这就是为什么孟加拉国银行盗窃案背后的小偷们选择了使用SWIFT和银行电汇:他们想要利用这些系统的交易结算保证。换句话说,他们是选择了使用一种难以被篡改的系统来实施他们的盗窃。这么做的结果是涉案的 6100 万美元至今仍然下落不明。
这并不是用来表明 SWIFT 和银行转账是失败的证据,相反这证明了这些系统所拥有的优势。即使在这种情况下,几乎每个参与者都希望能够逆转交易,但他们却依然无法做到。这说明该系统可以抵抗回滚,自由更改和事后编辑等操作。这并不会使它成为一个糟糕的系统。这反而使得它成为一个能够为交易对手提供了很好的保证的系统,保证交易最终必定将会被结算。
比特币是一个类似的很有用的系统,因为它同样为用户提供了强大的结算保证。只不过究竟有多好,我们还并不完全知道。
LaurentMT 在他出色的「Gravity 系列」中写出了也许是目前为止最为科学的一些探索。但总的来说,比特币 PoW 的特性仍然尚未得到充分的研究。它在历史上曾有过一些区块重组的事件,但据我们所知,这其中并没有以恶意偷盗为目的的重组发生过。并且我们知道矿工们将大量的现实世界的资源输入给了交易的挖矿。
这意味着比特币交易的接收者可以怀有极高的信心,相信一旦其交易被埋在几个区块之下,交易就不可能被逆转。
但对于许多竞争加密货币而言,情况并非如此。虽然在许多情况下它们看起来与比特币类似,但其实他们其中并没有一个和比特币具有相同的结算保证。这不一定是因为任何设计缺陷,而仅仅是因为比特币的每个区块在每单位时间上累积了更多的成本(也就是攻击成本),并且也是因为比特币对于它的哈希函数来说是一个近乎垄断的角色,并且还拥有专用的硬件。
有些令人惊讶的是,许多较弱的链还尚未被尝试攻击过,即使这样做的成本很低。这很可能是因为 51%攻击后的套现需要利用交易所,这会带来些额外的复杂性。而且坦率地说,大多数比较小的币在一开始的币价都比较低(并且也没有多少流动性可以用来做空),这就限制了攻击的收益。
如果你想要了解众多加密货币的脆弱程度,你可以看看crypto51.app这个网站。该网站通过假设攻击者可以在 Nicehash 上租用足够的硬件来计算区块链被攻击的可能性,虽然有点不现实,但它仍然很好地指出了了攻击这些系统的成本的下限。
那么评估公链系统中的结算效率的关键变量是哪些呢?让我们把它们分成易于量化的变量和难以量化的变量两部分来讨论。
在我们开始之前,让我们先进行一丢丢的文献综述,引用这个领域的一些先前的工作:
·若想获得对于这个问题的更加简洁的描述,请阅读 Anthony Lusardi 的 Understanding (and Mitigating) Reorgs。
·有关比特币工作量证明的全面调查,请参阅:国际清算银行的 Raphael Auer 写的 Beyond the doomsday economics of "proof-of-work" in cryptocurrencies 。
·有关于包含一些变量的模型的具体实现,可以参考来自 BKCM 的 Kevin Lu 写的 A Lower Bound on Miner Rewards 。
可量化的结算相关变量
记账成本
记账成本是我们评估区块链结算保证时最有用和最直接的变量。简单来说,它相当于每单位时间支付给交易验证者 / 选择者的金额。在比特币中,矿工每挖出一个块都会获得区块奖励和交易费用,作为其保持诚实和「遵守规则」的激励措施。在工作量证明中,矿工会附上一个不可伪造的证据,证明他们已经消耗了一些能量,因此对于每个区块每个矿工都要付出相应的代价。在每赢得一个区块的时候,除非他们非常幸运,矿工必须消耗大致相当于该区块价值的资源(这其中的边际利润通常很小)。因此,矿工会被激励去创建有效且遵守规则的区块。
你可以把它想象成一个学校作业,比如必须阅读一本书并制作书籍报告。你需要向你的老师证明你读过这本书,所以你要制作一份读书报告(一个前缀中有足够数量的零的有效块哈希),只有当你实际读过这本书(计算出足够的哈希值),你才能创建它。因为你的老师是个刻板的人,你还必须正确地格式化你的读书报告(产生一个结构正确且有效的块)。如果你阅读了整本书但只提交一个格式错误的报告,并以你得到 F 的分数作为收场,那将是非常悲剧的。工作量证明机制也是如此的:工作是需要预先进行的,收益只能在之后获得。既然你已经承担了实际成本,而你的业务又需要你于你执行最后的几个死板的步骤来获取你的奖励,你并不会希望搞砸这部分。最近就出现过类似的事情,有一名矿工完成了所有必要的工作并获得了提交一个区块的资格,但是在最后一道关卡中却创造了一个无效区块。
那么为什么更高的每单位时间的记账成本意味着更高的安全性呢?因为如果(诚实的)矿工的工资更高,则意味着你需要雇佣个更多的唯利是图的人才能打败他们。这些要消耗的资源必须来自某个地方:您需要管理能够产生哈希算力的硬件,电力等等。(有一种观点认为,由于攻击者在进行 51%攻击时会获得区块奖励,因此只有只有交易费才可以提供为 PoW 安全性。在这里我没有足够的时间来充分讨论这一点,目前来说,我会认为区块链奖励,尤其是专用挖矿硬件,本身就是一个巨大的门槛,是必须在进行 51%攻击理论讨论之前就要解决的问题。)
总而言之,要想出价高于在比特币上尽职尽责地生产区块的诚实矿工们是非常困难的。他们现在每年产生着 69 亿美元的收入,并且其中许多人可能会投资他们的产业中的其他业务以预期在未来获利(这意味着矿机可能有溢价,即区块链网络上正在挖矿的矿机的价格甚至可能高于其产生的价值)。
比特币矿工收入 / 美元,数据:Coinmetrics.io
因此,比特币不仅接受来自比特币协议向矿工支付的日薪的保护,还会受到这些矿工期望在未来获得的折价收益的保护。这意味着比特币不仅受到当今现状的保护,而且还受到矿工对未来奖励的期望的保护。
这里我们并没有找到一种简单的方法来模拟预期,所以最简单的方法是获取每单位时间的矿工收入并在此基础上来比较不同的区块链系统。到这里为止,如果你选择现在就停止阅读这篇文章并且只记住上一句话,那相比大多数人,你已经获得了对安全性更好的理解。很少有团队,即使是那些像交易所一样高风险的项目,也很少像这样来评估区块链。
幸运的是,Anthony Lusardi 已经就这个主题做了一些很好的说明性工作。他介绍了BitConf。这个工作展示了,对于比特币上的一次交易确认来说,其他的区块链(比如莱特币)需要做多少次交易确认才能达到同样的价值。
但是,我敢说大多数人并不会使用 BitConfs,或尝试将对各区块链需要的交易结算成本进行索引。恰恰相反,**「民科」们认为结算是交易确认数量的线性函数**。更令人遗憾的是,这其实是一个非常普遍的观点。即使是莱特币基金会网站也隐晦的表达这个观点:
莱特币交易的确认比其他加密货币更快,比如比特币,因为它每 2.5 分钟产生一个块,而比特币是 10 分钟。这意味着您的资金可以更快地被送达。
如果是比较最初的从内存交易池中选取交易并包含到链中的时刻的速度,那莱特币是要快的多,但在加密货币中,概率性的交易结算效率是必须被纳入考虑的。换句话说,如果你只关心第一次确认,那么莱特币「更快」,但是当你关心长期意义上的结算(多次确认)时,很明显它会慢得多。
如果你认为莱特币和比特币的每次确认都提供了相同程度的结算保证,那么你可能会认为比特币显然更慢,并画出如下的一个图:
但这是错误的。莱特币上每单位时间会产生更多的块,但它累积记账成本的速度会更慢。实际上,比特币会为其矿工们提供更高的收入,因此他们每分钟会以哈希的形式提供更多的安全性。
与莱特币相比,比特币区块累积的成本会「更重」。即使莱特币拥有 10 分钟的出块间隔,一个比特币的区块块仍然比一个莱特币的区块贵 14.5 倍。确认的数量其实无关紧要, 矿工们每单位时间的机会成本才是最重要的。
我们可以尝试将这个记账成本增加的过程可视化,随着区块的堆叠,交易会被埋在越来越多的区块之下,也就越来越接近它最终被结算的状态。
随着更多的区块被加进来,这笔交易也变得越来越难被逆转,交易结算也就更加接近完成的状态。在这个图中,我按照记账成本的相对大小关系对区块的宽度进行了缩放,并画出了块的粒度。
这里的要点是区块链系统中的结算是有一个过程的。出块间隔基本上无关紧要。以太坊每小时比比特币出的块更多,但应根据记账成本而不是确认数来比较两者之间的结算效率。
逆转交易的收益:交易的金额
记账成本并不是影响交易结算效率的唯一因素。同样重要的是逆转交易成功后可能得到的收益。衡量这种激励的最纯粹的方法就是依据交易的金额。如果你是一笔 50,000 BTC 交易的接收人,你可能需要等待超过六个块的才会确认交易完成。如果你是正在接收 1000 聪,那一次确认就足够了。简而言之,每笔交易的结算都会或多或少受到其涉及的金额的影响。
Elaine Ou 在一篇精彩的 Bloomberg 文章中 正式确定了这一概念,认为收款人应该等到交易的价值和记账成本匹配时才能认为交易结算完成。
Elaine 的公式巧妙地结合了区块链结算中两个最重要的可量化的变量:记账成本和逆转交易的收益。如果你想在 BTC 结算价值 1000 万美元的收款交易,根据其规则,你需要等待 60 个区块,或者说 10 个小时。(这是一个很巧妙的巧合,以 13,330 美元的价格计算的话,比特币会以 100 万美元 / 小时的速度累积记账成本)。接下来,我会将这个简单的公式称为 Ou 规则。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.longfuchaju.com//zqkj/4703.html