CN106406896B - 一种并行PipeLine技术的区块链建块方法 - Google Patents
一种并行PipeLine技术的区块链建块方法 Download PDFInfo
- Publication number
- CN106406896B CN106406896B CN201610857645.6A CN201610857645A CN106406896B CN 106406896 B CN106406896 B CN 106406896B CN 201610857645 A CN201610857645 A CN 201610857645A CN 106406896 B CN106406896 B CN 106406896B
- Authority
- CN
- China
- Prior art keywords
- block
- building
- nodes
- node
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种并行PipeLine的区块链建块方法,其特征在于包含以下步骤:(1)将数据分桶存储;(2)建立临时数据序号;(3)更改新一轮建块的触发点;(4)对剩余交易进行处理;以及(5)进行父哈希赋值运算。利用该建块方法,桶模型保证建块信息的完整性。
Description
技术领域
本发明涉及一种区块链建块技术,特别是一种基于并行PipeLine的区块链建块技术。
背景技术
目前的区块链系统是以串行的方式建块的,串行方式的含义是完成建块的各个步骤后开始下一个新块的创建。由于建块流程本身可以进行切分成一些子流程,所以对于目前的串行建块方法,在确定了建一个块的交易集合之后,交易缓冲区中收到的交易可以用于建下一个块。目前的区块链系统中每次建一个块,每个建块过程大概包括以下几个阶段:
(1)将系统中所有交易映射到位图;选出一个leader节点,将自己的位图发送给其它所有节点;
(2)所有的节点对收到的位图求交集,根据得到的交集,确定建块的交易集合。leader节点建块,并将块发送给其余节点;
(3)所有的节点对块进行验证,根据验证结果,发送投票信息;
(4)所有节点转发自己的投票信息。在得到所有的投票之后,确定最后的投票结果。触发下一轮建块。
分析上面的建块过程可以发现,现有的建块过程所需时间较长,对区块链系统响应时间长,计算机资源应用效率低,造成了内存的极大浪费。进一步研究发现在串行建块第一步完成时,已经可以确定建块的交易集合了,在对于这之后收到的交易,可以将其确定为第二个块中的内容。为了实现系统中同时存在两个或者多个这样的建块流程,系统利用桶模型进行多个块的并行建块。
发明内容
本发明的目的在于提供一种并行PipeLine的区块链建块方法,包含以下步骤:(1)将数据分桶存储;(2)建立临时数据索引;(3)更改新一轮建块的触发点;(4)对剩余交易进行处理;以及(5)进行父哈希赋值运算。
优选的,步骤(1)具体为:对于数据存储进行了按序号分桶处理以实现多个块同时建立,并且从交易缓冲区开始,对每一个建块流程提供一个唯一的标识height,表示这个块的高度。
优选的,步骤(2)的建块运算包括:(a)在要建一个新的高度height的块时,假设第height-1块已经开始,并从交易缓冲区中取走其交易集合;(b)将新的高度块序号定义为height,从缓冲区中取走该块所有的交易,放到一个标识为height的桶中;(c)节点通信的所有信息,包括bitmap、block、投票和转发的投票都加上唯一的标识height,以保证在一个节点收到所有类型的消息都可以对应到唯一的一个序号对应的块,由此数据存储在多个桶中,使得系统中可以允许同时存在多个建块流程对应的数据信息。
优选的,步骤(3)包括:(a)将原始的串行建块的系统中触发下一轮建块的操作关闭;(b)在建块的步骤(1)将所有的交易拿到一个有标识的桶中之后,触发下一轮建块。
优选的,步骤(4)在每一个建块过程结束之后,将没有放到区块中的交易存放到缓冲区中,留给接下来的建块流程使用。
优选的,步骤(5)的哈希值,除了区块链第一个区块之外,每一个区块建成之后,如果上一个区块还没有建完,将其挂在内存中,待上一个区块建完之后,将其存入本块中,再将其放到区块链里。
优选的,为了容忍f个节点的故障或者被攻击,系统需要有3f+1个节点。节点在出现故障或者被攻击成功的情况下,如果节点总数超过被控制节点的三倍,系统的容错算法可以保证其余正常节点正常运作。
优选的,若每次投票过程中如果只有少于1/3的节点出现故障或者被攻击控制,系统可以正常运作,异常节点恢复正常之后,会有一个同步机制,向其余节点进行请求,得到完整地区块链,从而保证任何一个节点在恢复正常之后可以正常的参与到新一轮的建块投票中,且保持了分布式系统数据的一致性和每个节点数据的完整性。
为了实现系统中同时存在两个或者多个这样的建块流程,系统利用桶模型进行多个块的并行建块。具体来讲,每个建块流程会有较多的中间数据和一些消息传递,包括建块的交易数据、位图、尚未存入区块链的块和投票信息。这些临时数据存储在内存中,为系统中一个唯一的建块流程服务。为了允许系统同时存在多个建块流程,每个建块流程的中间数据会在内存中被放到一个带有标号的桶中,这个桶的标号是唯一的。在开始新一轮建块时,将所有从缓冲区中的交易拿出来,放到一个桶中。接下来所有涉及对交易的读写的请求都会从这个桶中的交易进行。显然,建块会用到交易集合是桶中的交易集合的子集。而对于建块过程中没有用到的交易,从桶中将其重新放到接收交易的缓冲区中,在接下来的建块过程中处理。
不同的交易集合放在不同的桶中,每个建块流程根据自己的标号从桶中读取数据,用这样的方式将数据分桶处理,桶之间的数据不会有交集和干扰。建块数据分开之后,为了实现建块流程的并行,系统还要开启多线程,不同的建块流程有不同的线程处理。对于单机单核节点,桶模型可以增加建块速度,因为在一个建块流程中有很多的等待时间,在选出主节点之后,其余所有节点此时同步等待主节点将块发来,而在主节点发块之后,等待其余所有节点发来的投票信息,处于空闲状态。除此之外,在系统进行投票的过程中,同步的等待其余节点的票。因此,一个建块流程中计算机有大量的空闲时间。如果利用桶模型同时建多个块,计算机的使用效率会更高,交易的响应速度也更快。
本发明所提供了的一种并行PipeLine技术的建块方法,可以达到对计算机的高效利用,实现区块链系统的快速响应。利用并行PipeLine技术,每个节点的计算机资源都被更加充分的利用。计算资源和内存资源的增加可以直接提高建块的效率,这提高了系统的可扩展性。当系统的压力更大时,通过增加节点CPU以及内存容量就可以进一步提高系统的响应速度。桶模型的提出保证建块信息的完整性,包括交易bitmap、块、投票信息;块与块信息之间的隔离性;还有重要一点是保证块的顺序,使其不受网络延迟等的影响。另外,并行PipeLine技术的使用对现有的建块方式性能进行了改善,对于上层业务是透明的,因此具有很好的可移植性,可以在不同的建块方案中运用。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:
图1是根据本发明实施例的基于并行PipeLine的并行建块过程示意图;
图2是根据本发明实施例的桶模型示意图;
图3是根据本发明实施例的建块结束后的处理示意图。
具体实施方式
在进行具体实施方式的说明之前,为了更为清楚的表达所论述的内容,首先说明本发明所涉及具体实施方式的机理,即为了实现基于并行PipeLine的并发建块,需要对原有的建块方案进行两个方面的改变:
(1)多线程技术异步编程:并行的建块策略只有结合多线程技术才能真正的提高系统利用率;
(2)基于桶模型的中间数据管理:建块过程中的所有数据都要实现隔离,保证不会出现数据的混乱。建块过程中的数据可以分为两个方面,网络传输的数据和缓存数据。
网络传输的数据都是利用Json格式进行传输的,为了标识每个传输的数据是哪一个桶中的数据,在Json对象中增加了一个字段height,用于表示每个传输数据是给哪一个块使用的。
系统的缓存系统采用redis,所有的缓存数据主要存储在redis中。redis是以key/value形式存储的,key的类型是字符串。为了实现数据的分桶,在原有的key的基础上增加height号,例如对于height为1的桶,只要对原有的key的前部增加“1_”,即可标识是哪一个桶。每个交易都会根据不同的height号,在Redis中分到不同的桶中。
此外,系统至少要有4个节点,每4个节点可以容忍1个节点出现故障或者被攻击。为了容忍f个节点的故障或者被攻击,系统需要有3f+1个节点。节点在出现故障或者被攻击成功的情况下,如果节点总数超过被控制节点的三倍,系统的容错算法可以保证其余正常节点正常运作。根据拜占庭算法,即M.Pease,L.Lamport,S.Shostak.The Byzantinegenerals problem[J].ACM Trans.Programming Languagesand Systems,1982,4(3):382~401中的相关内容可知,为了容忍f个单机发生拜占庭故障,冗余系统至少需要存在3f+1个单机,也就是说系统至少要有4个节点,4个节点可以容忍一个节点出现故障或者被攻击。为了容忍f个节点的故障或者被攻击,系统需要有3f+1个节点。在进行一轮建块的过程中,如果出现了建块失败,即最终大家的肯定投票数量不足总结点数的2/3,则认为本轮建块失败,开始新一轮建块,此时区块链的高度不会增加。
每次投票过程中如果只有少于1/3的节点出现故障或者被攻击控制,系统可以正常运作。异常节点恢复正常之后,会有一个同步机制。向其余节点进行请求,得到完整地区块链。这样的方式保证了任何一个节点在恢复正常之后可以正常的参与到新一轮的建块投票中,保持了分布式系统数据的一致性和每个节点数据的完整性。
实施例
假设区块链系统中有4个节点(即M=4),分别为节点A、节点B、节点C、节点D,当采用本发明的方法进行建块时,系统有如下几步:
步骤一:每个节点首先将交易从缓冲区中拿出来,放到桶中,标号为h。将h中的交易映射得到一个bitarray,记为为H_bitarray,如图2所示。重新启动一个线程,执行步骤一。进入步骤二,流程示意图如图1所示。
步骤二:
节点A:将自己收到的交易映射到bitarray上,得到一个bitarray发给节点B、C、D;
节点B:将自己收到的交易映射到bitarray上,得到一个bitarray发给节点A、C、D;
节点C:将自己收到的交易映射到bitarray上,得到一个bitarray发给节点A、B、D;
节点D:将自己收到的交易映射到bitarray上,得到一个bitarray发给节点A、B、C;
在第一次的通信之后,所有节点根据得到的bitarray求2/3交集运算,运算结果记为ba,也就是说每一位如果有2/3以上的bitarray都是1,则运算结果的bitarray在该位为1,否则为0运算结果记为BA。
在系统中运行RoundRobin算法,随机得到一个leader。具体的做法是根据当前块的高度H和轮次R做hash运算,hash运算结果对M取模,根据取模结果确定第几个节点来建块,从而得到leader节点。不失一般性,假设节点A被选为leader,此时节点A根据BA和自己收到的交易,得到一个交易集合BS,BS满足其中的每一个交易映射到BA上所对应的位都为1。
利用这个交易集合构建一个块AB,开始第二轮通信:
节点A:将块AB发给节点B、C、D;
节点B、C、D在收到块AB之后,利用自己的BA,遍历块AB中的交易。如果块中的某一个交易映射到BA中的一位对应位置为0,则认为投票信息为0+hash(AB),否则为1+hash(AB)。
节点A的投票信息为1+hash(AB),对投票信息利用自己的私钥进行加密,得到数字签名,投票信息结构如图3所示。
接下来开始第三次通信,也就是第一轮投票:
节点A:将投票信息和数字签名发给节点B、C、D;
节点B:将投票信息和数字签名发给节点A、C、D;
节点C:将投票信息和数字签名发给节点A、B、D;
节点D:将投票信息和数字签名发给节点A、B、C。
每个节点会收到3个投票,根据数字签名验证收到的投票信息的真伪性。抛弃所有的非法投票信息后,得到一个投票集合,对这个投票集合求hash散列值之后,利用自己的私钥对其加密得到数字签名。
接下来开始第四次通信,即第二轮投票:
节点A:发送投票列表和数字签名给节点B、C、D;
节点B:发送投票列表和数字签名给节点A、C、D;
节点C:发送投票列表和数字签名给节点A、B、D;
节点D:发送投票列表和数字签名给节点A、B、C。
每个节点可以得到节点的投票信息,利用数字签名进行合法性认证,认为不合法的投票信息都是投否定票。对所有的投票信息进行统计汇总。不失一般性,以节点A对投票结果的统计为例展示每个节点的统计方式,A节点根据B在第三次通信发给自己的投票和节点C、D在第四次通信发给自己的他们所收到的B的次一轮投票,得到了B投给A、C、D三个节点的投票信息,假设B的投票结果为(A:1,C:1,D:1),由于肯定票的个数大于2/3,认定B的投票结果为1,否则认为B的投票为0。对于节点C、D,利用同样的方式即可得到其最终的投票结果。
根据节点B、C、D以及自己的投票,如果投肯定票的数量超过3个(节点总数的2/3),则认为这个块合法,将其存入链中。否则抛弃。具体的执行示意图如图3所示。
以上仅对M=4的情况进行了说明,当M=5或6时,其进行两轮通信的原理和方法与M=4的情况相同。
虽然本发明已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下对本发明的实施例能够进行改动和修改。
Claims (8)
1.一种并行PipeLine的区块链建块方法,其特征在于包含以下步骤:
(1)将交易数据分桶存储:从交易缓冲池取到交易数据,将交易数据按桶的序号分桶存储,桶的容量不小于块中交易数据的最大容量;
(2)分桶建立临时交易数据块序号,该序号对应于桶的高度,并建块;
(3)更改新一轮建块的触发点,这个触发点是指在交易数据分桶存储后,该桶拿到一个块序号时的事件点,触发下一轮建块;
(4)对缓冲池中还未处理的剩余交易数据进行建块处理;
(5)进行父哈希赋值运算:上一个区块建完之后,计算其哈希值,将其记入正在建块的块数据中。
2.根据权利要求1所述的一种并行PipeLine的区块链建块方法,其特征在于:所述步骤(1)具体为:对于数据存储进行了按桶序号分桶处理以实现多个块同时建立,并且从交易缓冲池开始,对每一个建块流程提供一个唯一的标识以表示该块的高度。
3.根据权利要求1所述的一种并行PipeLine的区块链建块方法,其特征在于:所述步骤(2)的建块运算包括:
(a)在要建一个新的高度height的块时,假设第height-1块已经开始,并从交易缓冲池中取走其交易集合;
(b)将新高度的块的序号定义为height,从缓冲池中取走该块所有的交易,放到一个块序号被标识为height的桶中;
(c)节点通信的所有信息,包括bitmap、block、投票和转发的投票都加上唯一的标识height,以保证在一个节点收到所有类型的消息都可以对应到唯一的一个桶序号对应的块,由此数据存储在多个桶中,使得系统中可以允许同时存在多个建块流程对应的数据信息。
4.根据权利要求1所述的一种并行PipeLine的区块链建块方法,其特征在于:所述步骤(3)包括:
(a)将原始的串行建块的系统中触发下一轮建块的操作关闭;
(b)在建块的步骤(1)将所有的交易拿到一个有交易块序号的桶中之后,触发下一轮建块。
5.根据权利要求1所述的一种并行PipeLine的区块链建块方法,其特征在于:所述步骤(4)在每一个建块过程结束之后,将没有放到区块中的交易存放到缓冲池中,留给接下来的建块流程使用。
6.根据权利要求1所述的一种并行PipeLine的区块链建块方法,其特征在于:所述步骤(5)的哈希值,除了区块链第一个区块之外,每一个区块建成之后,如果上一个区块还没有建完,将其挂在内存中,待上一个区块建完之后,将其存入本块中,再将其放到区块链里。
7.根据前述任意一个权利要求所述的一种并行PipeLine的区块链建块方法,其特征在于:为了容忍f个节点的故障或者被攻击(f是任何大于零的自然数),系统需要有3f+1个节点;节点在出现故障或者被攻击成功的情况下,如果节点总数超过被控制节点的三倍,系统的容错算法可以保证其余正常节点正常运作。
8.根据权利要求7所述的一种并行PipeLine的区块链建块方法,其特征在于:若每次投票过程中如果只有少于1/3的节点出现故障或者被攻击控制,系统可以正常运作,异常节点恢复正常之后,会有一个同步机制,向其余节点进行请求,得到完整的区块链,从而保证任何一个节点在恢复正常之后可以正常的参与到新一轮的建块投票中,且保持了分布式系统数据的一致性和每个节点数据的完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857645.6A CN106406896B (zh) | 2016-09-27 | 2016-09-27 | 一种并行PipeLine技术的区块链建块方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857645.6A CN106406896B (zh) | 2016-09-27 | 2016-09-27 | 一种并行PipeLine技术的区块链建块方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406896A CN106406896A (zh) | 2017-02-15 |
CN106406896B true CN106406896B (zh) | 2020-03-17 |
Family
ID=57997838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610857645.6A Active CN106406896B (zh) | 2016-09-27 | 2016-09-27 | 一种并行PipeLine技术的区块链建块方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106406896B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106920167A (zh) * | 2017-02-24 | 2017-07-04 | 北京航空航天大学 | 一种基于p2p金融的区块链机制与共识算法 |
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN107273410B (zh) * | 2017-05-03 | 2020-07-07 | 上海点融信息科技有限责任公司 | 基于区块链的分布式存储 |
CN107294727B (zh) * | 2017-05-22 | 2020-06-19 | 联动优势科技有限公司 | 一种电子投票方法、终端设备以及区块链网络 |
CN107274159B (zh) * | 2017-06-09 | 2024-07-12 | 北京泛融科技有限公司 | 一种基于区块并发执行算法的记账系统及方法 |
CN107291862A (zh) * | 2017-06-12 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 业务数据存储方法、装置、存储介质及电子设备 |
CN107528882B (zh) * | 2017-07-14 | 2020-12-25 | 创新先进技术有限公司 | 区块链共识网络中处理共识请求的方法、装置和电子设备 |
CN109428906B (zh) * | 2017-08-22 | 2021-09-10 | 北京果仁宝软件技术有限责任公司 | 请求处理方法、装置、系统及终端 |
CN107704269A (zh) * | 2017-10-16 | 2018-02-16 | 中国银行股份有限公司 | 一种基于区块链生成区块的方法以及系统 |
GB201720767D0 (en) * | 2017-12-13 | 2018-01-24 | Barker Trevor | Computer-implemented system and method |
CN108170449A (zh) * | 2017-12-27 | 2018-06-15 | 邵美 | 一种区块链系统中核心协议的升级方法 |
CN108269190A (zh) * | 2018-01-17 | 2018-07-10 | 深圳四方精创资讯股份有限公司 | 基于跨链中继平台的跨链方法及其系统 |
CN108509592B (zh) * | 2018-03-30 | 2022-11-29 | 贵阳朗玛信息技术股份有限公司 | 基于Redis的数据存储方法、读取方法及装置 |
CN108600353B (zh) * | 2018-04-12 | 2021-01-12 | 北京天德科技有限公司 | 一种区块链节点的并行块同步方法 |
CN108564470B (zh) * | 2018-04-17 | 2021-09-28 | 北京天德科技有限公司 | 一种区块链中并行建块的交易分发方法 |
CN110471755A (zh) * | 2018-05-09 | 2019-11-19 | 厦门本能管家科技有限公司 | 一种多进程打块方法及系统 |
TWI673988B (zh) * | 2018-05-25 | 2019-10-01 | 柯賓漢數位金融科技有限公司 | 區塊鏈的生成方法及系統 |
CN110738472B (zh) * | 2018-07-20 | 2023-10-03 | 北京航空航天大学 | 区块链的存储方法和区块链的节点 |
CN109126098A (zh) * | 2018-07-26 | 2019-01-04 | 深圳市梵高夫科技有限公司 | 基于区块链的竞赛仲裁方法、系统、核心节点及存储介质 |
CN109410043B (zh) * | 2018-08-20 | 2022-02-18 | 中山大学 | 一种基于分层树状结构的区块链信息高效存储方法及装置 |
CN109241365B (zh) * | 2018-08-23 | 2020-11-20 | 泰链(厦门)科技有限公司 | 区块链系统的构造方法、介质、计算机设备及区块链系统 |
WO2020056570A1 (zh) * | 2018-09-18 | 2020-03-26 | 柯宾汉数位金融科技有限公司 | 应用分片机制的区块网的区块产生方法及区块网系统 |
CN109658238B (zh) * | 2018-10-26 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN109461079B (zh) * | 2018-10-29 | 2022-04-05 | 众安信息技术服务有限公司 | 基于区块链的交易处理方法和装置 |
CN109410063B (zh) * | 2018-11-12 | 2021-09-10 | 众安信息技术服务有限公司 | 基于区块链的交易处理方法、装置和存储介质 |
CN109903048B (zh) * | 2019-02-28 | 2021-06-08 | 北京柏链基石科技有限公司 | 一种出块方法、共识方法和装置 |
CN110096505B (zh) * | 2019-03-31 | 2021-05-11 | 杭州复杂美科技有限公司 | 一种数据存储方法和系统、设备及存储介质 |
CN110599139B (zh) * | 2019-08-19 | 2022-09-13 | 杭州秘猿科技有限公司 | 一种区块链共识算法中的出块方法和装置 |
CN110675255B (zh) * | 2019-08-30 | 2021-04-02 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
CN110689344B (zh) * | 2019-08-30 | 2021-04-09 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
CN110751473A (zh) * | 2019-09-09 | 2020-02-04 | 成都四方伟业软件股份有限公司 | 一种提升区块链出块效率的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463001A (zh) * | 2014-12-19 | 2015-03-25 | 比特卡国际有限公司 | 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置 |
CN105488675A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN105592098A (zh) * | 2016-01-16 | 2016-05-18 | 杭州复杂美科技有限公司 | 区块链上的投票及ca证书的管理方法 |
CN105912618A (zh) * | 2016-04-07 | 2016-08-31 | 浙江万马新能源有限公司 | 基于区块链的充电桩充电交易通讯方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836908B2 (en) * | 2014-07-25 | 2017-12-05 | Blockchain Technologies Corporation | System and method for securely receiving and counting votes in an election |
-
2016
- 2016-09-27 CN CN201610857645.6A patent/CN106406896B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463001A (zh) * | 2014-12-19 | 2015-03-25 | 比特卡国际有限公司 | 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置 |
CN105488675A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN105592098A (zh) * | 2016-01-16 | 2016-05-18 | 杭州复杂美科技有限公司 | 区块链上的投票及ca证书的管理方法 |
CN105912618A (zh) * | 2016-04-07 | 2016-08-31 | 浙江万马新能源有限公司 | 基于区块链的充电桩充电交易通讯方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106406896A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106406896B (zh) | 一种并行PipeLine技术的区块链建块方法 | |
JP6653358B2 (ja) | 複数のシステムからのデータのブロックチェーンロギング | |
TWI714847B (zh) | 區塊鏈共識網路中處理共識請求的方法、裝置和電子設備 | |
CN110474986B (zh) | 一种基于区块链系统的共识方法、装置及系统 | |
CN111061769B (zh) | 一种区块链系统的共识方法及相关设备 | |
CN110493148B (zh) | 一种区块处理、区块共识和区块同步方法及装置 | |
Mostéfaoui et al. | Signature-free asynchronous binary Byzantine consensus with t< n/3, O (n2) messages, and O (1) expected time | |
CN109815373B (zh) | 数据存储的控制方法、装置、服务器及可读存储介质 | |
CN113329031A (zh) | 一种区块的状态树的生成方法及装置 | |
CN113973021B (zh) | 一种图式区块链的网络传输优化装置及方法 | |
WO2011140991A1 (zh) | 分布式文件系统的文件处理方法及装置 | |
JP2020519959A (ja) | ビュー変更プロトコルを終了するためのシステムおよび方法 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN114422155B (zh) | 提案共识执行方法、区块链系统、设备和存储介质 | |
CN111935207A (zh) | 基于改进型c4.5算法区块链系统共识方法 | |
CN111698094A (zh) | 一种基于区块链系统的共识方法及区块链系统 | |
CN111813580B (zh) | 一种基于矩阵表示的分布式模型训练优化方法 | |
WO2014108083A1 (en) | Method and device for verifying consistency of data of master device and slave device | |
CN111226206A (zh) | 拍摄区块链数据的快照 | |
CN103246484B (zh) | 一种数据存储方法、装置及系统 | |
CN108206839B (zh) | 一种基于多数派数据存储方法、装置及系统 | |
WO2021196463A1 (zh) | 一种区块链数据的同步方法、装置及电子设备、存储介质 | |
CN104123102B (zh) | 一种ip硬盘及其数据处理方法 | |
CN103995827A (zh) | MapReduce计算框架中的高性能排序方法 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |