解释Cardano的eUTXO模型

Cardano与Ethereum在会计模式上有根本性的不同。Cardano使用扩展的UTXO模型(eUTXO),而Ethereum则使用账户。在这篇文章中,我们将以简化的方式解释这些方法之间的区别。

会计模式
你可以把区块链想象成一个账本,一个由会计师写的会计记录的历史。账本是开放的,所以所有的记录都可以被所有的会计人员查看,但也可以被所有的用户随时查看。在我们的比喻中,会计人员将代表网络。想象一下,会计师们坐在银行里,有客户(用户)来找他们做会计分录(交易)。所有的会计师都共享一个账本,他们用这个账本做会计分录。

在区块链网络中,用户拥有硬币。即使记录在一个分类账中,当用户来找会计师要求更改记录时,他们必须用拇指指纹来确认(类似于交易的数字签名)。想象一下,ADA和ETH币是用户放进木箱(钱包)的纸片。这些纸片在物理上是在账本中的,它们一起构成了账本的各个页面,但由于有了这个盒子,用户可以看一下这些纸片,如果他们要求对记录进行修改(发送交易),可以把它们交给会计。

Cardano和Ethereum在账本条目的书写方式上有所不同,因此客户如何持有这些币。

Cardano与ADA币的工作方式类似于纸币,只是面额可以是任何价值。例如,12 ADA,3.5 ADA,和0.3 ADA。用户的盒子里有3张纸,上面写着这些价值(他有3个UTXO)。这总共是15.8 ADA。与以太坊不同,Cardano有一个额外的能力,即盒子里可以有多个更小的盒子,其中包含单个纸片(小盒子代表区块链地址)。一个小盒子里可以有更多的纸片。

oxQNeikq2Yo83ghvqH5tGApT8LMO7-UNoOrf3x9OJZ9vEm88bkIotULZRABh9WTNf1HpvYwMHj27c6xRGkxBM1_Fq_Gvh5NMDO9QUrQPKXUGTXsf_blVJHivsgvDg0K92HyZkm5bnnqERrZRh9TMK5c

如果Alice想给Bob发送14个ADA,她就必须给会计师2张纸,其中有12个ADA和3.5个ADA。会计师将创建一张新的纸片(一个新的UTXO)并在上面写上14ADA。他将把这张纸放在鲍勃的盒子里。接下来,他将创建另一张价值为1.5ADA的新纸,并将其放回Alice的盒子里。
图片

当会计完成账目记录(处理一笔交易)时,爱丽丝的盒子里会有2张价值为0.3 ADA和1.5 ADA的纸片。鲍勃的盒子在入账前是空的。账目输入后,他将有14个ADA。

我们把这个比喻简化了一下。会计师在账本上写一个条目会收取一定的费用(交易费),比如说0.2 ADA,所以他只会把1.3 ADA放回Alice的盒子里。

在以太坊的会计模型中,用户的盒子里永远只有一张写有价值的纸。这类似于银行账户中的当前余额。在Cardano的案例中,Alice的盒子里有15.8个ADA。假设她在以太坊有15.8个ETH,那么她的盒子里就有一张写着这个数值的纸。

89xE2DvITCQK45EZZHB3Ke6qkQSmhX_4OHY-l9C_7-GrOtIOzU7oZgVFW0-1XUYtcvhqhxkmQXz_pZV7hNeIUlNDiHjHHLSz6ScFBkvhAhw9gvarXI5fG8a5RUs_ihKzCQLW_ImgMrVG9Npkei4YjKc

在以太坊的情况下,当会计要做一个新的会计分录时,她会同时覆盖爱丽丝和鲍勃那张纸上的数据。如果爱丽丝向鲍勃发送了14个ETH,就像前面的例子一样,会计将覆盖爱丽丝纸片上的15.8到1.8的数值。同时,她也会覆盖鲍勃的纸片,使数值0变成14。在这个例子中,我们还省略了会计师的费用。

Esyg3Ds5h46Tlp-Fl577Ouex5Gwa5G80v69UAWJ4zm1uZrJ4sGwnsyotQ3hwPzDVteDBuQegPHKMV6U4R5zimNNwcyUFmfN2iZzBg-5r-6Pp57TC3pRKFrEyToCBgx3I_FNMVb147NCb-FjvjdBRif8

我们用例子来说明用户如何去找会计师,要求他们做一个分类账目,这类似于发送交易。如果用户向会计人员要求进行更复杂的操作,如贷款或交换两种资产(执行智能合约),其工作原理也非常类似。

以太坊中的新记录是通过改写纸片来创建的(改变余额),而在Cardano网络中,单独的新纸片是在以前的纸片基础上创建的。创建新的纸片而不是改写纸片是会计模式之间的一个关键区别。

使用账本的区别
会计模式影响到Cardano和Ethereum如何使用账本,或会计人员如何创建新的条目。以太坊网络上的会计在创建一个新记录(或多个记录)时,必须将账本从保险库中取出,并将其带到他的办公桌上,以同时处理所有箱子(共享全局状态)。

为了进行新的记录,会计必须对所有箱子有一个概览,并且必须确保在他进行记录时,另一个会计不会试图进行记录。通过把账本拿到自己的办公桌上,会计向其他会计发出信号,现在只有他可以做分录。

