请选择 进入手机版 | 继续访问电脑版

MOAC Cloud

快捷导航
查看: 1618|回复: 45

众链之母(MOAC)技术白皮书

  [复制链接]

20

主题

61

帖子

299

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
299
发表于 2018-2-6 11:19:49 | 显示全部楼层 |阅读模式
本帖最后由 墨客西风 于 2018-2-6 17:31 编辑

白皮书封面.jpg


[目标]

MOAC 项目旨在提供一种可扩展且有弹性的区块链,通过分层化的结构来支持数字资产交易,数据访问和流程控制。 它创建了一个框架以允许用户用高效的方式执行智能合约。它还提供了开发的体系结构,采用底层基础设施来快速简便地产生子区块链。 它是一个区块链平台,可以为子区块链的架设提供必要的部件,同时为新想法的测试、私有链的部署、复杂任务的处理和智能合约的应用提供解决方案。

[当前的问题]

自从 2008 年中本聪的比特币项目引入了区块链技术以来,这项技术的发展非常迅猛。在过去近十年的时间里,开发者们以极大的热情来探索区块链技术这个新领域,试图拓展区块链的应用,提高区块链的效率和促进区块链的商业化。

区块链系统中的原生数字货币在区块链推广中起到了至关重要的作用,比如比特币系统的比特币,以太坊系统的以太币等。这些原生数字货币不仅推动了更多的参与者来进入区块链生态系统,也为当前存在的支付系统提供了更有效的方案。

当然,目前区块链技术还处于发展的早期阶段,现有区块链系统都有以下一个或多个问题。

1.  难以尝试新的想法

新的想法意味着要建立一个新的区块链系统。 这意味着有大量的额外开销和精力要用来设置服务器,培训开发团队,建立社区,吸引新用户等。

2.  难以升级

一旦区块链被部署和进入生产模式,很难在功能上进行添加/修改/删除。 区块链修改的结果就是会造成区块链系统的软分叉或者硬分叉。 而每个分叉都需要大量的精力来处理,也必须承受由此带来的经济后果。

3.  区块链系统之间不相容

不同的区块链有不同的模式,如共识协议,货币特征和适用要求。 模式的差异阻止了多个链之间的互连或互换。

4.  分裂的用户群

对于每个区块链,用户群是不同的。 一个区块链系统的矿机和验证节点仅能用于该区块链。 没有两个区块链可以共享它们。

5.  性能瓶颈

区块链作为分布式系统,与传统中心化的系统相比在吞吐量,响应时间等性能上还是有较大差距。而在维持分布式拜占庭容错性的前提下,提高性能是非常困难的。还有一点,当大多数原生数字货币的价值迅速增长的时候,基于它们开发的各种应用的手续费也相应增长,网络延迟时间也在增长。

[解决方案]

过去几年来,包括工作量证明(POW),权益证明(POS)和授权权益证明(DPOS),拜占庭容错性(BFT),以及由这些方法结合的多种共识方案已被尝试和应用。 但是,没有一个协议可以解决所有的问题。 通常,POW 可以部署在大型网络中,并且可以很好地扩展。 它是验证最为广泛的共识协议。 但是它受到像大量电力消耗,低吞吐量,高延迟和高参与障碍这样的问题的困扰。 POS 和 DPOS 虽然没有大量的电力消耗,并且执行速度更快。 但是,这类协议实施比较复杂,通常以较小的网络规模部署,并且未得到大规模的全面测试。 通常 BFT 系列的使用要在小得多的系统上,并且可以在吞吐量和延迟方面表现更好,所以大都是用于私有链或企业内部应用。

为了能够在大型网络中部署分布式系统,吸引更多的参与者,同时保持高吞吐量和低延迟时间,MOAC 提出了用分层的共识堆栈技术来解决问题的方案。 它是区块链的区块链。

MOAC 本身将部署在具有大量验证节点的公共网络中。 它提供以下内容:

1.  分层配置结构。

2.  交易,智能合约和数据访问支持。

3.  数据存储,流程控制和处理单元,形成一个分布式的冯·诺依曼(Von Neumann)架构。

4.  验证节点可以配置为多个重叠的子区块链服务。

5.  可插拔验证方案,支持注入式的用户协议,可以使用现有验证节点来轻松部署新的子区块链。

