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

Hi,Tokens

 找回密码
 立即注册
查看: 458|回复: 4

墨客白皮书和黄皮书

[复制链接]

30

主题

76

帖子

267

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
267
发表于 2018-4-13 10:48:10 | 显示全部楼层 |阅读模式
MOAC  众筹商业计划书
2017  年 6  月 15  日

MOACBlockchain(以下简称“MoacChain”)项目,是一个基于加密协议的开放源码软件,能实现在 p2p网络上的支持多种子区块链的公共区块链系统。此区块链中内置的可挖矿产生的用于交易的原生加密代币称为‘MOAC’,中文名“墨客币”。

为支持 MoacChain 的设计,开发,推广,营销和生态建设,本公司特发起此众筹(以下简称“众筹”),从支持者获得加密货币支持。在此众筹中,MoacChain 的初始MOAC供应的 50%,将在众筹期间出售。MOAC的认购将在完全自愿的基础上进行。

买方将根据捐献数额获得基于以太坊的证书代币“MOAC-TOKEN”。买方凭此代币可以在MoacChain 上线后按 1:1获得 MOAC原生币。

任何 MOAC的众筹、持有或使用存在风险。详见第五章“风险因素”。

对于 MOAC众筹的更多信息,请访问“moac.io/files”下的“MoacChain 技术白皮书”和“MOAC商业计划白皮书”(以下统称“MoacChain 白皮书”)。


I  概述

1.MoacChain  介绍

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

该 MoacChain 的更多技术细节在 MOAC白皮书阐述。

2. MOAC  简介

MOAC是 MoacChain 系统里面的原生币。MoacChain 的用户,智能合同和分布式应用程序将需要持有和消费 MOAC,以便在 MoacChain 上面执行某些操作。与此同时,系统区块的维护者(矿工)将为他们贡献的运算能力获得一定数量的 MOAC回报。

按照计划,MOAC 的初始供应量将由众筹期间募集的资金来决定。总初始供应的 50%将可用于众筹,其余的将由公司拥有。

由于 MOAC仅针对 MoacChain 的特定用途而设计,因此不是商品,并不具有任何其他用途或价值。本公司将 MOAC视为一种可消费的虚拟物品,不对其市场价格做任何具体的前景或预期。

3. MOAC-TOKEN  简介

为了 MOAC 众筹的便利,众筹将在以太坊平台上实现。公司设置一个 MOAC 众筹智能合约,以便用户捐献他们的 Ether,并相应的获得在以太坊平台上的证书代币MOAC-TOKEN。此 MOAC-TOKEN的唯一用途是在 MoacChain 网络部署成功之后,作为合法的凭证来兑换 MoacChain 上面的 MOAC代币。

4. MOAC 和 和 MOAC-TOKEN的非金融属性

作为仅用于 MoacChain 的运行虚拟燃料的 MOAC,和作为兑换凭证的 MOAC-TOKEN,两者在任何情况下都不应理解为:

  • 任何一种货币或货币;
  • 对公司的权益,投票权或非投票证券(或它的类似物),或针对公司的任何权利要求;
  • 任何一种在任何企业的股权或债权投资;
  • 具有内在价值或市场价格的任何证券;
  • 任何形式的金融衍生品的;
  • 任何商业票据或票据;
  • 任何形式的有关人与任何其他人之间的投资合同的;
  • 任何人有义务赎回或购买任何商品或资产;
  • 即赋予持有人利息,股息或任何形式的任何人任何回报的借据,债券,权证或其他证书。

5.  发展进展和里程碑

MoacChain 系统的原型研发从 2017 年 1 月开始。MoacChain 系统的开发工作一直在进行中。

本公司目前所设想的 MoacChain 发展主要里程碑载列如下:

上述里程碑仅供参考,并不构成对本公司或其他任何人,到期交付 MOAC 的任何约束力的承诺。

6. MOAC的分配

50%的初始 MOAC 供应将在众筹活动期间出售,并在 MoacChain 的创始区块中配置相应的所属地址。MOAC的初始供应总额将根据众筹中筹集的资金计算。

按照计划, MOAC 的初始供应量(1.5亿)将被如下分配:


MoacChain 系统上线之后,将会有更多的MOAC产生, MOAC随着时间的推移以一定的速度增长。具体可参见 MOAC 技术白皮书。MOAC的总量估计如下:

7.  预留 MOAC的使用

预留 MOAC将主要用于:

(一)MoacChain 生态系统的持续发展,如引进战略或行业资源,培育和部署各种分布式应用,并与本公司认为适宜或有价值的其他 blockchain/分布式总账项目进行令牌交换;

(二)合法运行 MoacChain 所需支付的合法,合规,会计和咨询费用;

(三)各种市场营销和对 MoacChain 的促销活动,如媒体曝光,活动的参与和公共关系;

(四)学术研究、开发和 MoacChain 开源社区的教育和培训准备的奖金。

8.  众筹所得款项用途

在众筹活动中连同本公司从其他渠道筹集的资金,将用于软件开发、推广、销售、生态建设、咨询费等,包括但不限于下列:

  • 核心开发团队的薪酬福利;
  • 开发外包支出,技术专利费用;
  • 行政和其他配套人员的薪金和福利;
  • 电脑,办公用品和消耗品,工具和软件;
  • 各种支出,营销和促销;
  • 其他所有与众筹相关的费用,包括但不限于任何外部顾问和推广费用,人员编制,旅游,通信,出版等所收取的费用。

9.  审计

本公司将进行年度审计,并按照英属维尔京群岛(BVI)法律公布审计财务报表。

10.  公告

MoacChain 的进度,启动和其他信息将在 MoacChain “http://moac.io/” (以下简称“网站”)的官方网站上公布。每位买方应定期关注可能公布在网站上的公告,新闻,文章,通讯或其他信息。公司可自行决定,通过电子邮件或其它方式通知。

II  众筹和销售

1 .  众筹参与

(一)参与众筹是自愿的。访问 MOAC的网站、网站上注册、请求或阅读任何材料,不会被视为必须强迫参加众筹或购买任何 MOAC。

(二)如果买方是美利坚合众国公民,纳税居民或绿卡持有人(“ 美国买方”),他/她不得参加众筹。

(三)每个买方,在参与活动时,将被视为全面理解本计划和 MoacChain 技术白皮书并自愿接受所有的条款和免责声明,以及本计划披露的风险。

(四)买方将获得在以太坊平台上基于智能合约的 MOAC-TOKEN。MOAC-TOKEN仅在以太坊可用,并且只能当 MoacChain 网络上线后,用于 MOAC的权利要求证明。

(五)公司有权采取任何行动随时识别任何买方,即使在众筹窗口的结束后。

(六)如果本公司发现任何买方违反任何反洗钱,反恐融资或其他监管要求购买MOAC的,这样的购买一律无效并具有追溯效力,本公司有权立即拒绝相关人的众筹参与资格,拒绝买方的 MOAC交付要求,以及买方的返还 MOAC的请求。

