一种基于区块链的交易和验证方法与流程

文档序号:17050468发布日期:2019-03-05 20:02阅读:313来源:国知局
一种基于区块链的交易和验证方法与流程

本发明涉及一种基于互联网的交易和验证方法,特别涉及一种基于区块链的交易和验证方法。



背景技术:

随着近年来区块链技术的爆炸性增长,以及更广泛的被各行各业所应用,同时无论是dao事件,还是以太坊前段时间的大规模阻塞,都在提醒我们当前区块链技术的不足。

目前流行的一些区块链,当一条链研发确定以后其核心参数也就固定下来。但随着服务对象以及外部环境的变化,很多参数都将变为瓶颈。例如,比特币由于将区块大小设定为1mbyte,单次挖矿时间设定为10分钟,初期比较条件宽松。当在线交易十分拥挤时,大部分商业密集交易活动均不适合在比特币上开展。以太坊虽然提供了智能合约,但目前的以太坊智能合约只能解决简单的线性问题,无法解决更复杂的合约条款,所以大大限制了链上交易和应用的空间和范围。

共识算法是影响一个货币稳定的关键,目前的共识算法分为三类:(1)cpu-like;(2)gpu-like;(3)asic-like。每种代表一种利益风格。通常cpu/gpu-like,普通用户能够介入,同时也可以通过算力租赁形式加入;而asic-like,则面临asic-like的专业竞争。目前的共识机制普遍存在着能源和电力的大量浪费,处理效率的低下,中心化问题突出,安全性问题以及易用性问题等弊端。

此外,由于算力租赁和矿工的不稳定,将带来全网算力的大幅波动,对出块稳定性造成很大影响;由于专业算力租赁市场(例如,nicehash)的存在,凡是现有成熟的pow算法,外部攻击者都可以从算力市场购入算力对其实施51%攻击。此类攻击无需购置大量挖矿设备,只需要支付一定时间内的算力价格,因此大大降低了攻击成本。

针对这些问题,目前的各种发展瓶颈如何克服,成为人们面对的重大主题。



技术实现要素:

针对如前所述的现有技术中的问题,本发明旨在提供一种具有更广阔技术视野的解决方案。

传统的区块链解决了在不可信信道上传输可信信息、价值转移的问题,而共识机制解决了区块链如何在分布式场景下达成一致性的问题。共识机制在去中心化的思想上解决了节点间互相信任的问题;以太坊智能合约的推出,则使区块链技术更加接近现实,延伸到了社会生活和商业;而智能区块链则在区块底层引入人工智能,从方方面面让人工智能(ai)参与更多以前需要人类能完成的“判断”和“执行”,并引入“群体智慧”和“合约宪法”,同时利用ai自身的学习能力,不断进化区块链本身,实现一个具备真正人类意识与思维的区块链生态。具体包括智能区块链如何自我评价、如何自我更新、如何执行自我更新并无缝继承原有数据链的方法,以及如何用户友好、如何利用云服务的方法、ai云服务是如何与ai链结合的。

智能区块链引入ai的目标包括以下几点:

智能区块链自我进化:通过ai辨识与推理,保证智能区块链能够快速适应外部环境的变化;

矿机ai化:将矿机计算由无意义的hash运算,转换为ai计算,挖矿本身具备价值;

安全智能合约:利用ai引擎执行合约,支持利用ai解决智能合约中的漏洞与陷阱,交易方能够选择无歧视交易方式,也可以选择进入基于ai保护的交易模式;

智能区块链ai服务(aiasaservice):智能区块链全网均具备ai能力;在系统框架上全方位支持ai云服务,支持链上链下的多形态ai服务整合。

智能区块链是新一代的区块链技术,它创新性地将人工智能技术引入了区块链产业,将而这两者紧紧地结合在一起,打造出跨时代的产品。智能区块链并不是一个机构,而是一款能够在区块链上实现智能协作、开源的底层网络系统,它提供一个平台以及提供了相应的编程语言,使开发人员能够利用人工智能算力和区块链技术来建立和发布下一代分布式应用,并为以后的,目前尚未设想到的各种新需求打下技术基础。

matrix链作为新一代智能区块链,目标是构建一个安全可靠、具备自然进化能力的区块链。matrix将通过内置人工智能,建立一个用户友好、面向云服务、与ai紧密融合的生态系统。

