文章阅读页通栏

MultiVAC发布智能合约紫皮书:从分布式账本到可编程多核世界计算机

来源: MultiVAC中文社区 作者:
MultiVAC今天正式发布了智能合约紫皮书:《MultiVAC编程模式紫皮书:支持图灵完备智能合约的区块链分片方案》。 该论文是MultiVAC核心算法团队继2018年发......
MultiVAC今天正式发布了智能合约紫皮书:《MultiVAC编程模式紫皮书:支持图灵完备智能合约的区块链分片方案》。

该论文是MultiVAC核心算法团队继2018年发布技术白皮书和技术黄皮书后的第三个技术力作:

· 在弹?#32422;?#31639;白皮书中,MultiVAC首创了弹?#32422;?#31639;分片模型,将区块链的不可能三角转化成为弹?#32422;?#26500;,开发者可以自由定义和取舍安全性、去中心化和扩展性,描述和论证了MultiVAC弹性公链的整体技术架构;

· 在全维度分片黄皮书中,MultiVAC提出了世界上首个计算、存储和传输三个维度都实现完全分片的区块链架构,真正实现了无限拓展性,还有效降低了矿工门槛,使得个人电脑等普通计算设备也能够自由加入网络;

· 在今天发布的编程模式紫皮书中,MultiVAC在高效低门槛的全分片架构上,实现了对图灵完备智能合约的有效支持,提供了一个全新的支持并行化处理的区块链编程模型,将区块链这台世界计算机从单核升级到可无限扩展的多核?#20302;場?/span>

MultiVAC CTO应翔博士在紫皮书中指出:

“很多分片项目基于区块链2.0时代的浅薄?#29616;?#23558;区块链分片的层次划分为网络分片、交易分片、状态分片,而忽视了下一代区块链?#20302;?#25152;面临的真正挑战来?#20174;詼源?#32479;冯诺依曼计算机体系的革命性创新和重定义。若真正视区块链为下一代去中心化的世界计算机,区块链?#20302;?#24212;重建新的体?#21040;?#26500;以应对吞吐量限制,设计全新的存储和传输策略来重定义世界计算机的数据流,提供全新的编程模式来适配全新的体?#21040;?#26500;,坚守去中心化的初心以保?#38505;?#19968;世界计算机不受任何单一个体的控制且永不?#36824;?#20572;。

MultiVAC设计了全维度平行分片的架构,真正将区块链这个世界计算机从单核升级到可无限扩展的多核?#20302;常?#35299;决了关键性的吞吐?#31185;烤薄?#24320;创性的存储与数据控制权分离策略,颠覆了冯诺依曼结构依赖的存储框架,使分布式数据流可交互、可验证。全新的异步分片开发模式和LLVM开发平台,允许开发者在多核分布式体系下灵活开发,实现各种编程逻辑。而低矿工门槛保证了普通用户可以自由加入MultiVAC?#20302;常?#25972;个?#20302;?#30340;控制权又完整掌控在普通矿工手中,保证了MultiVAC成为真正去中心化的区块链架构。

2008年中本聪在比特币白皮书中高喊的“One-CPU-One-Vote”理念,被ASIC矿机和中心化矿池所无情摧毁,但终将在MultiVAC上再次重建,并更加强大!”

自去年10月份MultiVAC算法团队启动智能合约编程模式设计,到今年5月份完稿发布,紫皮书共经历了6个月接近30个版本的迭代。方案设计的同时,团队同步?#24179;?#20102;工程可行性验证?#22270;?#26500;开发工作。

紫皮书的发布,也意味着MultiVAC底层架构已经全?#21487;?#35745;完毕,接下来将进入经济模型讨论与开发者平台构建阶段。


以下内容是对紫皮书部分的摘要和解读,?#38431;?#24191;大技术爱好者和社区粉丝讨论指正:

如果概括MultiVAC的整体设计,引用紫皮书中的一段话:“MultiVAC精巧地将各个功能模块做了合理划分,使运行节点各司其职。在存储上,将压力转移到存储模块,减轻了普通参与者的负担,而存储模块本身不涉及执行和共识,不存在中心化风险。在执行上,MultiVAC 提供了完整的指令集,不给开发者设置局限,且在设计过程中,时刻体现了对运行性能的重视。在共识方面,权力在各执行节点中均匀分布,平权原则落到实处。”

MultiVAC ?#20302;?#30340;特色如下:

· MultiVAC 是一个图灵完备的分片区块链方案。为开发者提供灵活的编程开发框架以搭建复杂的应用。

· MultiVAC 是首个实?#20013;?#33021;完全线性扩展的分片。异步分片架构为构建高 TPS 的区块链网络提供了基础。

· 降低了参与者的设备门槛,维护了区块链?#20302;?#21435;中心化的核心价值主张。MultiVAC 网络的参与者不需要性能强劲的设备,使得社区更加平民化、去中心化。

· MultiVAC 的拓展性十分优异。目前的 MultiVAC 方案灵活、简洁、优雅,在当前基础上可以较简单地加入新的扩展功能,如闪电网络或隐私计算?#21462;?/span>

MultiVAC ?#40644;?#24615;地解决了当今区块链世界的多项关键?#38405;?#39064;,为建立一个理想的区块链社区打下了坚实的基础。

1、UTXO/账户双模型弹性选择+异步分片编程——保证跨分片交互一致性

