比原链设计思考: 扩展性UTXO模型

发布时间:2021-10-26 06:44:00

用户模型是比原链在最初就需要确定的重要数据结构, 团队的选择还是聚焦在两种典型的模型系统中,Account模型和UTXO模型,和其他大多数区块链设计一样, 选择了模型就决定了协议层的重要实现,两种模型各有利弊,不同区块链针对想聚焦的场景自身会有判断。


UTXO 的起源(来自高明的中本聪)

中本聪对比特币的设计,让整个世界进入了数字货币时代。比特币起源于中本聪,UTXO出自比特币。自然,UTXO来自高明的中本聪。UTXO的优点:


在版本控制方面的考虑,svn 是中心化的数据库保持一份账本,这和区块链的设计自然是相违背的,git 是去中心化的数据库,但会保存太多冗余数据,对于分布式性能肯定是要大打折扣。UTXO数据库是抛弃了历史包袱的git, 只存储了最后一个版本。简易实用。










UTXO 具有天然的匿名效果,一个账户所对应的未花费交易是难以发现的,如门罗币就是采用混币的方式实现隐私的。在性能方面,由于UTXO是独立的数据记录, 那么就存在极大的并行性可以提升区块链交易验证速度。
设计的易实现性 ? 以太坊 弃UTXO用账户模型

以太坊黄皮书的设计者Gavin Wood 对UTXO的理解,十分深刻, 既然UTXO有这么多的优点,他为什么弃用UTXO了? 这时你应该提出个问题,以太坊的最大亮点是什么?你肯定会回答:智能合约。正是因为智能合约的考虑,Gavin Wood要基于UTXO去实现图灵完备的智能合约(功能多样性的超级电脑)是困难的。而账户模型是天然的面向对象的,对每一笔交易,都会在相对应账户上进行记录(nonce++)。为了易于管理账户,而引入了世界状态,每一笔交易都会改变这个世界状态。这和现实世界是相对应的,每一个微小的改变,都会改变这个世界。











追求更高的性能

以太坊的账户模型很容易的实现了超级电脑模型。然而,性能一直是一道难以逾越的坎。在性能方面,utxo天然的可以并行运行,而基于世界状态的以太坊难以扩展。Gavin Wood当然是认识到这一点的,但要去改变,很难。那到不如用带有函数式编程特点的rust 去重写以太坊,也算是一种折中方案。


比原链的思考

马克思哲学的否定之否定规律,事物的发展变化是螺旋式上升的。在区块链领域也是适合的,前进一步,也需要后退半步。基于UTXO模型去实现堆栈式虚拟机, 那还是会失去灵活性,用UTXO去结合以太坊EVM,?难度极大,也是不太实用的,这好比用haskell语言,去实现cpp风格的面向对象编程,?看不到有什么实际的意义。世界上没有银弹,比原链必须舍弃部分,妥协部分才能更好地适应场景。


我们在采用了比特币UTXO的易于并行运算的模型前提下,还做了针对性的改进,加了个资产号字段,使不同的资产可以在同一笔交易中处理转换,只要满足总输入等于总输出就可以。










但为了数据易于管理,易于编程,?我们引入以太坊的世界状态的概念,每一种资产都维持一个全局世界状态,该全局世界状态具有快速可查找,不可更改,简单易提供证明的特性。它的具体实现会参考以太坊的PAT树(一种扩展的基数树),比特币的merkle树,以及cosmos的IAVL树(一种不可更改的*衡二叉树)。每一种资产的所有outputs在一个全局的UTXO数据库中会有一个索引计数(每一个output的计数不能超过1,保持并行计算时,一个output最多能被一个BVM实例所使用,确保了数据一致性)。BVM是比原链实现的智能合约虚拟机模型,?每一笔交易的的执行,都会实例化一个BVM实例,只有在BVM实例中,各资产的世界状态才能在保持有效性,一致性的前提下更新状态。BVM可以并行创造多个”合约沙盒”实例,?在沙盒中合约的运行不受外界影响。







比原链创造的初衷是解决数字资产登记流转的问题, 对于公有链项目,保持简洁,保持高效,保持专注,就是保*踩 新的扩展型UTXO模型正是基于这种场景实现的融合和改进。

相关文档

  • 读居里夫人传有感
  • udhcp源码详解
  • 小学五年级作文500字:难忘的礼物
  • 屏幕分辨率怎么调整
  • 我的读书趣事小学生作文400字
  • 程序员圆创业梦:小型软件公司如何做大?
  • 2018中国农业银行信用借款合同
  • oppo手机刷机后照片没了怎么恢复
  • JAVA同步、异步、阻塞和非阻塞之间的区别
  • 管理者激励员工的5个技巧
  • WEB请求处理三:Servlet容器请求处理
  • OpenMV&&stm32通信
  • 江南旅游心得小学700字
  • 周一祝福短信:我们要幸福
  • 离心力的方向为什么不是指向切线
  • spring相关之面试题:BeanFactory与FactoryBean的区别
  • 美丽的家乡作文二年级
  • 妇科炎症常见的治疗方法有那几个 阴道炎的治疗方法具体有哪些
  • 魅族pro6plus安兔兔跑分
  • 漫步诗海手抄报
  • C++STL 集合(set)容器用法
  • 中华文化的作文
  • 五月病是什么意思应对五月病的小妙招
  • 餐饮店长简历模板
  • 挪威留学的学历、语言及资金要求
  • 和平的英语短语精选合集
  • 世界爱粮日
  • 写腊八粥味道的作文
  • 可爱小房子小班亲子手工教案设计和反思
  • 小猿圈python学习-秒懂二进制
  • 猜你喜欢

    电脑版