matrix链的核心技术包括:

(1)基于节点的树状网络的区块链网络架构设计。

matrix链设计了一个树状网络,在主节点基础上,采用逐级随机选举32个超级节点,其中的21个会再次选为pow节点进行挖矿,超级节点可以把交易验证和工作量证明任务分配给其下层节点,以并发方式完成相应计算,这样做能够获得更强的算力增加赢得顶层pow的机会。该架构具有三大优势:第一,节点之间的冗余工作大量减少;第二,并行计算全面提升了验证交易的吞吐量和工作量证明的计算性能;第三,区块链网络能够组织为类似于大规模算力输出平台。

(2)基于ai的智能合约安全体系,包括ai形式验证技术、基于分布式ai安全漏洞嗅探技术、基于对手网络的合约安全检查技术等。

matrix链在智能合约的形成过程中,能够主动去发现代码与合约漏洞,同时还能够生成对抗网络,通过不断的自我攻击,去发现是否存在系统漏洞。

(3)基于mcmc的二阶段pow机制。

传统的pow共识机制是全网所有节点按照自己为网络贡献的计算服务(算力x时长)来获取报酬,也就是挖矿。这么做的一个明显缺点就是资源浪费,因为涉及到大量毫无意义的计算任务,相比传统pow算法计算没有实际意义的hash值造成的极大电力和算力资源浪费,matrix链使用深度学习的训练过程或者贝叶斯推理的马尔可夫蒙特卡洛算法(mcmc)作为工作量证明,基于mcmc的二阶段pow机制的设计目标不但可以解决全系统的效率问题,而且能够将更多的闲置资源用于算力输出和交易数据处理上。

(4)ai能力,其包括贝叶斯推理机、深度学习网络、基于ai的三维图像识别技术与动态行为识别技术等。

matrix通过ai的动态保护,包括对矿工执行合约集的进行整体关联性审查,通过环路发现,找出基于此类的关联合约交易。matrix链通过动态审查时间戳依赖或者随机数依赖,可以避免在合约中出现相应的依赖行为。matrix链还通过深度学习,找出在合约调用过程中触发异常或者不确定状态行为特征的编码方式,获得类似黑客作案手法的码本特征库,并进行代码库静态与动态审查。因此,matrix链使用人工智能技术对区块链行为进行动态分析,从中发现潜在的恶性行为并进行防护。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明的matrix链的整体架构的示意图;

图2为根据本发明的matrix链架构的节点的路由器模式的示意图;

图3为根据本发明的matrix链架构的主节点内部模块划分与线程分配的示意图;

图4为根据本发明的matrix链架构的节点部署方式的示意图

图5为根据本发明的matrix链的挖矿和验证流程的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式做进一步地详细描述。

matrix整体架构

图1为根据本发明的matrix链的整体架构的示意图。matrix链作为新一代区块链,目标是构建一个安全可靠、具备自然进化能力的区块链。matrix链将通过内置人工智能,建立一个用户友好、面向云服务、与ai紧密融合的生态系统。

从图1可以看出,matrix链的核心网络实际上仅仅包括一系列的全节点。全节点包含主节点和平凡节点;其中,主节点为例如算力达到1000tps(transactionpersecond,每秒事务处理量),且提供了例如10000man币(“man”在本发明中代表一种对应matrix链的权益通用证明,即区块链领域的token,亦称之为通证,也有人用“代币”这一称呼),且支撑rpc(remoteprocedurecall,远程过程调用)服务的节点,可以提供挖矿和对外服务;而平凡节点则是同步了全部区块,且具备信息传播能力的节点,也能提供对外的算力输出。

通常最少仅3个节点即可完成matrix网络的基础性任务。而包括轻节点和钱包在内的服务,则是通过与主节点附属连接的方式实现。此外,全节点还可以提供算力服务包括ai、传统cpu/gpu算力输出、存储服务等,这些服务可以获得man奖励。另外,任意一个设备都可以通过接挂到全节点或轻节点方式,获得对应的服务。在进一步版本中也将支持轻节点提供各种服务输出。

另外,matrix也将提供ipfs的网络服务,该功能将通过接挂到全节点完成。“ipfs”(interplanetaryfilesystem,星际文件系统)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。

