本文主要讲解“什么是比原链更具扩展性的UTXO模型”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“比原链更具扩展性的UTXO模型是什么”!
用户模型是一种重要的数据结构,需要在开始时与原始链进行比较来确定。团队选择仍然集中在两个典型的模型系统上,客户模型和UTXO模型。像大多数其他区块链设计一样,选择模型决定了协议层的重要实现。两种模式各有利弊,不同的区块链会对自己想要关注的场景有自己的判断。
UTXO 的起源(来自高明的中本聪)
中本聪对比特币的设计将整个世界带入了数字货币时代。比特币起源于中本聪,UTXO起源于比特币。自然,UTXO来自辉煌的中本聪。UTXO的优点:
在版本控制方面,svn是一个集中的数据库来保存一个台账,这自然与区块链的设计相悖。git是一个去中心化的数据库,但是会保存过多的冗余数据,这肯定会大大降低分布式性能。UTXO数据库是一个git,它已经放弃了历史包袱,只存储最后一个版本。简单实用。
UTXO具有天然的匿名效应,很难找到一个账户对应的未使用交易。比如门罗币就是混合币,实现隐私。
在性能方面,由于UTXO是一个独立的数据记录,所以有很大的并行性,可以提高区块链事务的验证速度。
设计的易实现性 — 以太坊 弃UTXO用账户模型
Ethereum黄皮书的设计师Gavin Wood对UTXO有着深刻的理解。既然UTXO有这么多优点,他为什么要抛弃UTXO?这时,你应该问一个问题,Ethereum最大的亮点是什么?你肯定会回答:聪明的合同。只是因为对智能合约的考虑,加文伍德很难实现基于UTXO的图灵完全智能合约(一款多功能超级计算机)。账户模型自然是面向对象的,每笔交易都会记录在相应的账户中(nonce)。为了方便管理账户,引入了世界状态,每一笔交易都会改变世界状态。这与现实世界相对应,每一个微小的变化都会改变世界。
00-1010 Ethereum的账户模型可以轻松实现超级计算机模型。然而,性能一直是一个不可逾越的障碍。性能方面,utxo自然可以并行运行,而基于世界状态的Ethereum很难扩展。加文伍德当然意识到了这一点,但很难改变。那么不如用函数编程特性用rust重写Ethereum,这也是一种妥协。
00-1010否定之否定的规律在马克思哲学中,事物的发展变化是螺旋式上升的。它也适用于区块链领域。向前迈一步,就需要后退半步。基于UTXO模型的堆叠虚拟机的实现仍将失去灵活性。用UTXO组合以太网EVM是极其困难和不切实际的。就像用haskell语言实现cpp风格的面向对象编程,但是没有实际意义。世界上没有银弹,所以要放弃一部分原链,妥协一部分才能更好的适应场景。
在采用比特币UTXO并行操作模式的前提下,我们还做了针对性的改进,增加了资产编号字段,使得不同的资产可以在同一笔交易中进行转换,只要总投入等于总产出即可。
然而,为了使数据易于管理和编程,我们引入了以太网世界状态的概念。每一项资产都维护着一个全球的世界状态,其特点是快速搜索、不可更改、简单易提供证明。其具体实现将参考Ethereum的PAT树(扩展基数树)、比特币的merkle树和宇宙的IAVL树(不变的平衡二叉树)。每个资产的所有输出在全局UTXO数据库中都有一个索引计数(每个输出的计数不能超过1。当保持并行计算时,一个输出最多可以被一个BVM实例使用,这保证了数据的一致性)。BVM是由原链实现的智能合约虚拟机模型。每次事务执行都会实例化一个BVM实例。只有在BVM实例中,才能在保持有效性和一致性的前提下更新每个资产的世界状态。BVM可以并行创建多个“契约沙盒”实例,其中契约的运行不受外界影响。
原创链创作的初衷是为了解决数字资产注册和流通问题。对于公共链项目,保持简洁、高效和集中是为了确保安全性。新的扩展UTXO模型是基于这个场景的集成和改进。
至此,相信大家对“什么是比原链更具扩展性的UTXO模型”有了更深的理解,让我们一起来实践吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153659.html