SQUA:为何Ergo坚守UTXO模型而弃用账户模型?

作者:Ergo团队

Ergo承袭了比特币最安全、最完善的功能,并在其坚实的基础上实现全新高级加密功能。本系列文章探讨了我们在创建Ergo时所做的选择。作为系列中的首篇文章,本文展示了UTXO模型的优势。

当您处理财务价值时不能冒险。加密货币平台中的每个架构决策都有影响。虽然不同的方法可以解决同一个问题,但和其他解决方案相比,有些解决方案经过更好测试且更可靠。

动态 | 李启威连发数十条推文释疑:为何看起来Litecoin Core在GitHub没有更新:刚刚莱特币创始李启威连发数十条推文,介绍了莱特币的代码更新情况和开发进展。他表示在8年来,只有少于开发人员致力于Litecoin Core。Adrian Gallagher目前正在领导Litecoin Core的开发,并且已经进行了几年,大家可能不太了解Adrian,因为他不在推特上,但他很棒,他正在悄悄地做Litecoin Core开发的幕后工作。

最近有很多人质疑莱特币在2019年没有更新任何代码,从GitHub上看似乎这样,但这里有两个原因:第一个是莱特币的更新要比比特币滞后几个月,我们发布了几个月前在比特币中发布的代码,这些代码是在2018年编写的。GitHub的有趣之处在于,它使提交的时间保持不变,不管是谁写的,还是什么时候提交到代码库的。因此,比特币开发者因在莱特币代码库中的工作而受到好评。这就会让人看起来,尽管在2019年5月开发并发布了最新的Litecoin Core,但在GitHub你会发现大多数提交都是在2018年完成的。第二个原因是我们没有在主要项目的主分支上工作,将非发布代码签入主分支通常不是好的开发实践。事实上,Adrian一直在他的个人分支上积极地开发Litecoin核心版本0.18.1。

以上是Litecoin Core开发多年来的运作方式,我们去年甚至遇到了用户相同的担忧,有人去年看了我们的主分支工作并声称Litecoin在2018年停止了开发。我打即使在这个解释之后,我们也会在2020年让人感到困惑。

另外,李启威还表示Litecoin Foundation的目的有两个方面:致力于LTC的推广和开发。“在过去的几个月里,我认为一直认为推广比开发更重要,但从长远来看,这两者同样重要。我会努力与社区进行更好的沟通,并提供更频繁的消息同步。”[2019/8/11]

与比特币一样,Ergo坚守“UTXO”模型,放弃了以太坊等平台采用的账户模型。我们做出这个选择的原因有很多,但首先有必要解释一下UTXO或“盒子”模型的工作原理。

韩国金融消费院:政府为何不对自己的无能进行反省反而打压加密货币市场:7日,韩国金融消费院表示很难理解为什么政府没有对加密货币政策的失败或自己的无能进行反省,反而一直在用权利打压加密货币市场。[2018/3/7]

大多数人认为账户余额是一个简单的数字,在您发送或接收资金时会更新。这是处理问题的直观方法;毕竟,这就是金钱在现实世界中的有效运作方式。当进行不同的资金转入和转出时,您的银行账户余额会增加或减少。这就是“账户”模型的运作方式:您在区块链上的余额会因进出账户的交易而改变。

比特币为何如此疯狂:答案也许在这1000多个账户里:就在上周四晚到今天,几天时间里比特币的疯狂再次呈现:先是价格突破1.5万美元,就也就是突破10万元人民币!紧接着,比特币的价格又跌破13000美元关口。新进的比特币投资者必须警惕:这1000多人或许具有影响比特币整体的定价能力。芝加哥大学基金会前任投资组合经理Ari Paul认为,和任何资产类别一样,大型个人持有者和大型机构持有人可以合谋操纵价格。还有一种可能,这些早期比特币投资者已经彼此认识,因为他们是在早期挖掘加密货币比较容易时进入这个市场,当时“挖矿”行业和币圈的圈子很小。[2017/12/11]

可追溯至产币交易

比特币率先采用的UTXO模型完全不同。您可以把这想象成一个人拿着一系列面包面团块。它们的余额是这些面团块或UTXO的总和。在将面团块发送到新地址之前,它们可以被分割或组合,但您总是知道它们来自哪里。例如:

Alice有100g面团。她掰下75g递给Bob,并为自己保留了25g的“零钱”。Charlie有250g面团。他取下150g给了Bob,为自己保留了100g零钱。Bob从Charlie给他的150g面团中掰下20g,并将剩余的130g与Alice给他的75g面团合并。他将205g的总量给了Dave,自己保留了20g的零钱。Dave现在有205g面团,这以前属于Charlie。在Charlie拥有它之前,75g曾经属于Alice,而130g曾经属于Bob。

在UTXO模型中,可以组合和分割“币块”,但与面团不同的是,它们不会混合在一起。您可以将资金的历史记录直接追溯到首次挖掘这些币的?coinbase交易。这与账户模型截然不同,账户模型只是简单地更改了每个账户的余额。

为什么选择UTXO?

UXTO模型有几个隐含条件。首先,每个对象都是不可变的——不能像在进行交易时编辑账户余额那样“编辑”币块。余额是根据交易历史记录计算得出的,可以回溯到这些币最初出现的时间点。

这使得维护安全性变得更加简单,因为UTXO要么以您期望的形式存在,要么根本不存在。使用账户模型,您需要仔细检查您正在处理的账户是否处于应有的状态。这也使UTXO对链下协议更加友好,例如侧链和闪电网络。

账户可以使得存储“状态”变得更简单,但简单并不总是意味着更好。借助Ergo的扩展UTXO模型,状态转换更加明确,因此更加清晰——不会出现意外情况。这处理起来可能有点麻烦,但在安全性方面要好得多,也更直接。

声明:本文著作权归原作者所有,所写内容仅代表原作者观点,不做投资理财建议。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:62ms0-3:493ms