由于matrix提供了一系列的ai服务,因此主节点将通过公共接口形式直接连接到全网提供的免费ai辅助服务节点,该节点将提供包括语言识别、图像视频优化、ai参数模型优化和辅助调测的接口。

而外部服务代理agent接口,主要是完成内部计算资源与外部资源的交换,并支持币变现与交易。任何一个寻求matrix网络能力和ai能力的外部设备,可以通过agent完成各种交换与使用。

当今区块链领域面临着一系列难题,其中一个就是交易速度缓慢。matrix的最终目标是通过改进节点设计和共识算法来达到例如50ktps(tps:transactionspersecond,即服务器每秒处理的事务数)的交易速度。同时,主节点通过接口连接到人工智能辅助服务节点,向外部输出ai计算算力,有效避免了算力浪费。因此,单个节点的处理能力,必然需要存在上限。常规标准服务器(e5-2620v3)配置如表1所示:

表1

*ecdsa(ellipticcurvedigitalsignaturealgorithm,椭圆曲线数字签名算法)

而在matrix链中,每笔交易将包含250byte的内容,因此等效于2000bits。考虑到每笔交易实际会经过至少两次网络传递,并将其它开销折算为50%。因此,单笔交易的消息总带宽在8kbps。所以通常,1ktps的实时带宽配置在8mbps。

经过分析可以发现,1000tps的计算需求必须通过多核处理器完成,包括:(1)独立的网络处理与解析内核;(2)独立的加解密验签内核;(3)单独的存储与内存管理线程;(4)额外的事务处理内核。

如果进一步,整个系统上升到50ktps,则整体的结构必须修改为路由器模式,即如图2所示的技术方案。图2示出了根据本发明的matrix链架构的节点的路由器模式的示意图,其中节点(node)可以是多个主节点拼接而成,也可以是主节点与其它主节点,通过协商共同形成。

但上述50ktps的模型通常在企业网或者比较好的试验网模型下才能实现,而在公众网络情况下,通常只能实现5ktps的计算处理能力。

在实验室内部,通过部署三台集群服务器,每个包含6块2u服务器(u是一种表示服务器外部尺寸的单位,是unit的缩略语),并利用千兆以太网连接,基于简单批量签名验签,和交易数据压缩传输方式,可以完成50ktps的模拟验证。

图3示出了根据本发明的matrix链架构的主节点内部模块划分与线程分配。通过图3所示的模块划分,可以实现matrix内部任务的多线程并行处理。需要独立设计的模块包括如表2所示的模式:

表2

matrix的经济学模型

参见图4,其示出了本发明的matrix链架构的节点部署方式。

本发明的matrix链为了释放内部算力,在主节点基础上,采用逐级随机选举32个超级节点(supernode)。其中的21个会再次选为pow节点进行挖矿。同时,再独立选举出11个验证超级节点进行监督与判决,并提供计算任务的分发验证。

以上关于超级节点的数量、选举出的进行挖矿的pow节点的数量、验证超级节点的数量仅为示意性的,本发明不限于所公开的实施方案。

超级节点的数量、选举出的进行挖矿的pow节点的数量、验证超级节点的数量为大于等于3的整数,优选地为22、32、42、122,选举出的进行挖矿的pow的数量和验证超级节点的数量之和等于超级节点的数量。优选地,当超级节点的数量为22时,选举出的进行挖矿的pow的数量为15,验证超级节点的数量为7;当超级节点的数量为42时,选举出的进行挖矿的pow的数量为31,验证超级节点的数量为11;当超级节点的数量为122时,选举出的进行挖矿的pow的数量为81,验证超级节点的数量为41。

相比传统的pow算法计算没有实际意义的hash值造成的极大电力和算力资源浪费,这一设计目标不但可以解决全系统的效率问题,而且能够将更多的闲置资源用于算力输出和交易数据处理上,例如,把算力贡献到人类基因组序列计算这类具有科学价值的项目。

当选pow节点的超级节点,就成功取得了记账权,可以享受总收益的50%,剩下的收益则按贡献度向下分发。未当选超级节点的主节点在本周期内不会参与挖矿和验证,但是它们可以接收计算任务,根据贡献的算力多少,来享受收益。外部客户向agent提交任务并以man支付,agent标准化任务后向非顶层验证节点(非超级节点)发送,验证节点将任务进一步优化分解并向非顶层pow节点分配任务,各计算节点在规定时间内完成任务上交可获得积分,验证节点整合后将结果提交agent,agent交付客户。其中,积分是专为执行外部任务的非顶层节点设计的奖励形式,以积分池的形式存在。一个节点在规定时间内完成指定任务,就能获得相应的积分,积分可以兑现外部客户支付的man币奖励,这些将通过智能合约来实现。

