http://www.7klian.com

UTXO 和 Account 模子比拟

对付 P2SH 范例的生意业务,具有更好的隐私性。生意业务中的 Input 是互不相关联的,可以利用 CoinJoin 这样的技能,来增加必然的隐私性。

在当前区块链世界中,主要有两种记录生存方法,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 回收的是 UTXO 模子,Ethereum 回收的 Account 模子,同样 CITA 也回收了 Account 模子。

UTXO 模子是无状态的,更容易并发处理惩罚。

第一,关于计较的问题的。

UTXO 生意业务自己对付区块链并没有巨大的计较,这样简朴的讲其实并不完全精确,原因分有两个,,一是 Bitcoin 自己的生意业务多为 P2SH,且 Witness script 长短图灵完备的,不存在轮回语句。而对付 Account 模子,譬喻 Ethereum,由于计较多在链上,且为图灵完备,一般计较较为巨大,同时合约安详性就容易成为一个较量大的问题。虽然是否图灵完备对付是否是账户模子并没有直接关联。可是账户模子引入之后,合约可以作为一个不受任何人节制的独立实体存在,这一点意义重大。

批量生意业务的本钱较低。设想矿池向矿工付出手续费,UTXO 中因为每个 Input 和 Out 都需要单独 Witness script 可能 Locking script,生意业务自己会很是大,签名验证和生意业务存储都需要耗损链上名贵的资源。而 Account 模子可以通过合约的方法极大的低落本钱。

利益:

合约以代码形式生存在 Account 中,而且 Account 拥有自身状态。这种模子具有更好的可编程性,容易开拓人员领略,场景更遍及。

除 Coinbase 生意业务外,生意业务的 Input 始终是链接在某个 UTXO 后头。生意业务无法被重放,而且生意业务的先后顺序和依赖干系容易被验证,生意业务是否被消费也容易被举证。

https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53

UTXO 模子

UTXO 模子中,生意业务只是代表了 UTXO 荟萃的改观。而账户和余额的观念是在 UTXO 荟萃上更高的抽象,账号和余额的观念只存在于钱包中。

What are the pros and cons of Ethereum balances vs. UTXOs?:

Bitcoin 的设计初志是点对点的电子现金系统,在比特币中,每个生意业务耗损之前生意业务生成的 UTXO 然后生成新的 UTXO,账户的余额即所有属于该地点的未耗费 UTXO 荟萃,Bitcoin 的全局状态即当前所有未耗费的 UTXO 荟萃。Ethereum 意图建设一个更为通用的协议,该协议支持图灵完备的编程语言,在此协议上用户可以编写智能合约,建设各类去中心化的应用。由于 UTXO 模子在状态生存以及可编程性方面的缺陷,Ethereum 引入了 Account 模子。下面我们对两种模子的优缺点做进一步展开。

第四,存储问题。

因为 UTXO 模子中,只能在生意业务中生存状态。而 Account 模子的状态是在节点生存,在 Ethereum 中利用 MPT 的方法存储,Block 中只需要共鸣 StateRoot 等即可。这样对付链上数据,Account 模子实际更小,网络传输的量更小,同时状态在节点当地利用 MPT 方法生存,在空间利用上也更有效率。譬喻 A 向 B 转账,假如在 UTXO 中假设存在 2 个 Input 和 2 个 Output,则需要 2 个 Witness script 和 2 个 Locking script;在 Account 模子中则只需要一个签名,生意业务内容只包括金额即可。在最新的断绝见证实现后,Bitcoin 的生意业务数据量也大大淘汰,可是实际上对付验证节点和全节点仍然需要针对 Witness script 举办传输和验证。

当 Input 较多时,见证剧本也会增多。而签名自己是较量耗损 CPU 和存储空间的。

Why is EVM-on-Plasma hard?: https://medium.com/@kelvinfichter/why-is-evm-on-plasma-hard-bf2d99c48df7

第三,关于 Account 模子的生意业务重放问题。

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