6. 鼓励具有较小处理能力的用户参与验证过程。

7. 使用分流方案来提高系统性能。

[共识协议]

我们意识到仅仅在任何目前的共识协议基础上拓展将无法满足所有的要求。已有的解决方案通常是采取多个链或侧链的方式来结合两种不同共识协议,这是我们想避免的方法,因为这种方式会引入更多问题。我们解决共识困境的方法是建立一个分层的共识堆栈,并保持一切都在同一个区块链上同步。

我们利用 POW 作为底层的主要共识协议,因为 POW 是一个经过广泛测试,并具有抗攻击性和拓展性的解决方案。目前 MOAC 使用类似于以太坊的 POW 协议。

MOAC 设计的顶层补偿了 POW 的缺点。只有关键的交易和控制流程交易在 POW 层中处理。顶层采用 POS 协议和分片技术提供更快更高的吞吐量解决方案。

每个 POW 节点都有一个智能合约服务器(Smart Contract Server - SCS)节点。SCS 身份是由相应的 POW 节点完全验证。每个 SCS 节点将能够处理顶层的用户请求。

SCS 处理智能合约的调用。顶层的所有交易都是以智能合约调用的形式进行。并非所有SCS 都将同时处理单个事务。相反,部分选定的 SCS 将处理特定的事务。

SCS 的选择是通过初始化智能合约调用或刷新调用(init / flush)。init / flush 调用实际上是传递交易给 POW 节点,并在底层达成共识。 init / flush 调用将会设定如何选择合约的 SCS,以及处理节点的百分比。然后每个 SCS 的相应 POW 节点都会使用 EHDRand 算法在其 SCS上调用该调用。 SCS 可以决定是否选择处理这个智能合约。注意这是一个确定性的过程,SCS 的参与可以被任何人验证。

一旦选定了智能合约的 SCS 组合,它们将相互通信并形成一个小的共识组。该组将处理智能合约的所有调用过程。此外,他们如何达成共识的行为可以由 init / flush 指定。这些SCS 节点会形成一个子区块链并执行基于预定协议或用户自定义协议的共识。请注意共识协议与实际的智能合约代码不同。

智能合约的状态保存在每个 SCS 中。但是,这并不是保存在完整的区块链系统中。而为了达成完整的共识,合约状态需要定时或按要求写入底层的 POW 节点。



微信图片_20180206111024.jpg
微信图片_20180206111136.jpg
微信图片_20180206111234.jpg
微信图片_20180206111338.jpg

5

主题

697

帖子

776

积分

注册会员

Rank: 2

积分
776
发表于 2018-2-6 12:20:26 来自手机 | 显示全部楼层
抢个沙发,支持墨客
回复

使用道具 举报

13

主题

448

帖子

632

积分

注册会员

Rank: 2

积分
632
发表于 2018-2-6 12:58:24 | 显示全部楼层
最近都没有支持的勇气了
回复

使用道具 举报

0

主题

138

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2018-2-6 15:31:26 来自手机 | 显示全部楼层
抢个沙发,支持墨客
回复

使用道具 举报

0

主题

42

帖子

60

积分

新手上路

Rank: 1

积分
60
发表于 2018-2-6 15:57:25 | 显示全部楼层
抢个沙发,支持墨客
回复

使用道具 举报

87

主题

986

帖子

1529

积分

网站编辑

Rank: 8Rank: 8

积分
1529
发表于 2018-2-6 17:02:33 | 显示全部楼层
方便多了
相互学习 广交朋友
回复

使用道具 举报

92

主题

393

帖子

2780

积分

高级会员

Rank: 4

积分
2780
发表于 2018-2-7 07:21:28 来自手机 | 显示全部楼层
好东西,经常学习一点专业知乎
回复

使用道具 举报

17

主题

139

帖子

232

积分

注册会员

Rank: 2

积分
232
发表于 2018-2-7 08:43:03 | 显示全部楼层
MOAC 项目旨在提供一种可扩展且有弹性的区块链,通过分层化的结构来支持数字资产交易,数据访问和流程控制。 它创建了一个框架以允许用户用高效的方式执行智能合约。它还提供了开发的体系结构,采用底层基础设施来快速简便地产生子区块链。 它是一个区块链平台,可以为子区块链的架设提供必要的部件,同时为新想法的测试、私有链的部署、复杂任务的处理和智能合约的应用提供解决方案。
回复