计算任务的任务内数据不会写入区块中,但完成情况-积分奖励需要写入,而后agent依据此积分发放奖励。此外,强人工智能任务以及公益任务会在算力有所空闲的时候填补,奖励通过规定的区块奖励发放。就此形成了计算市场闭环生态以及不断进化的强人工智能系统。

选举周期的设计,主要目的是提供一个稳定合理的算力租赁时间间隔,同时又保证每个底层主节点都有机会成为超级节点完成挖矿和验证工作。根据统计的结果,即使是1万个主节点情况下,每2个星期,任一主节点都有机会成为超级节点。

在两个选举周期之间,当选顶层节点的节点可以执行挖矿和验证,而未当选的节点在这期间可承担并完成外部的计算任务。开启新一轮选举后,又可以重复这种过程。从而保证了所有符合资格的主节点都能有机会享受挖矿和验证收益,又能在未当选的情况下输出自己的算力赢取收益,避免浪费。

具体选举过程如下:本发明的matrix链提供了一个随机函数,这个函数将产生一个[0~1]区间的值,而各个节点按照互不重叠的方式,根据自身上报的能力获得一个区间分布。随机数落在那个区间,那个区间的主节点将成为胜出者;其余节点按照顺序排布规则形成三叉树,最终形成完成的树状网络结构。为了防止作弊,针对上报的能力,matrix链具有一个验证算法,在随机起始区块位置和规定的时间段内,统一对全体主节点进行校验。另外,对于随机数生成,matrix链也具有防止作弊的方法,采用联合生成随机种子,且随机数种子需要验证者节点以加密形式发布,从而保证作弊不可能发生。

此外,还提供了随机隐藏的暗黑守护神,用于确保矿工以及验证者的作弊或者联合作弊情况及时被发现。

matrix链通过设置一种暗黑守护机制,以防护各类网络攻击与针对传统超级节点的挟持攻击。通过设定“暗黑守护者”,主要是实时验证整个网络是否有作弊现象,核心是验证总账,采用复式记账法,对每个账户/每个交易类别进行统计。matrix监管者(其管理和监督matrix项目,例如可以是一家依法成立的基金会或者是一个负有相应职能的社区组织等)会进行部署,同时会公布这部分的验证代码。这个属于义务劳动,但如果发现有作弊现象,并通知监管者,监管者会进行奖励。监管者本身的守护者不会获得奖励。

矿工网络

作为一个实例,矿工的选举周期为:3600×2n,n∈[-3,+4],单位为秒;n缺省值为0;即1个小时选举一次。

以上关于矿工的选举周期仅为示意性的,本发明不限于所公开的实施方案。

优选地,矿工的选举周期可以为0.25小时、0.5小时、2小时、3小时。

选举周期设计的主要目的是为矿工提供一个稳定合理的算力租赁时间间隔,同时又能够保证每个底层主节点都有机会成为超级节点来完成挖矿和验证工作。根据统计的结果,即使是1万个主节点情况下,每两个星期,任一主节点都有机会成为超级节点。

在matrix链架构上,首先对每个矿工的价值(value)进行计算,这个价值体系作为选举概率的基本依据。作为一个实例算力评价标准可以通过上线时间排名(orderofonlinetime)、事务处理能力(tps)、验证网络的规定时刻等参数计算,作为一个示例,优选的算力评价标准如以下等式1所示:

valueminer(i)=(tpspower(i)×coetps+depositstake(i)×coestk)×lasttime(i),

i∈masternodecollection

其中,orderofonlinetime表示上线时间排名;tps为事务处理能力;masternodecollection表示主节点集合;stake表示用户在网络中的抵押金额,通常通过智能合约实现;coetps表示tps的系数,coestk表示抵押金额的系数,valueminer(i)可以通过验证网络在规定时刻,监督全网生成区块获得。

当本次选举周期被选举成功时,其在线时间将减半。从没有开始当选时,加上原始时间积累,进行在线时长累计,在线时长的统计为持续区块时间,通过验证节点和相邻节点互相监督达成。