2.  代表和担保

(一)参加众筹时,每位买方应代表并保证:

(a)提交给他的所有信息/她的公司是真实,完整,有效,无误导成分;

(b)他/她不是美利坚合众国的公民,税务居民或绿卡持有人;

(c)他/她具有足够的年龄参加活动,是根据其所在地或维持公民身份的司法管辖区的法律具有完全民事行为能力的自然人;

(d)他/她是一位经验丰富的投资者,在区块链和加密货币领域的专家,技术人员,完全清楚开发和利用 MoacChain 相关的风险;

(e)他/她参与众筹是自愿的,并以他/她自己的独立判断为由,不被任何其他人强迫或误导;

(f)管辖区的法律允许他/她参加该众筹,并且在法律上允许获取,接收和保存加密令牌;

(g)不需任何联邦、州或地方政府机关的同意、批准、命令或授权或注册资格、指定、申报或备案,即可参与该众筹;

(h)他/她有经验能够妥善保管 Bitcoin和以太坊的私钥,以及发送为购买 MOAC的交易;

(i)他/她仅使用通过采矿和/或交易合法获得的加密货币为众筹付款,不参加任何洗钱、恐怖主义融资或其他非法目的运动;

(j)他/她获得 MOAC 的目标是主要使用 MOAC的设计功能,没有任何盈利或财务收益率的预期,不以任何金融,投机,非法或非道德的目的来使用 MOAC;

(k)(除已经明确传达并事先获得公司允许),他/她参与众筹是为他/她自己的利益,而不是作为一个代理人或代表任何第三方。

(二)买方作出的所有上述声明和保证在买方在整个众筹期间及之后起须是真实,完整,准确和不误导的。本公司有权根据公司的自行判断,拒绝和失效买方的支付,并扣留相关的 MOAC。

3.  价格

MOAC 众筹的价格是动态变化的。与比特币(BTC)和以太坊(ETH)价格梯度如下:


       4.  付款

(一)买方付款成功被视为该购买已接受包含在此计划中的所有条款和条件,并同意按照本计划购买 MOAC。

(二)只接受比特币和以太坊(ETH),不接受法定货币

(三)买方必须在付款窗口期中将 Bitcoin/Ether 发送到下面第 6节所述的比特币/以太网地址,以实现有效的付款。

(四)买方的支付在两个区块确认后应被视为完成。

(五)买方付款不予退还。

5.  收款的比特币和以太坊地址

(一)接受比特币和以太坊的地址将由公司确定并发布。买方应使用兼容的钱包或网上钱包服务付款。

(二)上述中提到的比特币/以太坊地址是众筹唯一有效的地址。发送到任何其它地址既不会被本公司认可,也不会有权要求任何 MOAC。

6. 付款窗口

在众筹期间,购买者购买并支付 MOAC 的窗口期(以下简称“ 支付窗口”)将是以太坊区块号#3902638开始(预计为 2017年 6月 20日 8AM GMT),并直至下面两者之先:

(ⅰ)以太坊区块号#3983838(预计为 2017年 7月 5日 8AM GMT);

(ⅱ)公司已经达到众筹目标。

在付款窗口结束后或之后不接受付款。任何迟来的款项不会被以太坊合约代码执行。

7.  众筹所得保管

众筹期间,公司收到的收益将分别保管在比特币和以太坊的钱包中。众筹结束后,在所述钱包中的收益将被转发到多重签名钱包(三分之二的签名后才能执行超过由公司确定的特定阈值的任何付款)。这样的多重签名钱包钥匙将由公司的功能机构,如董事长、财务负责人、核心开发和风险管理的公司人员进行控制。公司有权将收益转移到任何适当的其他的钱包。

8. MOAC_ETH

所有在线购买者将收到 MOAC-TOKEN 作为他们购买的 MOAC 的证书。MOAC-TOKEN是基于以太坊智能合同的令牌。MOAC-TOKEN 的余额可以通过以太坊 Blockchain Explorer进行查询验证,如 etherscan.io。在众筹系列结束后,MOAC-TOKEN令牌将被锁定约 2 个月,然后才能转移。

当 MoacChain 网络可用时,MOAC-TOKEN 的用户将能够要求获得 MOAC。兑换过程的细节将由本公司随 MoacChain 的开发进度适时公布。

III  交付

1.  交付

(一)在众筹中购买的 MOAC将在 MoacChain初始启动以及创世块产生时(以下简称“ 启动”)交付。

(二)交付众筹的 MOAC将在以下所有的条件满足后实现:

(a)初始启动已完成;

(b)正式 MOAC钱包程序已经由公司或他人代发布;

(c)买方正确执行本公司所指示的权利要求程序;

本公司不保证每个买方满足上述的所有条件。

(三)各购买人应负责保证比特币/以太坊钱包(包括私钥)和 MoacChain 钱包完好和安全。本公司对买方的比特币/以太坊钱包或 MoacChain 钱包被黑客入侵,被盗或丢失概不承担任何责任,在这种情况下,众筹购买的 MOAC交付可能会失败、不可送达或送错。

2.  不可赎回

由于 MOAC 既不是一种有价证券,也没有表示任何法律或合同的权利,本公司或其他任何人没有义务赎回或在任何时间从任何买方购回任何 MOAC。作为要在 MoacChain使用的虚拟商品,MOAC没有设计成被赎回,购买或以其他方式进行交易获利。

IV  终止

1.  终止事件

本公司有权终止众筹,如果发生以下任一事件:

(一)对于任何原因导致本公司选择通过网站上公告,在启动之前退出 MoacChain 的开发;

(二)对于任何原因导致本公司选择通过网站上公告,在支付窗口终止之前停止众筹;

(三)经任何适用法律所要求的在启动前终止;

(四)根据任何司法管辖区的适用法律,该众筹是非法的、限制的或禁止的,导致被禁止或被迫停止;

(五)在启动之前的任何不可抗力事件所造成的 MoacChain 的开发中止导致不能在三个月内恢复。

本公司在上述任何事件的发生导致的终止将拥有完全的决定权,而买方无权反对或拒绝该公司的决定。

2. 终止行动

公司对众筹的终止不对任何购买者有义务。

3. 存活

尽管众筹已经终止:

(一)每位买方作出的陈述和保证将保持真实,准确,完整和不误导;和

(二)第五章“风险因素”中规定的风险因素仍然适用。

第 3节“存活”在众筹终止后仍然有效和有约束力。

V  风险因素

本公司认为,MoacChain 的开发,维护和运行的各种风险,其中许多都超出了公司的控制权。在决定参加众筹之前,每位买方应仔细阅读,理解并仔细考虑下述风险以及本文所述的其他信息。

每个买方应特别注意这样的事实,尽管该公司成立于英属维尔京群岛,在 MoacChain和 MOAC存在于网络空间没有实体存在,因此不属于任何特定的管辖范围。

参与众筹是根据谨慎决定采取的行动,将被视为相关买方已充分意识到并同意承担以下所有风险。

1. 终止众筹

该众筹可根据终止第四章“终止”,由于比特币/以太坊价格波动和/或由本公司所发生的费用,买方可能只获得与他/她的支付的一部分予以退还。

2. 信息可用性不足

MoacChain 处于发展阶段,本计划中的理念,共识机制,算法,代码和其他技术规格和参数,会经常和不断地变化。虽然 MoacChain 白皮书包含了 MoacChain 的最新的关键信息,也并非绝对完整,如有调整和更新,该公司可能会不定时地发布。

本公司没有义务, 将 MoacChain 发展的每一个细节的(包括它的进度和预期里程碑,无论重组与否)及时更新买方,因此不一定及时和全面地把 MoacChain 发展中出现的所有信息提供给买方。信息披露不足是不可避免的、合理的。

3. 监管措施

加密货币正在或可能会受各司法管辖机构监管。本公司可能不定时地接收查询,通知,警告,要求或裁决,从一个或多个监管部门,或者甚至可能被责令停业或与中断任何与 MoacChain 众筹相关的行为。开发,销售,推广或以其他方式推广MoacChain 众筹可能受到严重影响,阻碍或终止。而且,由于调控政策可能会不时改变,现有的 MoacChain 监管许可或容忍在任何司法管辖区可能只是暂时的。MOAC 可能在不同的司法管辖区被定义为虚拟商品,数字资产甚至证券或货币,因此可能被某些司法管辖被禁止交易或持有。

4.  密码学

密码学正在发展,不能保证绝对的安全。密码学的进展,诸如代码破解,或技术进步,如量子计算机的发展,可以给所有基于加密的系统带来风险,包括 MoacChain。这可能会导致所有人所持的 MOAC 被盗,丢失,失踪,破坏或贬值。在合理范围内,公司将准备采取主动或补救步骤来更新协议,以应对密码学的发展,并将MoacChain 底层在适当情况下附加合理的安全措施。密码学和安全创新的未来是不可预知的,而本公司将尽最大努力,以适应密码学和安全领域的持续变化。

5.  开发失败或退出

MoacChain 仍处于发展的过程,而不是一个可启动的成品。由于 MoacChain 系统的技术复杂性,本公司可能会面临不时出现的,不可预见的,和/或难以克服的困难。因此,MoacChain 的发展可能会失败或者在任何时候以任何原因中止(包括资金不足)。开发失败或退出会导致众筹购买的 MOAC不可获得。

6.  众筹收入被 窃

尝试窃取公司收到的众筹收益(包括转换从其法定货币量)是可能的。这样的盗窃或企图盗窃可能影响公司资金的 MoacChain 的发展的能力。公司将采用最先进的技术解决方案,以保持众筹收益的安全,但有些网络偷窃几乎是不可预防的。

7. 源代码缺陷

谁也不能保证 MoacChain 的源代码是没有缺陷的。它可能包含某些缺陷,错误,瑕疵和 bug,这可能会禁用用户的某些功能,暴露用户的信息或其他信息。这样的缺陷,如果有的话,会损害易用性,稳定性,和/或 MoacChain 的安全性,并因此对 MOAC的价值产生不利影响。开源代码依赖于透明度来用社区的资源以识别和解决代码中的问题。本公司将密切合作,与 MoacChain 社区一道,不断改进,优化和完善 MoacChain 的源代码。

8. 安全弱点

MoacChain 基于开源软件,是一个非限权的分布式分类帐。 无论公司努力保持MoacChain 系统的安全,任何人都可能故意或无意地向 MoacChain 的核心架构部分引入弱点或漏洞,本公司采取的安全措施无法防止或补救。 这可能导致 MOAC 或买方持有的任何其他数字令牌的损失。

9. MoacChain钱包私钥

访问 MOAC 所需的私钥的丢失或破坏可能是不可逆转的。 MOAC 只能由在本地或在线 MoacChain 钱包同时具有相关的唯一公钥和私钥才可使用。 每个买方都需要保护他/她自己的 MoacChain 钱包中包含的私钥。 如果买方的私钥丢失,丢失,泄露,销毁或以其他方式受到损害,本公司或任何其他人均无法帮助买方访问或检索相关 MOAC。

10. 竞争

MoacChain 的底层协议基于开源计算机软件,使得没有人声称版权或任何其他类型的知识产权的源代码。 因此,任何人都可以合法复制,设计,修改,升级,改进,重新编码,重新编程或以其他方式利用 MoacChain 的源代码和/或底层协议,以试图开发竞争协议,软件系统或虚拟平台或虚拟机,这不在公司的控制范围内,因此可能会与MoacChain 竞争甚至超越 MoacChain。 此外,已有并将会有各种竞争性的基区块链的平台,用于服务,促进,孵化或推动各种分布式应用程序和/或智能合同的创建和部署,其中,Ethereum 是当前领先和最受欢迎的应用程序。 公司在任何情况下都无法消除,预防,限制或尽量减少与竞争或超越 MoacChain的竞争行为。

VI  杂项

1. 无代表或保证

除本协议明确规定的情况外,本公司不会就本众筹,MoacChain 或 MOAC(如适销性或特证除本协议明确规定的情况外,本公司不会就本众筹,MoacChain 或 MOAC(如适销性或定用途适用性)作出任何声明或保证。 每位买方决定参加众筹并购买任何 MOAC 应根据自己对 MoacChain 和 MOAC 以及本文中披露的信息或 MoacChain 白皮书的信息进行。 在不影响上述规定的一般性的前提下,每个买方将在 MoacChain启动和 MoacChain钱包的可用性之后,以“按原样”接受 MoacChain和所购 MOAC,不论技术规格,参数,性能或功能。

2. 无责任

本公司特此声明不承担任何责任,对任何人不负任何责任:

  • 任何人参与众筹违反任何管辖区域的任何反洗钱,反恐融资或其他监管要求的;
  • 任何人违反本计划下的任何陈述,保证,义务,契诺或其他规定的参与活动,以及由此导致的失败或无法检索其付款或索取相关购买的 MOAC;
  • 任何理由提前终止众筹;
  • MoacChain开发失败或退出,导致未能向购买者交付众筹购买的 MOAC;
  • 推迟或重新安排 MoacChain开发,导致未能达到任何预期的里程碑;
  • MoacChain的源代码的任何错误,缺陷或其他错误;
  • 启动后的 MoacChain的任何故障,崩溃,回滚或硬分叉;
  • MoacChain或 MOAC未能达到任何特定目的或不适合任何特定用途;
  • 众筹募集收益的使用;
  • 未能及时全面披露有关开发 MoacChain的任何信息;
  • 任何买方泄露,丢失或破坏他/她的加密货币或加密令牌钱包(特别是由该买方下载和使用的 MoacChain的钱包)的私钥;
  • MOAC被任何政府,准政府,权力机构或公共机构分类或视为某种货币,证券,商业票据,可转让票据,投资或其他可能被禁止,管制或受某些法律限制的条款;
  • 在任何加密货币兑换中列出或退出 MOAC;
  • 任何人交易或推测 MOAC;
  • MoacChain上的任何应用程序,智能合同或其他程序;
  • 本计划中披露的任何风险因素,以及与该风险因素有关的任何损害,损失,索赔,责任,惩罚,成本或其他不利影响。

3. 税

每个买方应声明,承担和支付任何管辖区的法律和法规由于收据,持有,使用,购买,收购,欣赏,交易或剥离 MOAC(无论是在众筹期间购买或以其他方式获得)。 并且每个买方应对其不付款,少付款,不正当的付款或逾期支付任何适用税款的所有罚款,索赔,罚款,惩罚,责任或其他方式负全部责任。 本公司对任何买方参与运动的税务意图不作任何建议,也不作任何陈述。

4.  豁免

本公司未能要求或强制严格遵守买方的任何条款或本公司未行使本协议的权利,不得解释为放弃或放弃本公司主张或依赖任何此类条款或权利的权利。 本公司对本计划的任何规定,条件或要求的明示放弃不构成对将来有义务遵守该规定,条件或规定的放弃。

5.  可分割性

如果本计划的任何部分无论是全部还是部分,根据任何管辖区的法律,非法或无效不得影响该管辖区其他计划的合法性或有效性,也不影响在任何其他管辖区的计划的合法性或有效性。

6.  标题和副标题

本计划中使用的标题和字幕仅供参考,在解释或解释本计划时不予考虑。

7. 司法辖区

该众筹是在世界各地发起的,并且与任何特定的司法管辖区无关。 买家可能来自世界任何管辖区。


回复

使用道具 举报

30

主题

76

帖子

267

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
267
 楼主| 发表于 2018-4-13 10:50:46 | 显示全部楼层
MOAC(墨客)链,一种可扩展且有弹性的区块链

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

MOAC是MoacChain系统里面的原生币。(用户可以类比为以太坊上的ETH币)MOAC链的用户,智能合同和分布式应用程序将需要持有和消费MOAC,以便在MOAC链上面执行某些操作。与此同时,系统区块的维护者(矿工)将为他们贡献的运算能力获得一定数量的MOAC回报。MOAC初始总量1.5亿,7500万已通过众筹分发,7500万归属开发团队和运营。挖矿采用与以太坊类似算法,用GPU挖矿。另外会提供让低算力设备(如手机)参与挖矿的算法机制,以鼓励社区发展。

墨客产生的原因,是基于目前最火热的智能合约平台以太坊的速度和扩展能力不足,无法应付大批的代币项目应用的需求。相对于以太坊每秒7-14次交易处理,墨客可以做到100倍,在优化条件下,甚至到1000倍。

那么墨客作为“优化的以太坊”,技术上是如何实现的呢?



(MOAC与BTC、ETH、EOS横向对比)

一、功能介绍

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

1.分层配置结构

首先是采取了分层,其他系统要么坚持pow,要么坚持pos,要么混合pow+pos,都无法有效利用两者的优点,和避免两者的缺点。墨客采取底层物理网用pow,上层智能合约分片的逻辑子网采用可插拔的共识机制,可以根据需要使用pos,pbft或者其他共识机制,从而实现根据需求采用适合的共识机制的效果。



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

3.数据流,控制流程和处理单元形成一个分布式的Von Newman架构。

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

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

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

二、技术详解

1)分层结构:

P2P网络层、区块链层、交易层、智能合约层、API层

2)交易类型:

普通交易{sender->receiver:amount}

数据存储交易{sender->contract_address:data to store}

智能合约交易

合约创建{code,sender,init_amount,execution type,sharding config};

合约查询{contract_address,flush_target_state,flush_steps};

合约执行{sender->contract_address:amount})

3)系统合约

会在每个区块的开始被执行,保存SCS的注册信息,对异步合约进行触发,处理分片逻辑。

4)异步调用

以太坊的同步智能合约调用,智能合约的返回和区块共识绑定在同一个区块,导致智能合约处理的总额受到区块时间限制。墨客采取了异步智能合约调用,使得调用和返回可以跨区块而不受到区块时间限制,大大增加了同时处理智能合约的数量。

·使用异步模式调用智能合约Call smart contract

·从v-node发送一条交易到SCS

·在系统合约中注册一个延时校验事件

·从SCS中查询结果并返回v-node

·广播和共识

5)分片

最近,Vitalik Buterin终于也提出了以太坊2.0的分片理念,主链上使用一个特殊的Validator Management Contract合约对分片子链进行管理。这与墨客的系统合约(SystemContract)的理念极为相似。分片里面的具体数据、交易甚至是用户空间主链都是不关心的主链也不会存储相应的数据。主链只会存储子链区块的头部(header)内容。可以看到,这样的处理办法主链将变成子链管理员和协调员的职责。不过,这样带来的后果是主链和子链变成完全相互依赖纠缠超紧耦合(tight coupling)。这种紧耦合带来的第一个后果就是数据查询的困难和用户使用的困难,这甚至导致Buterin需要再抛出一个所谓的无状态客户端(stateless client)的新概念才能解决这些困难,而且这个无状态客户端也还只存在于概念之中。并且根据Buterin的路线规划以太坊2.0要实现分片子链,要到2019年甚至2020年才能出来。

相对于以太坊2.0的双向依赖的超紧耦合设计,墨客采取了单向依赖设计,主链不必依赖于子链的存在。主链的系统合约(System Contract)会对子链的生成,分片,分配,数据存取更新以及子链的最终清除进行管理。在墨客的世界里,子链是一个逻辑的存在。物理上同样一台用于子链的机器可以现在用在这个子链上,一段时间后就被利用到另一个子链。

这样,墨客可以灵活的分出无数逻辑子链,使得并行计算成为可能,解决了业界一大难题,大幅度提高处理速度,为此可达到Visa级别的交易规模。近期流行的区块猫等大流量应用,在墨客链中可以流畅运行,不会导致网络阻塞。

子链:可在智能合约中对子链进行配置,使用随机数来选取一定数量的节点来执行一个合约。系统合约会记录此合约执行的参与者。

6)跨链

通过异步智能合约对区块的跨越,使得墨客可以对区块产生时间不同的区块链进行原子跨链操作,使得墨客成为具有跨链能力的区块链底层系统。异步调用智能合约从启动到完成,可以跨区块,不再限死在一个区块完成,这样大大加快了墨客的吞吐量,同时具有进行不同区块链的跨链功能。不同的区块链,具有不同的产生区块的时间,例如,在墨客上设定一个购买以太坊ERC20代币的合同,那么就可以在5秒钟里面,跨出墨客当时的区块,然后合同通过链外通讯,等待以太坊25秒的区块完成对应买卖,再在第N+2个墨客区块,完成这边的交易。如果以太坊相应的交易失败,墨客上将自动回退这个交易。这种原子交易,完全不同于目前各种跨链的第三方角色通过建立一个中间托管账户来完成的交易。在合约中,还可以定义看几个确认区块,再完成交易。而其他区块链系统缺乏异步调用合同功能,是无法进行跨链原子交换的,这是墨客的优势。