使用道具 举报

20

主题

61

帖子

299

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
299
 楼主| 发表于 2018-2-7 09:41:20 | 显示全部楼层
本帖最后由 墨客西风 于 2018-2-7 09:43 编辑

    在共识模式下,当刷新(flush)时, SCS 节点将接受来自底层 POW 节点的数据存储请求。当前状态将被写入区块链系统并生成相应的 HASH。注意所有 POW 节点将执行相同的操作。对于那些不参与此次刷新的智能合约的 SCS,它们不会做任何事情。参加智能合约的 SCS将获得的提交状态并用自己的状态进行验证。如果可以证明之前提交的状态是不正确的,它将会发起更新一个具有正确状态的数据存储请求并引用不正确状态的 HASH。如果之前提交的状态是没有争议的数据存储请求,SCS 节点将最后刷新具有正确状态 HASH 的智能合约。同时每个 POW 节点也会处理与合约状态相关的交易。发出不正确状态的 SCS 节点将会被取消权益。
在 MOAC 中,大多数交易将在顶层处理,而只有一小部分流程控制在 POW 层中处理。这是可行的,因为顶层提供快速,灵活和低成本的服务,而 POW 层提供缓慢,但可靠和完整的服务。
   [ 分层结构]
1. P2P 网络层: 这个层定义了基础的 p2p 协议。
2. 区块链层:该层处理与区块链操作相关的所有操作,如共识,数据访问等。
3. 交易(TX)层: 该层处理 TX 请求和回复。 它还处理控制类 TX 请求,并在必要时调用与智能合同相关的操作。
4. 智能合同层: 该层执行虚拟机内的智能合同执行,并保持临时合同状态。
5. API 层:API 用于处理终端用户输入并获取下层的输出及返回.

MOAC  拓扑结构

POW 共识节点采取志愿参与的方式。 每个节点贡献其计算能力来解决计算密集型问题,并验证约定交易集中交易的有效性。

除了 POW 对交易和数据存储集的共识之外,每个 POW 节点都会与一个智能合约服务器(Smart Contract Server - SCS)相关联。 SCS 节点可以是 POW 节点的本地节点,也可以是一个远程节点。 SCS 的身份可以由相应的 POW 节点来完全验证。

回复

使用道具 举报

20

主题

61

帖子

299

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
299
 楼主| 发表于 2018-2-7 09:43:17 | 显示全部楼层

智能合约服务器(SCS)身份可由相应的 POW 节点完全验证。 智能合同请求(创建/调用/刷新)包含在流程控制 TXc 中,并首先在底层中处理。 然后每个 POW 节点通过异步调用向其 SCS 发送合约请求。合约请求在 SCS 中处理。如果需要,SCS 将向底层发送附加的控制流 TXc 和数据存储 TXs。

执行智能合约的方式是通过高效的分片技术实现。所有 SCS 都可以在运行时进行配置,以处理不同部分的智能合同。 整个系统吞吐量可以比传统方式快 10 倍 - 100 倍。 分片的执行组通过控制流 TXc 和数据存储 TXs 将分片状态记录到底层块链中。

[钱包/地址]

钱包和地址两个名称在本文档中是可互换的。 每个钱包/地址是由一个私钥生成的,并保存有数字货币的余额,可以接收和发送交易。 钱包/地址对于区块链的用户是可见的。私钥则是用于签署起源于这个地址的交易,仅对拥有者可见。

[智能合约]

每个智能合约与普通钱包相同,都有一个独特的公共地址。 区别在于智能合约的私钥在合约创建完成时就会被丢弃,所以除了共识机制外,没有人可以在智能合约创建后发送里面的数字货币。

智能合约有四个基本要素:{代码,状态,[调用],余额}。 代码由用户生成。状态持有合约当前的内部信息。 余额是合同中的数字货币。 它也是存储该合同的调用历史。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

MOAC Cloud是一个民间MOAC爱好者社区,用于分享MOAC的技术与相关信息

Powered by Discuz! X3.3 © 2001-2013 Comsenz Inc.

手机版|小黑屋|墨云  

GMT+8, 2019-2-20 10:01 , Processed in 0.067306 second(s), 30 queries .

快速回复 返回顶部 返回列表