作为一个实例,valueminer(i)中的各个系数暂定为如下等式3所示:

选举的方法为:

1)将全局列表(globallist)中所有的用户按照value值进行排序,并以此划分为32组。例如,可将value值排名第1、第33、第65……的用户划分到第1组,value排名第2、第34、第66……的用户划分到第2组,以此类推。

2)每组内部的主节点按照valueminer(i),从大到小进行依次排布,其中最大value值的主节点从0开始。如果节点的value值大小一致,则按照对应的txhash从大到小排布(txhash是节点在参加竞选时分配的一个字段值)。每个节点占据的区间范围为如下等式4所示:

3)根据当前区块的hash以及当前组的所有主节点hash值作为基础随机种子;为了防止区块生成者作弊,全部验证节点中的每个将随机生成一对公钥和私钥,且该密钥对不能与之前产生的相同;在下一个区块中,各个验证节点将公布该私钥;当验证节点拒绝响应时,将按照固定模板选取其中超过半数的私钥作为验证随机种子;验证随机种子与基础随机种子将产生选举结果所用的随机数。该随机数在[0~1]之间。

4)随机数落入那个主节点区间,则该节点变为超级节点,即supernode。

5)三叉树形成规则,按照广度优先顺序,依次挑选节点。核心原则是:第一,全部组的树结构尽量向平衡树发展;第二,每个节点的连接度尽可能接近,当同一层的节点没有满配时,不能配置下一层节点。第三,优先配备左节点,然后全部左节点配齐后,再右节点配置。节点配置的顺序依据计算的valueminer(i)值。采用三叉树结构的优点在于,能够形成一个有次序的树结构,每一层的节点数是固定的,相互之间有固定的关系,例如父子关系、兄弟关系,便于查询。

如果前次选举出现异常,或者无法提供随机种子,则本次选举选择合规的32个最大value的矿工节点。如果不满32个,则有几个,当选几个。

验证网络

验证超级节点的选举周期为3600×2n,n∈[-3,+4],单位为秒;n缺省值为0;即1个小时选举一次。

以上关于验证超级节点的选举周期仅为示意性的,本发明不限于所公开的实施方案。

优选地,验证超级节点的选举周期可以为0.25小时、0.5小时、2小时、3小时。

该选举周期的目的是为了保证整个区块链事务处理的一致性。考虑到验证与矿工同时交接可能带来的网络不稳定性,因此,验证周期与选举周期将存在16个区块生成的位移,从而避免了验证和矿工的同时事务交接产生的流量导致网络连接波动。

验证超级节点通过投票做出最终的区块生成调整,而定期换届选举则避免了固定验证超级节点可能的财阀统治和串通。

一个示例性的验证超级节点最大配置为11个,最大支持三层,即l1层的附属验证节点为22个,l2层的附属验证节点为44个,l3的附属验证节点为88个,总计165个可用验证节点,作为候选验证节点。

以上关于候选验证节点的数量仅为示意性的,本发明不限于所公开的实施方案。

候选验证节点的数量为大于等于1的整数,优选地为11、22、44、88、165。

能够成为验证节点的前提:

(1)在选举周期前,提交抵押金(deposit)的智能合约,从而确认抵押金能够满足要求,成为验证节点的基础条件是例如具备100000man,且具备例如2000tps的验证能力。

(2)在确定选举的周期,将根据自动选择抵押金最高的165个节点,作为候选验证节点。当出现验证节点抵押金相同的情况下,将以区块时间戳作为第一判决依据,时间戳更早的获胜;并以选举区块的hash值与智能合约的hash汉明距离(hammingdistance)远近作为第二评判依据,汉明距离较小的获胜;最后以节点id生成时刻作为判决依据,生成时刻较早的获胜。在165个之外的节点将自动完成智能合约的执行,退还抵押金,且可以重新加入矿工节点的选举中。

(3)在挑选出最多165位可用验证节点后,将按照验证value值作为选举超级节点的核心依据,并以此生成三叉树结构。

采用三叉树结构的优点在于,能够形成一个有次序的树状结构,每一层的节点数是固定的,相互之间有固定的关系,例如父子关系、兄弟关系,便于查询。