在MOAC中异步调用合约时,会有一个服务和以太坊公链相连。SCS会在子链上使用高效的共识算法,同时监控以太坊的交易和本地交易是否匹配。

三、进度路线图




回复

使用道具 举报

30

主题

76

帖子

267

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
267
 楼主| 发表于 2018-4-13 11:03:50 | 显示全部楼层
墨客系列介绍-子链

小虎


    区块链有很多概念,比如分叉链,侧链,子链,分别都是什么东西呢?

    分叉链指的是基于同一个软件的,增减一些功能后单独部署的一个区块链。通常有两种玩法。很久以前,区块链还没有这么火的时候,那时候有比特币和很多山寨币。那些山寨币大多就是对比特币进行一些功能扩展或者参数修改,然后取个花哨的名字,靠营销来吸引眼球。到了2017年,比特币的市值超过了1500亿美元,这时出来一个新的玩法,就是不用再取其他的名字了,正儿八经的仍然用比特币的名字,但是作为比特币的儿子、孙子。和比特币的区别就是技术参数上的变动,主要是区块大小,难度系数更新办法等。这个玩法的特点不是另开一桌,而是直接保留比特币的原有用户群体,分叉之前的钱包都能获得等量的新货币。这个好处是显而易见,直接继承了比特币庞大的用户群。所以,BCH,BTG轻而易举的挤入了币值前十位。当然,你能不能抵挡住刚开始分叉时候的抛售,对营销的压力会比较大。可以预计,比特币的儿子和孙子们会越来越多,他们之间会为算力的争夺互相厮杀。(为什么会互相厮杀,见《墨客系列介绍-虚拟货币的定价模型》)







    侧链指的是与主链相平行的单独一个区块链,但是它和主链之间可以通过相互了解的协议互联。主链的货币可以通过在主链的可验证的锁定,在侧链获得对应的货币,反之亦可。作为主链的补充,侧链可以提供一些主链不能提供的功能。但是这个互联对共识机制有要求,而且侧链必须有与主链相当的算力才能保证侧链货币的安全性。要达到相当的算力,其实完全就成了另外一个单独的链。所以侧链概念出来后一直没有太多的应用。

    子链指的是在主链的平台来派生出来的具有其他功能的区块链。这些子链不能单独存在,必须通过主链提供的基础设施才能运行,并且免费获得主链的全部用户。一个简单的例子是以太坊上面的erc20 合约。这个合约可以看成是一个逻辑子链,但是这个子链的共识方式与主链一致。

    与以太坊不同,墨客扩充了子链的概念。墨客的子链一个显著的不同点是子链可以定义自己的共识方式和执行模块。与主链POW的共识方式不同,子链的共识方式可以是PBFT,POS,甚至是用户自己定义的共识方式。当然用户必须另外定义共识引擎,实现在自定义共识机制下的任务的执行。这些任务可以是基于solidity和EVM的合约,也可以是用户自己定义的插件。SCS节点通过安装这些插件来参与用户自定义的共识过程。这个参与就是自定义的挖矿。SCS通过提供运算能力来维持自定义子链的运行,同时也获得收益。





墨客子链例子


这样做有几个好处:

1.     以插件的方式大大扩充了子链可以实现的功能。使得子链的功能不仅仅限制于智能合约所能处理的范围,增加了实用性。

2.     可以充分利用MOAC主链的生态环境快速地部署具有新功能的子链,而不需要去维护单独区块链所需要的节点,以及吸引新的用户参与付出的成本。

3.     部署子链的复杂度大大降低,只需要编写子链的共识以及执行模块。

4.     使得普通的用户SCS节点可以很方便的参与共识,实现共赢。

    举个例子,比如说我想创建一个空气质量监测信息共享的区块链。我所需要的是编写一个墨客子链的共识插件,以及提供一个相配套的硬件,或者将传感器硬件与共识插件打包成一个硬件盒子。一个硬件盒子对应一个SCS节点。这样,所有具备空气监测能力的SCS节点注册后构成了一个子链。在这个子链中,每个SCS节点作为矿工,通过共识来维护子链,与此同时,提供空气质量信息来获得代币。并利用墨客的主链,实现与MOAC或者其他货币的交换。


    此外,由于墨客支持大量的子链而不会影响系统的总体性能(参考《墨客系列介绍. 分片》),并且子链之间良好的互相交互功能,使得墨客可以架构一个功能强大的立体结构。我们可以设想这么一个墨客的架构场景:


1.     墨客的底层POW挖矿系统提供一个可靠的全局一致的区块链

2.     快速处理智能合约并且能够随时更新SCS节点的PBFT子链

3.     支持快速处理的零知识证明子链

4.     由海量SCS节点(硬件盒子)构成的IPFS分布式文件系统子链

5.     多个面向专业应用的行业子链

6.     分布式子链token交易所

7.     多个连接外部区块链系统的跨链子链


    这样,通过各个子链之间灵活的交互功能,一个子链可以使用另外一个子链提供的资源(比如分布式文件系统),使得接入墨客系统的用户可以获得强大的分布式技术支持,从而使得在此基础上的构建应用变得非常简单,并且能够获得墨客系统的社区资源。另外由于墨客的跨链功能(参见《墨客介绍系列– 实现与所有其他区块链的跨链》),决定了墨客是个开放系统,能够不断的吸收其他区块链技术的社区资源和技术进展。
回复

使用道具 举报

30

主题

76

帖子

267

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
267
 楼主| 发表于 2018-4-13 11:05:27 | 显示全部楼层
众链之母(MOAC)技术白皮书  

[目标]

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 节点。

