[发明专利]前置机参与区块链共识的方法有效
申请号: | 201710185465.2 | 申请日: | 2017-03-26 |
公开(公告)号: | CN108241968B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 吴思进;王志文 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06Q20/08 | 分类号: | G06Q20/08;G06Q20/38;H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310012 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 前置 参与 区块 共识 方法 | ||
1.前置机参与区块链共识的方法,其特征在于,区块链生成新区块的步骤如下:
步骤S1,前置机取2/3及以上的共识节点的最大高度H,加1作为最新的区块高度;
步骤S2,前置机接收交易指令,验证交易签名是否正确及是否符合交易条件,验证通过后附加步骤S1确定的区块高度H+1,签名后发送给其他所有的共识节点,前置机在确定新的H+1高度作为本轮共识的区块高度,约定一个超时时间t1,超过超时时间后不再以H+1区块高度发送交易数据;其中,所述是否符合交易条件包括:支付金额是否不超过该支付地址余额;
步骤S3,若共识节点验证交易签名符合条件,则将验证结果发送给其他所有的共识节点,共识节点收到H+1高度的第一个数据后,约定一个超时时间t2,超过超时时间后不再接收任何H+1高度的数据;
步骤S4,每个共识节点收到其他节点发过来的验证结果,累计投票,达到一定的票数后,生成高度为H+1的新区块,新的H+1区块头哈希计算时包含前一高度为H的区块的头哈希值;
步骤S5,每个共识节点将高度为H+1新区块发送到前置机,包括余额状态信息;
步骤S6,前置机比较出已发送的H+1高度的交易数据中未被写入共识区块H+1的交易数据,作为H+2高度的数据,连同新收到的数据发送给所有的共识节点,规定每个区块发送数据的上限,超过上限的交易数据会归到H+3高度的数据等到下一轮发送。
2.根据权利要求1所述的前置机参与区块链共识的方法,其特征在于,前置机将支出地址分区,每个支付地址分区后再将交易哈希分片;其中,所述前置机将支出地址分区包括:根据支付地址的前二位分为4个区00、01、10、11;所述前置机将支出地址分区,每个支付地址分区后再将交易哈希分片的步骤如下:
步骤S1,用户将交易发送给支付账户地址的分区所在的那些前置机,每台前置机规定每个区块高度传送的最大笔数,分区用户数量越多分配的前置机越多,按交易哈希值来对用户数量的级别来取模以对应不同的前置机,即使部分前置机损坏或被攻击,用户变换交易哈希值通过其他前置机进入区块链共识节点;
步骤S2,每个支出地址分区下的交易哈希分片的交易数据都是完全独立的,在对签名进行校验及正确计算余额后,依次或按同一高度的数据打包发送给所有的区块链共识节点;
步骤S3,所有的共识节点收到所有前置机发送的同一高度的但完全独立的交易数据,多线程校验及计算余额,将分区分片的交易结果分送给其他所有的共识节点进行投票,若共识节点的验证结果和前置机验证结果一致,再加一个本共识节点的私钥签名即可,若有不一致的数据,则需要剔除,将剔除的数据及共识结果的哈希值传送给其他共识节点,以便对比投票;
步骤S4,共识节点对分区分片的数据分别投票达成共识结果后,打包发给对应的分片前置机,分片前置机对该分片的数据对比后,把前次已发送但未写入区块的数据再次验证,通过验证的交易数据按下一个高度发送给所有的共识节点。
3.根据权利要求1-2任一项所述的前置机参与区块链共识的方法,其特征在于,对于每个高度的区块在传送交易数据的时候,把交易哈希值的某几位写入位图表,让用户同时提供不同的交易哈希值,前置机选一个使之不与其他交易的位图重叠,或者放入后一个区块高度的位图表,或,后面几个区块高度的位图表,前置机按位图表的位置来放置各交易哈希值,并计算梅克尔树的哈希值,前置机把数据传送给共识节点后,通过位图表和梅克尔树的哈希值快速对比数据的一致性,获取遗漏数据,或剔除不一致的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710185465.2/1.html,转载请声明来源钻瓜专利网。