下层节点不参与验证,只作为后备节点池参与每轮的验证超级节点选举。存在意义就是避免11个验证超级节点连任带来的作弊等行为。

验证区块的工作原理:

(1)验证区块将提供收集交易信息和相关事务(例如,所承担的外部计算任务),并按照环路签名方式,提交给矿工节点,当签名获得11个验证超级节点总财富权值的75%以上,或者获得7个签名,且财富值在60%以上时,区块生成有效;否则将出现区块跳块。由矿工节点将针对获得11个验证超级节点一致通过(即签名获得11个验证超级节点总财富权值的75%以上,或者获得7个签名,且财富值在60%以上)的区块内容进行pow签署,从而获得奖励。

(2)验证区块中的全部节点(即全部11个验证超级节点),将按照选举hash值生成的随机顺序,轮流发起交易验签,并在规定的时间段内收集其它验证节点的验签。由于全部验证节点之间可以建立比较稳定的连接,因此任意验签请求必须回复,且回复时间在本区块审核时间范围内。此外,考虑到网络攻击情况,验签可以支持存储转发形式发送,即每个节点有义务转发传送其它验证节点签名到本次验证主节点。

(3)验证主节点完成基本交易块(基本交易块是指通过验证节点验证后的区块)的打包,并支持通过选举网络发送给所有主节点;另外,也将按照规则发送给所有矿工节点;所有矿工节点将向相邻主节点发送基本交易块。此外,所有验证节点支持rpc形式提供交易块信息。其中,验证主节点是11个验证超级节点中的首(leader)验证节点,其他10个是从(follower)验证节点,也是通过算法选举轮流当选。

(4)每个矿工节点将打包自由交易块(自由交易块是指矿工自己收集到的一些区块),自由交易块内容需要与基本交易块内容去重,并在挖矿完成后,提交给全网。此时,验证交易节点将对整个区块合法性进行检查,并在下个基本交易块中确认合法性,即包含11个验证超级节点的签名。如果验证节点确认非法,则矿工失去本选举周期打包资格;该节点对应的2个子节点将递补进行挖矿;且所有矿工重新开始对之前基本交易块和本地自由块进行打包。

验证节点权力获取路径

(1)选择抵押金最高的165个验证节点,然后计算对应的valueverifer(i),i∈[1,165],其中计算公式如下等式5所示:

valueverifier(i)=stake(i)×lasttime(i)(等式5)

其中,stake(i)为第i个验证节点抵押的man数量,lasttime(i)为第i个验证节点的上线时间;其中用户被当选后,其用于计算的在线时长lasttime(i)将减半,已经折半的将不再折半。例如,a用户在用户成为验证超级节点之前,原始在线时长为1000个区块,则lasttime(i)=1000,正式成为验证超级节点后,lasttime(i)=500;如果每个选举周期的验证超级节点持续240个区块,则该节点在下次选举前,等效如果再次当选,则等效时长变为如果再次没有当选,则等效时长变为lasttime(i)=620+240=860。

(2)选举算法:

165个候选验证节点按照valueverifer(i)从大到小进行依次排布,然后划分为11个组(例如,可将valueverifer(i)值排名第1、第12、第23……的用户划分到第1组,value值排名第2、第13、第24……的用户划分到第2组,以此类推),然后每个组推选出一个节点。

其中每个组内,所有节点按照value值大小,从0开始累加排布,全部节点范围占据[0~1]。如果节点value值大小一致,则按照对应的txhash从大到小排布。每个节点占据的区间范围为,其中交接点为前一个节点所有:

因此,根据当前区块的hash以及当前组的所有主节点hash值作为基础随机种子;为了防止区块生成者作弊,全部验证节点每个将随机生成一对公钥和私钥,且该密钥对不能与之前产生的相同;在下一个区块中,各个验证节点将公布该私钥;当验证节点拒绝响应时,将按照固定模板选取其中超过半数的私钥作为验证随机种子;验证随机种子与基础随机种子将产生选举结果所用的随机数。该随机数在[0~1]之间。

如果前次选举出现异常,或者无法提供随机种子,则本次选举选择合规的11个最大value值的验证节点。如果不满11个,则有几个,当选几个。

验证节点权力丢失路径

验证节点,如果存在作弊或者连续6个区块验签没有响应,其它主节点将对其一致表决后,则失去验证权力。该一致表决由超级节点发起,并需要获得全网主节点2/3的签名和超过50%的全网主节点的stake,并写入区块即可。