众链之母
(MOAC)
技术白皮书
June 2017
[目标
MOAC项目旨在提供一种可扩展且有弹性的区块链,通过分层化的结构来支持数字资产交易,数据访问,和流程控制。 它创建了一个框架以允许用户用高效的方式执行智能合约。 它还提供了开发的体系结构,采用底层基础设施来快速简便地产生子区块链。 它是一个区块链平台,可以为子区块链的架设提供必要的部件,同时为新想法的测试,私有链的部署,复杂任务的处理和智能合约的应用提供解决方案。
[当前的问题
自从2008年中本聪的比特币项目引入了区块链技术以来,这项技术的发展非常迅猛。在过去近十年的时间里,开发者们以极大的热情来探索区块链技术这个新领域,试图拓展区块链的应用,提高区块链的效率和促进区块链的商业化。
区块链系统中的原生通证在区块链推广中起到了至关重要的作用,比如比特币系统的比特币,以太坊系统的以太币等。这些原生通证不仅推动了更多的参与者来进入区块链生态系统,也为当前存在的支付系统提供了更有效的方案。
当然,目前区块链技术还处于发展的早期阶段,现有区块链系统都有以下一个或多个问题。
1. 难以尝试新的想法
新的想法意味着要建立一个新的区块链系统。 这意味着有大量的额外开销和精力要用来设置服务器,培训开发团队,建立社区,吸引新用户等。
2. 难以升级
一旦区块链被部署和进入生产模式,很难在功能上进行添加/修改/删除。 区块链修改的结果就是会造成区块链系统的软分叉或者硬分叉。 而每个分叉都需要大量的精力来处理,也必须承受由此带来的经济后果。
3. 区块链系统之间不相容
不同的区块链有不同的模式,如共识协议,货币特征和适用要求。 模式的差异阻止了多个链之间的互连或互换。
4. 分裂的用户群
对于每个区块链,用户群是不同的。 一个区块链系统的矿机和验证节点仅能用于该区块链。 没有两个区块链可以共享它们。  
5. 性能瓶颈
区块链作为分布式系统,与传统中心化的系统相比在吞吐量,响应时间等性能上还是有较大差距。而在维持分布式拜占庭容错性的前提下,提高性能是非常困难的。
还有一点,当大多数原生通证的价值迅速增长的时候,基于它们开发的各种应用的手续费也相应增长,网络延迟时间也在增长。
[解决方案
过去几年来,包括工作量证明(POW),权益证明(POS)和授权权益证明(DPOS),拜占庭容错性(BFT),以及由这些方法结合的多种共识方案已被尝试和应用。 但是,没有一个协议可以解决所有的问题。 通常,POW可以部署在大型网络中,并且可以很好地扩展。 它是验证最为广泛的共识协议。 但是它受到像大量电力消耗,低吞吐量,高延迟和高参与障碍这样的问题的困扰。 POS和DPOS虽然没有大量的电力消耗,并且执行速度更快。 但是,这类协议实施比较复杂,通常以较小的网络规模部署,并且未得到大规模的全面测试。 通常BFT系列的使用要在小得多的系统上,并且可以在吞吐量和延迟方面表现更好,所以大都是用于私有链或企业内部应用。
为了能够在大型网络中部署分布式系统,吸引更多的参与者,同时保持高吞吐量和低延迟时间,MOAC提出了用分层的共识堆栈技术来解决问题的方案。 它是区块链的区块链。 MOAC本身将部署在具有大量验证节点的公共网络中。 它提供以下内容:
1. 分层配置结构
2. 交易,智能合约和数据访问支持
3. 数据存储,流程控制和处理单元,形成一个分布式的冯·诺依曼(Von Neumann)架构。
4. 验证节点可以配置为多个重叠的子区块链服务。
5. 可插拔验证方案,支持注入式的用户协议,可以使用现有验证节点来轻松部署新的子区块链。
1. 鼓励具有较小处理能力的用户参与验证过程。
2. 使用分流方案来提高系统性能。
[共识协议]
我们意识到仅仅在任何目前的共识协议基础上拓展将无法满足所有的要求。已有的解决方案是通常是采取多个链或侧链的方式来结合两种不同共识协议的。这是我们想避免的方法,因为这种方式会引入更多问题。我们解决共识困境的是建立一个分层的共识堆栈,并保持一切都在同一个区块链上同步。
我们利用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节点。
在共识模式下,当刷新(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节点来完全验证。
智能合约服务器(SCS)身份可由相应的POW节点完全验证。 智能合同请求(创建/调用/刷新)包含在流程控制TXc中,并首先在底层中处理。 然后每个POW节点通过异步调用向其SCS发送合约请求。合约请求在SCS中处理。如果需要,SCS将向底层发送附加的控制流TXc和数据存储TXs。

执行智能合约的方式是通过高效的分片技术实现。所有SCS都可以在运行时进行配置,以处理不同部分的智能合同。 整个系统吞吐量可以比传统方式快10倍 - 100倍。 分片的执行组通过控制流TXc和数据存储TXs将分片状态记录到底层块链中。
[钱包/地址
钱包和地址两个名称在本文档中是可互换的。 每个钱包/地址是由一个私钥生成的,并保存有通证的余额,可以接收和发送交易。 钱包/地址对于区块链的用户是可见的。私钥则是用于签署起源于这个地址的交易,仅对拥有者可见。
[智能合约
每个智能合约与普通钱包相同,都有一个独特的公共地址。 区别在于智能合约的私钥在合约创建完成时就会被丢弃,所以除了共识机制外,没有人可以在智能合约创建后发送里面的通证。
智能合约有四个基本要素:{代码,状态,[调用,余额}。 代码由用户生成。状态持有合约当前的内部信息。 余额是合同中的通证。 它也是存储该合同的调用历史。
[交易
交易是MOAC系统内的基本操作。每个地址可以与其他地址之间交换通证。还有基于智能合同的流程控制交易(TXc)。这些TXc用于控制智能合约的工作流程。
MOAC系统中的三种存在基本交易类型:支付交易TXp,数据存储TXs,流程控制TXc。它们都是在底层的POW共识节点中被处理。所有节点共识并保持同样的系统状态。
a)支付交易(TXp):{sender-> receiver:通证金额}
将通证从一个地址转移到另一个地址的基本交易。发送地址将需要使用私钥签署交易,而签名的真实性可由任何人核实。
b)数据存储(TXs): {sender-> contract_address:要存储的数据}
在POW节点处理的此交易类型不会验证任何与余额相关的操作。
c)流程控制(TXc):
1)Contract init TX {code,sender,init_amount,execution type,sharding config}
用户发送init TX启动新的智能合约。在智能合约中,用户需要指定合约代码,初始资金,执行类型:快速或正常,分片配置。
2)Contract Flush TX {contract_address,flush_target_state,flush_steps}
Flush TX是允许POW节点同意已经执行的批量事务,并将它们写入区块链。
3)Contract Payment TX {sender-> contract_address:
类似支付交易。不过POW验证节点会通知相应的SCS相应帐号的余额更新。
[子区块链
MOAC系统可以执行普通支付交易,数据存储交易和智能合约(流程控制)交易。此外,在此架构上部署子区块链是非常方便的。
用户可以使用智能合约来定义子区块链的属性(系统参与验证节点的百分比,共识协议,安全策略,状态存储等)。子区块链的创建通过控制流程TXc完成。一旦建立子区块链,每个参与者SCS将在其执行中采用可插入的协议。对子区块链上的随后请求将由选定的SCS来验证。
子区块链的区块生成可以配置为按需生成或按照设定的周期生成。按需功能是首选项,因为它只在需要时生成区块,从而节省宝贵的资源。
子区块链的部署可以像发送智能合约请求一样简单。但是,它继承了安全和强大的底层区块链属性。并且,它可以重用已有的大量的验证节点池,并从分布式的设置中受益。
子区块链可以通过刷新操作来随机更换参与的SCS节点,达到更高的分布式和安全性能。
升级子区块链也很容易,只需重新部署到具有更新的区块链属性的新集合SCS上。
[节点的经济效益]
参加验证的节点通过其贡献的计算能力,可以从两方面来获益。首先,POW节点将获得挖到的每个区块的奖励。这与现在的BITCOIN相似。其次,SCS服务器可以通过对子区块链的支持和智能合约的处理工作的交易费得到回报。请注意,这种服务可能并不是运算量密集型的。例如,如果子区块链基于POS,则SCS只需花费非常有限的资源进行验证即可收取费用。
这对于普通PC用户甚至移动用户来说是一个很大的动力。对于纯粹的POW网络,普通用户几乎没有机会从采矿中获益。然而,在MOAC系统的设计中,用户可以设置一个轻型的POW节点,当然几乎没有机会在采矿竞争中获胜,但是他可以设置与该POW节点相关联的另外一个SCS,通过SCS提供的服务获得奖励。这种模式将鼓励更多的用户加入共识系统并提供更多的SCS处理能力。另一方面,智能合约所有者或子区块链创建者将需要支付所有SCS工作的费用,但考虑到获得的性能和低成本的启动,还是非常划算。这个过程将促进形成一个更为分布式的生态系统,并使各方受益。
[收益规划
区块每10秒生成一次,每个块的奖励为2个MOAC币。 奖励计划每三百万块减半,相当于约 每1年减半。 在18,000,000区块之后,也就是6年后,每个区块的奖励将保持在0.04 MOAC。 见下文。 我们定义1个MOAC = 1,000,000 Sand。 1 Sand = 1000 Xiao。
区块数目
挖矿奖励(1 MOAC = 1,000,000 Sand)
1-3,000,000
2 MOAC
3,000,001-6,000,000
1 MOAC
6,000,001-12,000,000
0.5 MOAC
12,000,001-15,000,000
0.25 MOAC
15,000,001-18,000,000
0.125 MOAC
18,000,001-
0.1 MOAC
交易费用有两种方式收取, 一个是通过交易。 另一个是通过智能合同调用或子区块链的使用。
交易类别
费用
收取对象
Payment TXp
20 Sand
POW miner
Data Store TXs
20 Sand
POW miner
Control flow TXc
50 Sand
POW miner
Smart Contract Call
1 Xiao
To each SCS
智能合约调用的交易费特意设置成低于底层的POW交易费,从而鼓励用户更多的使用SCS。 这可以减轻下层的压力,也有利于SCS服务提供者。
[总结]
总而言之,MOAC使用分层架构来把POW的难于攻击和易于扩展的特性,与POS的快速共识和短时间响应的特性结合在一起,避免了两者的缺点。智能合约层可以用于构成复杂任务和搭建各种子区块链的平台。而POW节点与SCS节点一起构建可以灵活和可扩展的框架,便于许多应用程序的使用。 MOAC区块链对于轻量化参与者和计算密集型参与者都是有价值的。
[附录
MOAC 货币总量是每年增加的:
阶段
发行量(个)
总量(个)

250,000,000
250,000,000
1st  年
6,000,000
256,000,000 (大致数量)
2nd  年
3,000,000
259,000,000 (大致数量)
3rd年
1500,000
260,500,000 (大致数量)
4th年
750,000
261,250,000 (大致数量)
5th年
375,000
261,625,000 (大致数量)
5年之后
300,000
261,625,000 + 300,000 * n (n=1,2,3……)
[免责声明]
本白皮书草案仅供参考。 Moac.io不保证本文得出的结论的准确性,白皮书不提供任何声明和保证,明示或默示,包括但不限于:(i)适销性,适用于特定目的,所有权或非侵权的保证;(ii)本白皮书的内容不存在任何错误或适用的内容目的; (iii)此类内容不会侵犯第三方权利。所有保证是明确Moac.io及其附属公司明确表示不承担任何因使用,参考或依赖本文白皮书中包含的任何信息而引起的责任和损害,即使被告知这种损害的可能性。在任何情况下,Moac.io或它的附属公司对任何个人或实体使用,参考或依赖本白皮书而导致的任何直接,间接,特殊或后果的任何内容的损害都不负赔偿责任
回复

使用道具 举报

30

主题

76

帖子

267

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
267
 楼主| 发表于 2018-4-13 11:14:19 | 显示全部楼层
(本文来自网友天毅铭訫qq37788439翻译自MOAC技术黄皮书,内容可能存在瑕疵,如有异议,请以官方英文黄皮书为准)

1.基本设置:

MOAC使用分层共识堆栈,通过分层结构和分片处理来扩展事务处理,在同一个区块链内同步完成。

对于底层,我们利用POW作为主要共识协议,因为POW是验证最为广泛的共识协议,最能够解决大规模的网络设置问题。目前MOAC使用类似于以太坊的POW,但是我们将来会让POW协议可拔插,如果需要,我们可以很容易地用另一种高效的协议换掉POW。顶层补偿POW的缺点,在POW层中只处理关键事务和控制流程事务。顶层采用可配置的共识协议和分片技术,提供更快更高的吞吐量解决方案。

下层节点叫V-node,每一个v-node有一个智能合约服务器(SCS)节点,Smart Contract Server 简称(SCS),这个智能合约服务器(SCS)身份可由相应的v-node完全验证。每个SCS完全由相应的v-node验证身份,为了处理上层合约,每一个SCS节点都得进行绑定。

注意,SCS处理智能合约调用,所有顶层事务都采用智能合约调用的形式,并非所有SCS同时处理单个事务,而是选定的SCS的一部分将处理特定的事务。SCS的选择是通过启动智能合约调用或刷新调用。启动/刷新调用实际上被传递到底层并达成共识。启动/刷新调用包括的选择标准包括处理节点的百分比。然后每个v-node将使用预定义的算法在其SCS上调用该调用。 SCS决定是否选择自己来处理此Smart合约。 注意这是一个确定性的过程,SCS的参与可以由任何人验证。

一些SCS被选为某些智能合约的组合后,它们就会相互沟通,形成一个小的共识组。 该组就会处理那个智能合约的调用。 此外,它们之间如何达成这个共识可由启动调用指定。更有效的是这些SCS节点形成了一个子链,并且基于预定协议或用户定的协议来执行共识。 请注意,共识协议与实际的智能合约代码不同。

智能合约状态保存在每个SCS中, 然而,这不是实际的全部区块链,为了实现全部区块链的好处,状态需要定期或按需地刷新到底层的区块链。

当在共识模式下刷新时,SCS节点将在底层v-node上启动数据存储请求。这是从共识分片成员合理认证发起的TX,TX将被广播到所有v-node, 其有效性可以由任何节点进行验证,同一个TX中,它还为每个分片参与者指定了奖励费用。如果TX被证明是无效的,则可以实施额外的过程以没收SCS的保证金。MOAC,大多数合同将在顶层处理,而在v-node层只处理少量的控制流事务和资产交易。 这是可行的,因为顶层提供快速,灵活和低成本的服务,而v节点层提供缓慢,依赖性和昂贵的服务

1.1分层结构

1. P2P 网络层: 这个层定义了基础的 p2p 协议。
2. 区块链层:该层处理与区块链操作相关的所有操作,如共识,数据访问等。
3. 交易(TX)层: 该层处理 TX 请求和回复。 它还处理控制类 TX 请求,并在必要时调用与智能合约相关的操作。
4. 智能合约层: 该层执行虚拟机内的智能合约执行,并保持临时合约状态。
5. API 层:API 用于处理终端用户输入并获取下层的输出及返回。
2. P2P 网络

P2P是运行相同协议的节点之间的基础通信层, 节点通过使用经过加密和认证的传输协议的RLPx发送消息进行通信。对等体可以在任何TCP端口上进行通告和接受连接,但是默认端口连接可能被监听。

每个节点和他配对的对等体连接,保留了一个节点列表。我们连接到三个不同类别的节点:引导节点,静态节点和可信节点。每个节点可以设置最大对等体数量,一个典型的数字是25。广播节点将发送pkt给所有的对等体。这些同行将进一步发送给同行。 在多跳中,pkt将到达网络中的所有节点。

这个协议提供了基本的网络通道,下层共识就这样建立的。此外,SCS层将形成另一个共识层。 但是,SCS之间没有直接通信。 因此,SCS将其协议打包通信到较低的pkt中。 V-node负责向同行广播SCS的pkt。每个同伴将重新播出,并将pkt传递给其SCS。 因此,SCS将与底层的p2p网络形成逻辑共识。



3.基本分片
目前的区块链具有可扩展性的问题, 区块链处理能力限于单个节点的处理能力, 这限制了区块链的处理速度,也浪费了整个网络的大量处理能力,随着更多的节点加入到网络,这不会增加系统处理能力, 而是随着网络流量增加会使系统性能降低。

分片是解决这个问题的方法。 它将整个网络分为多个分片,并行处理事务,只要每个分片中有足够的节点,这个系统仍然是非常安全的。
每个分片随机选择会员处理单个智能合同。同一合同的调用将由相同的分片成员处理。适当的合约可以频繁或者明确调用分片内的成员。
请注意 ,即使在任何给定的时间里,每个片内只有几个节点验证和创建区块,安全级别实际上并不比每个节点正在验证和创建区块的情况要低得多。 详细计算见后面部分。

4. 分布式随机发生器
分片成员是从所有注册的智能合同服务器随机挑选的,为此我们将使用确定性阈值签名并且验证协作生成随机值。该方案将抵抗绝大多数的操纵,除非大多数验证器相互串通(在某些情况下,根据实施情况,33-50%的验证者可能会干扰执行,导致协议具有67%的活性假设)
阈值签名也用于分片成员试图将合约状态刷新到主块的提交阶段, 我们稍后会介绍。

5.分片成员的选择
分片成员的选择分为以下几个步骤:
1)所有SCS在系统合约中注册。
2)系统合同将随机抽取k%的具有足够保证金的SCS节点。 选择算法是公开的,每个v-node可以验证其SCS的ID是否被选中,并通知其SCS节点。
3)如果SCS有效并且愿意参与,它会用带有签名的Ack回复到v节点, V节点将广播其注册。
4)在一定时间内,如果确认的注册率达到最低百分比要求,那么注册成功。
5)每个节点会被秘密的si通知。
6)如果注册超时,则启动另一轮的选择。