网络中的其他会计不能将他们的分录输入分类账,因为另一个会计为自己保管。他们甚至不能提前准备新的分录,因为他们不知道分类账中会有什么新分录。一旦账本回到保险库,另一个会计就可以拿走它。所有的会计人员都可以查看新的分录并验证它们是否正确(区块验证)。

图片

这样做的好处是,独占账簿的会计人员可以在所有的方框中进行任何修改。他甚至可以在一个盒子里连续多次修改(重写)一张纸。缺点是,新条目的书写顺序很重要。如果一个会计人员输入了20个新条目,其他会计人员必须尊重这个顺序。各个分录是相互依存的。

可能发生的情况是,在队列中有更多的用户有兴趣在分类帐中做一个分录。即使他们的请求在排队时是有效的,当轮到他们时,会计可能无法处理这个请求。尽管如此,用户还是必须向会计人员支付一笔费用,因为他曾试图进行处理。无法进行会计操作的原因是,它依赖于盒子(盒子里的纸片),当另一个会计把账本据为己有时,盒子就会发生变化。不幸的是,用户没有机会在排队之前提前检查他们的请求是否有效。

Cardano网络中的会计在想要创建新的条目时,也必须把账本从保险库拿到他的桌子上,但他并不妨碍其他会计做他们的工作。会计师不需要跟踪所有其他箱子,因为他只用客户放在他桌子上的纸片工作。会计师可以验证所要求的会计交易的有效性,而不管其他盒子(没有全局状态)。

客户可以事先验证他们要求的交易是否有效(链外验证),如果是,他们可以确定当他们加入队列时,会计师将接受并执行他们的交易。他们还可以确定,费用将保持不变。

各个纸片之间并不相互依赖,所以由自己拥有账本的会计师执行的条目顺序并不重要。当会计人员将分类账返回保险库时,其他会计人员可以并行地验证分录。

一个特定的会计操作独立于其他盒子(盒子里的纸片)的好处是,如果它通过了用户的本地验证,几乎肯定会成功。用户可以自己扮演会计,看看他的请求是否有效。这对于贷款和资产交换(智能合约)等更复杂的操作尤其重要。

缺点是,特别是对于更复杂的会计业务,两个会计可能想同时在同一张纸上工作,但只有一个人可以成功。在某些情况下,必须在会计人员之间引入一些特殊的同步性。

目前,Cardano网络中的会计人员的工作与以太坊网络类似。主要的区别是,会计人员不需要知道其他用户盒子里所有纸片的来龙去脉就能完成他们的工作。创建一组新的条目以及随后的验证的原理与以太坊网络中的工作方式类似。一位当选的会计把账本从保险库拿到他的桌子上,创建新的条目。当我们转移到新版本的Ouroboros PoS共识时,我们将看到更大的差异。

关于会计模式的可扩展性选择
以太坊网络中的会计人员不能在单个会计业务上并行工作。在任何时候,只有一个会计可以将账本从保险库中取出。然后,他可以安全地处理箱子里的所有纸片。因为其他会计人员必须始终遵循账簿中的最后一条记录来继续他们的工作,他们不能与正在排队等候的客户一起工作。他们总是要等到账本被送回保险库后才能查看之前的条目。他们必须验证这些,只有这样,另一名会计才能开始处理队列中的下一个客户。这基本上阻止了会计业务的并行处理,是可扩展性的一个主要障碍。

在Cardano网络中,多个会计人员将有可能同时工作,每个人都可以在自己的队列中处理客户请求。这种能力将被用于名为Leios的PoS共识中。Cardano网络将能够让会计师提前准备好会计分录,供一位主会计师审查所准备的分录。

当会计人员将账本据为己有时,他总是写下更多的新条目(创建一个新区块)。这就形成了一个分录清单,然后必须由其他会计人员进行核实(网络共识)。这个过程通常需要一些时间(区块时间),新条目的数量是有限的(区块大小)。会计师以大约20秒的间隔轮流分享账本。例如,即使一个会计人员工作一秒钟,其他会计人员也需要其余的时间来验证条目。

Cardano将允许被选中的会计(或可能是更多的会计)每隔一秒准备新的分录,然后让主要的会计做主要的检查(发现并丢弃重复花费的尝试,删除重复的内容,等等)。这之所以可能,是因为个别会计人员的工作在很大程度上独立于其他会计人员和主要会计人员的工作结果。这种独立性来自于盒子里的纸片是相互独立的。
图片

在以太坊网络中,可扩展性将不得不以不同方式处理。不能使用同样的方法,因为各个会计师的工作是相互依赖的。每个会计需要确切地知道前一个会计做了什么。然而,由于在网络上传播数据需要时间,他们可能无法获得这些信息。一个限制是需要为一个需要处理所有箱子的会计人员锁定分类账,而其他会计人员则无法在这期间做一些有用的事情。新记录(区块)的产生和随后的验证需要20秒,在这段时间内只有一个会计能够工作。其余的会计人员则处于闲置状态。

总结
我们希望我们的比喻能帮助你理解Cardano和Ethereum的会计模式的区别。乍一看差别不大,但实际上,会计模型影响到可扩展性、所需会计操作结果的可预测性、收费金额的可预测性、安全性等。如果你想了解更详细的描述,我们推荐我们更全面的文章