守护节点与弹劾网络

为了防止网络的恶意攻击,matrix监管者将独立部署一个验证节点和一个守护节点。matrix监管者的验证节点,在保持正常在线情况下,将自动当选为验证超级节点,并与其它验证超级节点共同工作。所有条件和收益分配方法与其它验证超级节点一致。

守护节点则会通过matrix内置规则,对所有交易信息进行审核,并对发现的异常进行全网主节点广播,然后由全网主节点对异常交易进行验证。如果证实为异常,则启动矿工和异常验证超级节点的弹劾。弹劾主要通过简单多数(simplemajority)主节点一致表决和全部主节点的stake超越2/3两项条件达成,即可完成。该过程通过p2p网络进行消息传递和广播完成。如果弹劾成立,则本届选举节点失效,进入标准全网主节点pow模式,且从异常区块开始,到弹劾期间生成的区块全部失效。守护节点仅能弹劾当前24个区块范围内的异常。如果守护节点发送虚假消息或者表决不通过,则区块继续有效。

守护节点通过弹劾成功,并通过对监管者发送对应的签名消息,从而获得监管者单独发送的弹劾奖励。而守护节点弹劾失败,则需要承担后续选举周期内至少24个区块的矿工奖励。

由于守护节点可以是匿名节点,因此任意一个节点都可以充当守护节点,既可以向全节点发送该消息,从而由全节点转发该消息;也可以是全节点自身校验,从而发现异常。

任意一个全节点都必须处理系统的异常消息响应,并在证实后,进行签名转发。当收到系统主节点对同一事件的异常签名超过简单多数,且表决同意节点的stake超过全部主节点stake的2/3,即可转入标准全网主节点pow模式,直到本次选举周期结束。

网络收益分配办法

作为一个实例的整体分配原则如下表3所示:

表3

对于矿工总奖励,一个实例性的区块奖励收益分配原则如下,后续会进行根据网络运行状况进行调整,核心原则是保证网络的持续长期运行,如下表4所示:

表4

当达到总量后,区块交易费用和外部服务支付手续费将作为核心奖励,支撑挖矿收益。

matrix链架构的任何一个主节点能够承接外部的cpu计算任务或者ai任务,而全部实现过程需要任务分发网络/验证网络和外部代理完成。这些是通过matrix内部的智慧合约以及分成方式完成。此外,每次完成计算,均存在一个合约费用冻结周期,用于外部世界进行一定的验证,当验证完毕后,可以提前解冻或者定时解冻。

对于验证者奖励,一个实例性的分配原则如下表5所示:

表5

此外,由于agent可以支撑oracle数据库业务,并完成外部各种计算任务的转换,因此需要通过超级块(superblock),由agent提供智能合约以及奖励分配方式形成支撑,如下表6所示:

表6

matrix的共识算法选择

共识算法是影响一个货币稳定的关键,共识算法可分为三类:(1)cpu-like;(2)gpu-like;(3)asic-like。每种代表一种利益风格。

通常cpu/gpu-like,普通用户能够介入,同时也可以通过算力租赁形式加入;而asic-like,则面临asic-like的专业竞争。

为了方便社区用户广泛参与,增加社区活跃程度,使得更多社区用户能够更加深入地了解matrix链架构的运行机制。matrix使用了对于家用电脑更为友好的算法,以及计划适配平板/手机端的挖矿软件以便社区随时随地的和matrix共识网络连接在一起。

另外,由于专业算力租赁市场(例如,nicehash)的存在,凡是现有成熟的pow算法,外部攻击者都可以从算力市场购入算力对其实施51%攻击。此类攻击无需购置大量挖矿设备,只需要支付一定时间内的算力价格,因此大大降低了攻击成本。而matrix的pow算法与当前的各类pow算法不同,其基于深度学习的训练过程或者贝叶斯推理的马尔可夫蒙特卡洛算法(mcmc)算法。作为一个示例,matrix的共识算法将基于ai矩阵运算,加上新型hash组合的方式来设计pow算法。同时,共识算法还将调整为支持gpu/cpu双向支持,从而保证主节点的参与用户足够多。