6.异步的工作流程


7.异步合约服务器的调用条件
在下列条件下,不能以异步执行合约:
a.合约的输出会改变外部状态。
b.在合约中嵌入其他合约调用。
C.合约取决于输入外部状态。这种条件可以放宽,如果时间宽松,让每个调用通过引入输入状态的方式执行。

8.分片与合约调用
a. 运用随机生成器选择执行单一合约的一定比例的节点。系统合约(SC)将记录该选定合同的参与者。
b.特殊分区会定向执行同样的合约。
c. 如果必须根据项目#b进行同步调用,必须在该调用之前进行提交。

d. 合同的执行结果不能立即由合同退还; 也没有额外的系统合将查询分片合约调用结果的结果。执行结果通过显式提交返回。

9.分片的架构
在分片的情况下,每个合约执行的结果以Merkel树的形式存储在每个参与的节点。每个分片可以继续增长其区块链,直到达到明确提交请求或达到预定的提交计划。
同一分片中的节点将形成某种类型的共识。 这个协议非常灵活,可以通过合同创建设置指定。
每个SCS连接到一个低一层的共识节点(v-node),这个SCS完全信任从V-node传来的信息。
每个SCS将首先注册到系统合约,以表明它将参与智能合约处理。 它需要提交一定数量的保证金,如果发现任何欺诈行为,该债券会被扣除。
每个合约的处理,所需的保证金是b,如果SCS有足够的处理能力和带宽支持更多的合约处理,它可以提交n x b的保证金。请注意SCS执行同步合约调用无需保证金。