现有的其他合约分片方案,大多采用两种方式保证跨分片信息传递的一致性。一种要求发送跨分片交?#36164;?#31561;待回执,并对涉及数据加锁,不仅大幅度降低?#20302;承?#33021;,回执也可能丢失。这就像你通过微信给一人发送消息,如果对方没有回复,你需要一直等待,什么也不做。可能对方很久之后才能回复你,也有可能永远不回复(消息丢失了),因此这种方式会对?#20302;承?#33021;产生极大的限制。

另一种是将跨分片交易拆分为多个子操作。?#28909;?#19968;?#24335;?#26131;从分片A发送到分片B,在分片A中执行扣款后,转账指令的执行将完全由分片B决定,因此一但交易?#21487;?#21319;,将导致执行?#25215;?#20007;失单调一致性。这就要求跨片操作满足交换律(转账类操作),即改变执行?#25215;?#20063;可以得到同样结果。但很多其他逻辑的智能合约是无法满足交换律的,很多公链项目通过对?#20302;?#30340;约束来保证此类指令的交换律,因此放弃了智能合约的图灵完备性,使得可开发的应用逻辑受到了极大的限制。

举个例子,A村的两个男村民皇埔铁牛和司马铁蛋都爱上了隔壁B村的苏翠花姑娘,他们都写了一封情书给苏翠花。而苏翠花先收到谁的情书?#31361;?#25509;受谁。皇埔铁牛和司马铁蛋先后将情书放入邮筒,并由B村的?#23454;?#21592;送到苏翠花的手里。在一个无法维持单调一致性的?#25910;低?#20013;,苏翠花先收到谁的信取决于?#23454;菰保河实?#21592;保证信最终会送到收信人手中,但是收信人收到信的?#25215;?#19981;一定遵循基础的?#25215;頡?#32780;在MultiVAC的?#20302;?#20013;,?#23454;?#21592;保证收信的?#25215;蠔图?#20986;信件的?#25215;?#19968;致。

针对这一问题,MultiVAC将跨片操作分为两类:

对于满足交换律的操作,使用UTXO数据类型,矿工可以无视内容低成本快速执行操作;

对于必须满足单调一致性的复杂智能合约操作,则使用账户模型,并强制从协议层面要求矿工按?#36134;承?#25191;行,但成本较高,适用于低频操作。

通过首创的双数据模型弹性选择,允许开发者灵活选择所需的数据类型,使?#20302;?#22312;一致性、性能和成本方面达成了灵活与平衡。

?#36865;猓?#30719;工发送跨片间交?#23383;?#20196;是异步操作,发送完毕后矿工可立即参与下一轮的出块,无需等待其他分片回执,分片之间数据不共享和交互不堵塞,避免了数据加锁带来的性能瓶?#34180;?/span>

2、全局数据分散设计+多账户模型——提高分片并行性能

我们知道,将区块链网络进行分片的目的是要提高整体性能。因此为了达到并行处理的目的,分片之间不可能进行完全数据共享,那样也违背了分片的初衷。但智能合约又要求所有分片都?#28304;?#20840;局数据有感知。

?#28909;紓?#26576;个电商平台的智能合约中有10个商品,分片A的用户买了5个,分片B的用户最多只能购买5个,商品数量就是全局数据,每次合约调用各分片间都需要相互同步,否则?#31361;?#36896;成超卖。因此,如何处理对全局数据的依赖是所有区块链?#20302;?#37117;要面对的难题。

为了保证数据一致性,目前通常有两种方案,一种是给数据加锁,同一时间只能被单一分片读写;另一种是数据只允许被单一指定分片调用。但这两种方案都会导致智能合约的吞吐量?#29616;?#21046;约于单个分片。

针对以上,我们首次提出将全局数据拆分到各个分片上,即将总商品数量下放到分片,每个分片中都会有一定的商品额度,当交易发生时,智能合约只读写对应分片的数据就可以。允许用户在不同分片上进行操作,防止分片间购买力不同而造成的库存不足,将全局交易分散到各个分片上。同时,用户在所有分片上都有账户,鼓励用户进行快速低成本的片内交易,充分?#22836;?#20102;分片的并行性能。

3、图灵完备虚拟机+高?#38431;?#35328;C/C++/Rust——实现超高自由度开发

正如紫皮书中提到的,目前很多公链方案为了简化设计,舍弃了图灵完备性,导致开发者能够实现的业务逻辑?#29616;?#21463;限。也有部分公链提出了?#32422;?#30340;开发语言,不仅学习成本高,而且无法支持高级开发框架,徒增开发者的编程负担。

在这一点上,MultiVAC秉承了一贯的设计理念,不给开发者设限。我们提供了图灵完备的虚拟机,同时适配C/C++/Rust等多种高级成熟编程语言,为开发者提供灵活的编程开发框架以搭建各?#25351;?#26434;应用。

不仅如此,MultiVAC 团队认为,没有完美的区块链?#20302;常?#19968;套好的区块链方案应该能够随着各领域的技术?#40644;?#19981;断进化。所以在设计过程中,MultiVAC遵循了松弛可扩展的原则,保证整套技术框架易迭代易拓展,各模块能够灵活地整合新技术,与?#26412;?#36827;。目前的 MultiVAC 方案灵活、简洁、优雅,在当前基础上可以较简单地加入新的扩展功能,如闪电网络或隐私计算?#21462;?/span>

关键词: MultiVAC  分布式账本  
0/300
? 拳皇命运官方实力排名
重庆时时彩计划 海南麻将技巧视频教程 穿越火线夜玫瑰 cf手游相当划算 剑网3指尖江湖怎么拿到测试资格 有你的校园闯关 七星彩开奖直播 夜店游戏 守财奴弥留之际阅读答案 哈德斯菲尔德大学qs世界排名