此外,算力租赁和矿工的不稳定,将带来全网算力的大幅波动,对出块稳定性造成极大影响。因此,matrix将采用动态追踪的难度调整算法,并利用验证者,进行卡块超时的一致性表决机制,从而避免区块生成大幅波动的灾难性后果。

因此,matrix将通过一条合理的算力部署和共识算法设计,保证币值的稳定和进化。具体措施包括:

(1)matrix将提供平滑升级方案,并提前在社区公布对应的应对措施和方案,在得到社区共识后,进行升级。

(2)matrix的共识算法采用gpu和cpu友好的新算法。

(3)matrix通过验证者,做出最终的区块生成调整,和监督原则;正常情况下,该节点的作用不会体现。

通过上述原则,matrix将实现整个区块的稳定生成,并为人工智能算法的实现提供足够的实现算力基础。

matrix的共识机制可以视为“超级节点+pow”的融合,引入ai核心技术,在兼顾去中心化的同时满足性能和安全性需求。

一般情况的pow共识机制是全网所有节点按照自己为网络贡献的计算服务(算力x时长)来获取报酬,也就是挖矿。这么做的一个明显缺点就是资源浪费,因为涉及到大量毫无意义的计算任务。

matrix网络引入了新颖的混合共识机制。除了普通节点,还引入了超级节点的概念。每个主节点只要符合资格都可以成为超级节点的候选者,选择周期可为15分钟到1个小时。随机算法会在同一概率下选出例如32个超级节点进行pow挖矿。在32个挖矿超级节点层次,共识机制仍然沿用pow,即节点互相竞争,首先完成工作证明的节点将取得奖励。32个节点的处理速度必然比全部节点都参与要快很多。另一方面,超级节点与其同簇节点之间是合作关系。无论是怎样的超级节点,都可能受制于设备的计算能力,交易和处理速度是有限的。matrix设计了一个树状网络,超级节点可以把交易验证和工作量证明任务分配给其下层节点,以并发方式完成相应计算。这样做能够获得更强的算力增加赢得顶层pow的机会。它具有三大优势:第一,节点之间的冗余工作大量减少;第二,并行计算全面提升了验证交易的吞吐量和工作量证明的计算性能;第三,区块链网络能够组织为类似于大规模算力输出平台。

matrix网络的pow不再依赖传统的哈希计算,而是使用深度学习的训练过程或者贝叶斯推理的马尔可夫蒙特卡洛算法(mcmc)作为工作量证明。也就是说,matrix网络的共识机制是针对公益算力而设计的。matrix网络配备了专门的机器学习任务发布节点,可以接受需要用户指定的模型和训练数据。32个顶层节点在进行共识计算时,首先从发布节点领取任务,然后竞争完成任务。顶层节点将训练数据和任务分配到下面的节点,采用异步分布式并行计算完成机器学习训练过程。例如在深度网络训练任务中,每个节点对一部分训练样本进行处理计算梯度并提交到其它节点,各节点以异步、分布方式更新梯度;同时顶层的32个节点各自带领自己的下层节点进行训练,率先完成训练(例如达到某种识别精度)的超级节点赢得奖励,并与其下层节点共享。

一个实例性的基于主节点自底向上的选举python(其是一种解释型、面向对象、动态数据类型的高级程序设计语言)算法,已经上传到github(其是一个面向开源及私有软件项目的托管平台),后续将会做更多的改进工作,确保整个matrix长期稳定运行。

matrix的挖矿和验证流程:

图5为根据本发明的matrix链的挖矿和验证流程的示意图。矿工超级节点将本节点交易广播给所有验证超级节点→验证主节点发起区块验证,向所有验证超级节点广播新区块→每个验证超级节点在给定时间内完成区块验证,并向所有验证主节点广播验证结果→任一验证超级节点收集到满足共识条件的验证签名集合,即广播给矿工超级节点,矿工超级节点开始挖矿→矿工超级节点出块采用pow算法-挖矿成功后,将随机数nonce(numberusedonce)、coinbase、块哈希(blockhash)传给验证超级节点(如果矿工超级节点在指定时间内未出块,验证超级节点会选择监管者维护的备用矿工超级节点的挖矿结果)

以上详细描述了本发明的具体实施例,但可以理解,在不脱离本发明的精神下可以对其作出修改。本发明的权利要求旨在覆盖这些修改,以保证其落入本发明的真实范围和精神内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1