当用户提交创建一个合约时,他将需要设定下面的参数:
模式:异步或同步
分片比例:10%,最小分片大小的20%
自动提交频率:块号

典型的合约调用工作流程如下:
a. 用户提交启动全部TX的合约,这个TX在v-node中处理,并且启动时通知系统合约。
b. 以确定性的方式随机选择节点。 选择算法将在每个v-node运行,从而决定当前的SCS节点是否是选择的一部分。
c. 每个SCS节点会发送登记保证金到系统合约来确认它同意参加这个分片。保证金是由系统定义的,合约创建者可以根据需要选择更高的保证金。
d. 每个选定的节点会通过连接的v-node发送广播pkt识别自己,广播是通过低层的P2P网络,这个过程只是在在合约创建时或更新合约时需要。请注意,由于多跳连接,一个v-node可能不知道对方的IP地址,这将防止小分区直接的DoS。
e.每个节点这时开始执行启动合约并生成本地状态。
f. 合约上的任何异步调用都会被排队指定到到每个SCS节点,未执行调用的顺序需要节点达成共识,这可以通过POS协议来完成。频率完全由接收的合约调用决定,并且有最小的阈值。


9.1共识分片

SCS将形成共识子链代表一个分片。


9.2创建新分片

在创建的第一阶段,用户要提交TX来启动合约创建。 V-node将首先执行地址生成,配置等必要的工作,它要明确的决定连接的SCS是否被选择去处理这个合约,如果是的话,通过授权SCS,并通知并验证其参与。SCS也会利用底层的P2P网络广播它参与了该合约。通信pkg包括 (SCS_ID, ContractAddr, Config)等信息。请注意,此通信可以与其他合同创建相结合,以减少传输pkts。 其他选定的SCS将执行相同的操作。
此通所需要的pkt总数为
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Hi,Tokens  |网站地图

GMT+8, 2019-12-12 18:57 , Processed in 0.070051 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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