CN110163600A - 区块链系统及应用其的方法 - Google Patents
区块链系统及应用其的方法 Download PDFInfo
- Publication number
- CN110163600A CN110163600A CN201810228501.3A CN201810228501A CN110163600A CN 110163600 A CN110163600 A CN 110163600A CN 201810228501 A CN201810228501 A CN 201810228501A CN 110163600 A CN110163600 A CN 110163600A
- Authority
- CN
- China
- Prior art keywords
- block chain
- block
- branch
- group
- chain apparatus
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000001934 delay Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000002860 competitive effect Effects 0.000 claims 2
- 238000012544 monitoring process Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 21
- 230000007246 mechanism Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 5
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010049669 Dyscalculia Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种方法,包括以下步骤:监测一区块链系统的状态信息;判断状态信息是否符合区块链分支条件;当状态信息符合区块链分支条件,对区块链的选定区块写入分支指令,分支指令用以致能区块链形成多个分支,并使区块链系统中的多个区块链装置分成多个群组,以平行验证该些分支;取得群组内最大传输延迟时间,并根据群组内最大传输延迟时间,决定新区块产生间隔时间来产生第一分支中的区块。
Description
技术领域
本发明是关于一种区块链(blockchain)系统及应用其的方法。
背景技术
区块链源自于2008年被提出的比特币(Bitcoin),通过区块链可解决交易时的信任问题。区块链系统是一种分散式的系统,藉由打包多笔的交易及前一区块的散列(Hash)值形成「区块」,而前后区块内散列值的相依关系产生连结,故称为「区块链(blockchain)」。一旦前面的区块内容遭窜改,因为散列值的特性,后面的区块内容会完全不相同,藉此来保护「交易」的内容不被篡改。可比拟一「区块」为电脑中的一组数据,以事先设定好的栏位与格式加以存储,每个区块都可记录许多笔交易内容。区块链节点(blockchain node)是指在一服务器安装区块链节点程序跟帐本(ledger)程序、或包括了帐本程序的区块链节点程序。区块链节点与区块链节点之间经由「点对点网络」(Peer to peer network)进行数据交换。使用者安装应用程序的客户端程序(client application),进行应用服务,例如:付款与收款,应用程序将交易内容传回区块链节点,区块链节点再将交易内容通知系统内所有的区块链节点,以同步帐本。并且譬如使用可验证的匿名制,以确认交易真实,使用者不可否认。近几年,区块链技术去中心化与无法被窜改的特点被用来解决人与人之间的信任问题,像是金融交易、商业合作等诸多应用,都可望通过区块链技术来改善现有交易机制的安全性。不幸的是,区块链目前遭遇效能的瓶颈,导致许多应用上的限制。举例来说,VISA金融交易平均每秒要处理2000笔交易,最高更达每秒56000笔交易,而应用区块链技术的比特币(Bitcoin)一秒却只能处理约7笔交易,而以太坊(Ethereum)每秒也只能处理约15笔交易,显然无法满足使用需求。
因此,如何加速区块链技术的交易验证速度,乃目前待解的议题之一。
发明内容
本发明是关于一种区块链系统及应用其的方法。根据本发明实施例,区块链装置可在区块链系统的状态信息符合一区块链分割条件时,发出分支指令,使区块链产生多个分支。响应分支指令,网络中的多个区块链装置会分成多个群组,以平行验证该些分支。由于同一个群组中的区块链装置之间彼此传输延迟时间较短,一分支的区块产生间隔时间可比全网共识的区块产生间隔时间来得短,故可缩短每个分支的区块产生间隔时间,进而增加同一时间所处理的交易数。另外,当区块链装置发现验证一分支的区块链装置数目过少、算力过小、或其它符合区块链合并条件的情况,区块链装置亦可发出合并指令,以合并特定的分支,藉此确保区块链的安全与稳定性。
根据本发明的一实施例,提出一种方法,由一区块链系统实施,该区块链系统包括多个区块链装置,该些区块链装置参与一区块链的验证,以产生该区块链中的多个区块,该方法包括:通过该些区块链装置中的一第一区块链装置,监测该区块链系统的状态信息;该第一区块链装置判断该状态信息是否符合一区块链分支条件;当该第一区块链装置判断该状态信息符合该区块链分支条件,该第一区块链装置对该区块链的一选定区块写入一分支指令,该分支指令用以致能该区块链形成多个分支,该些区块链装置响应该分支指令而分成多个群组,以平行验证该些分支,其中该第一区块链装置为加入该些群组中的一第一群组,该第一群组负责验证该些分支中的一第一分支;以及该第一区块链装置取得该第一群组的一群组内最大传输延迟时间,并根据该群组内最大传输延迟时间,决定一新区块产生间隔时间来产生该第一分支中的多个区块。
根据本发明的一实施例,提出一种区块链系统,该区块链系统包括多个区块链装置,该些区块链装置参与一区块链的验证,以产生该区块链中的多个区块,其中该些区块链装置包括一第一区块链装置,该第一区块链装置经配置而执行以下步骤:监测该区块链系统的状态信息;判断该状态信息是否符合一区块链分支条件;当该状态信息符合该区块链分支条件,对该区块链的一选定区块写入一分支指令,该分支指令用以致能该区块链形成多个分支,该些区块链装置响应该分支指令而分成多个群组,以平行验证该些分支,其中该第一区块链装置为加入该些群组中的一第一群组,该第一群组负责验证该些分支中的一第一分支;以及取得该第一群组的一群组内最大传输延迟时间,并根据该群组内最大传输延迟时间,决定一新区块产生间隔时间来产生该第一分支中的多个区块。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1A示出依据本发明一实施例的区块链分支的示意图。
图1B示出依据本发明一实施例的区块链合并的示意图。
图2示出依据本发明一实施例的方法的流程图,此流程针对区块链分支的情况。
图3A示出区块链分支流程于第一阶段的示意图。
图3B示出区块链分支流程于第二阶段的示意图。
图4示出依据本发明一实施例的方法的流程图,此流程针对区块链合并的情况。
图5示出区块链合并的示意图。
其中,附图标记:
BK1~BK3、BKA1~BKAi、BKB1~BKBj、BKC1~BKCk、BKM1~BKM2、BK1’、BK2’、BKA1’~BKA(i+L)’、BKB1’~BKB(j+L)’、BKM1’:区块
SCA、SCB、SCC、SCA’、SCB’:区块链的分支
SCM、SCM’:合并后的分支
MC、MC’:区块链
DGA、DGA’、DGB、DGB’、DGC、DGM:群组
S202、S204、S206、S208:步骤
D1~D9:区块链装置(区块链节点)
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
本发明提出一种区块链(blockchain)系统及应用其的方法。于一实施例中,区块链系统可为一种分散式的系统,参与验证区块链的区块链节点(本文下称「区块链装置」)藉由点对点(peer-to-peer,P2P)网络进行连结。维护区块链的每一个区块链装置有一个本地的数据库,以供装置本身管理及认证所持有的数据,并共同遵守一套共识机制,由事先制定好的共识机制选出一个区块链装置给予区块写入权,再藉由P2P网络将区块广播至网络中的所有区块链装置,各区块链装置再更新自己的本地数据库,通过此方式,P2P网络中的所有区块链装置将可共同验证、维护区块链网络中的区块链。
区块链因为特殊的数据结构,因此具备交易记录不可修改的特性。在区块链中要记录的数据被描述为一笔一笔的「交易」,多笔交易会被整理成区块,且每一个区块中含有链结的上一个区块内容的散列(Hash)值。因此,若有心者欲修改先前的数据,则必须连该区块后所有的区块一同修改,否则散列值将无法相互对应。此一特性可确保区块链的数据不会被恶意装置窜改。换言之,在区块链的架构下,尽管不同区块链装置之间彼此不信任,且恶意区块链装置可能随意窜改自己的数据并试图与其他区块链装置同步,其他区块链装置仍可通过散列值进行判断,确保数据的正确性。
另一方面,由于区块链系统是一种去中心化的分散式系统,系统中各个区块链装置间并无主从关系,因此需要一共识机制让一区块链装置可以接受其他区块链装置的数据,让自己本地数据库可以正常运作。现行实现于区块链系统的共识机制有许多种,像是以算力为主的PoW(Proof-of-Work)共识机制、PoS(Proof-of-Stack)共识机制、PBFT(Practical Byzantine Fault Tolerance)共识机制及SBFT(Speculative ByzantineFault Tolerance)共识机制等。
所谓「算力」可例如被定义成每秒解出的函数次数,譬如在PoW共识机制中,算力可例如以区块链装置每秒解出散列函数的数量作为单位(Hash/s);在其他应用中,算力亦可通过其他可呈现区块链装置解题能力的指标来表示。一般而言,算力越高表示区块链装置解出谜题的速度越快、越有机会解出谜题并取得区块写入权。
根据PoW共识机制,全部的区块链装置会竞争计算困难谜题,而最先解出答案的区块链装置,即可获得发布新区块的权利。而PoS共识机制主要的概念类似于股权,也就是说,拥有较多区块链虚拟货币的区块链装置,相当于拥有该区块链较多的股权,因此较容易取得新区块的发布权利。在一些情况中,为了防止对区块链发布新区块的权利过于集中于某一个区块链装置,部分的PoS共识机制可能会根据「持有货币数量×币龄」来决定取得区块发布权的机率,其中币龄(Coin-age)指的是至今距离上次取得区块发布权的时间差。因此,当一区块链装置越久未取得区块发布权,该区块链装置取得新区块发布权的机率将随着时间进展而越大。另外,根据PBFT共识机制及SBFT共识机制,区块链装置可藉由特定规则轮流取得区块的发布权,但发布的区块内容必须提供给其他区块链装置验证,若发布的区块内容经验证后被判断为真,其他区块链装置将会对该区块附上一背书,而区块链装置之间可藉由约定好的背书数量来证明自身所发布的区块内容为真。共识机制设计的目的在于避免让某一区块链装置连续取得区块写入权。若恶意装置连续取得区块写入权而写入恶意数据并产生长链,例如:51%攻击,则其他区块链装置将会相信恶意的区块数据。
为了提升区块链系统的执行效能,视系统要求或所采取的共识演算法,目前可有两种加速区块链的区块产生速度的做法:一种是直接降低区块链装置解谜的难度,另一种则是增加每个区块的容量。然而,这些做法均受限于网络的传输延迟时间。举例来说,若两个区块链装置(如装置A及装置B)各自以一秒一个区块的频率产生区块(即,区块产生间隔时间为1秒),且装置A、B相距一定距离而具有传输延迟时间约2.5秒,则当装置A产生的区块传到装置B,装置B已自行产生两个区块,因此装置B将不会认可装置A所传来的区块,在此情况下,装置A、B将无法取得共识。类似地,若装置A、B所产生的区块的容量变大,则相对地网络传输延迟将更长,当装置A产生的区块传到装置B时,装置B早已自行产生多个区块,因此,装置A、B同样无法取得共识。换言之,为了确保区块链装置间能取得共识,区块链的区块产生间隔时间必须比区块链装置间的传输延迟时间还要长。
根据本发明实施例,区块链装置可在区块链系统的状态信息符合一区块链分割条件时,发出分支指令,使区块链产生多个分支。响应分支指令,网络中的多个区块链装置会分成多个群组,以平行验证该些分支。由于同一个群组中的区块链装置之间彼此传输延迟时间较短,一分支的区块产生间隔时间可比全网共识的区块产生间隔时间来得短,故可缩短每个分支的区块产生间隔时间,进而增加同一时间所处理的交易数。另外,当区块链装置发现验证一分支的区块链装置数目过少、算力过小、或其它符合区块链合并条件的情况,区块链装置亦可发出合并指令,以合并特定的分支,藉此确保区块链的安全与稳定性。
本文所述的区块链装置例如是包括存储器以及处理器的电子设备。存储器可存储可供处理器取得或执行的程序、指令、数据或档案。处理器耦接存储器,其经配置可执行本发明实施例的方法。处理器可例如被实施为微控制单元(microcontroller)、微处理器(microprocessor)、数字信号处理器(digital signal processor)、专用集成电路(application specific integrated circuit,ASIC)、数字逻辑电路、现场可编程逻辑门阵列(field programmable gate array,FPGA)、或其它具有运算处理功能的硬件。彼此通信连接的多个区块链装置可形成一区块链系统,并参与一区块链的验证。另外,本发明提出的方法亦可实作为一软件程序,此软件程序可存储在非临时性电脑可读取存储介质(non-transitory computer readable storage medium)当中,像是硬盘、光盘、U盘、存储器等,当处理器从非临时性电脑可读取存储介质载入此软件程序时,可执行本发明的方法。
以下,首先通过图1A及图1B实施例说明对区块链进行「分支」及「合并」这两种方式。应注意的是,图1A及图1B均只是用以说明本发明的可能实施方式,而非用以限制本发明。图1A及图1B中所示的区块数量、分支方式、合并方式、区块产生间隔时间等,都不应被认为是限制性的。
图1A示出依据本发明一实施例的区块链分支的示意图。在图1A的实施例中,区块链系统包括多个区块链装置(亦即区块链节点,以空心圆圈表示),以共同维护如图左方所示的区块链结构。多个区块链装置彼此通信连结以形成一网络,例如P2P网络。
区块链结构包括区块链MC以及衍生自区块链MC的三个分支SCA、SCB、SCC,其中区块链MC包括多个区块BK1~BK3,分支SCA包括区块BKA1及BKA2,分支SCB包括区块BKB1、BKB2及BKB3,分支SCC包括区块BKC1以及BKC2。
在本文中,一个区块链分支中的第一个区块称作「根节点(root)区块」。以图1为例,分支SCA、SCB、SCC的根节点区块分别为区块BKA1、区块BKB1以及区块BKC1。
在区块链MC尚未形成分支SCA、SCB、SCC以前,区块链MC由所有区块链装置共同进行验证、维护,并以每16秒产生一个区块的频率(即,区块产生间隔时间为16秒)作延伸。区块链MC的区块产生间隔时间可因区块链系统的共识难度参数而作调整。在一实施例中,共识难度参数可以是指运算出的散列值中前面「0」的个数。举例来说,在运算区块BK3时,可利用前一个区块BK2的散列值以及新加入区块BK3的交易散列值,加上随机数(Nonce)后再进行散列函数/散列演算法,以得到新的散列值。若得到的新散列值前面「0」的个数等于共识难度参数,则该区块即一被验证为有效的区块。进一步举例,若目前区块链系统验证到第n个区块,且H()表示散列值,则Hn=H(Hn-1+H(∑TXn)+Nonce),其中H(∑TXn)表示新加入第n个区块的交易的散列值。假设共识难度参数为4,若算出的Hn为0000c3af42...dcd4e9,则满足前面有4个0的条件,故Hn被验证为有效;反之,若Hn为1312af178c...34c64,因Hn不满足共识难度参数为4的条件,故Hn被验证为无效,区块链装置需改变Nonce值并重新计算散列值。因此,通过调整共识难度参数,可让区块产生间隔时间维持在一定区间内。举例来说,假设区块链系统将区块链MC的区块产生间隔时间设定为16秒,若系统监测到区块产生间隔时间小于16秒,则将共识难度参数加1,反之,则将共识难度参数则减1,以此类推。
在验证区块链MC的期间,系统中的所有区块链装置(或是当中的一或多个特定区块链装置)会监测区块链系统的状态信息。若有任一区块链装置(或是预先指定的特定区块链装置)发现区块链系统的状态信息符合一区块链分割条件,区块链装置将在区块(例如区块BK3)中写入分支指令,以要求区块链MC产生分支。若该分支指令亦获得系统中其他区块链装置的认可,区块链MC将形成多个分支,例如分支SCA、SCB、SCC,且系统中的区块链装置亦会分成多个对应的群组,例如群组DGA、DGB、DGC,以分别对分支SCA、SCB、SCC进行验证,其中分支SCA、SCB、SCC的区块产生间隔时间均小于区块链MC的区块产生间隔时间(16秒),如图1A所示,分支SCA、SCB、SCC的区块产生间隔时间分别为10秒、8秒、9秒。在一些实施例中,区块链装置可根据现有的共识机制来判断是否认可一分支指令。举例来说,根据PBFT及SBFT共识机制,区块链装置所发布的分支指令将提供给其他区块链装置进行验证,若该分支指令经过验证后被判断为真,即表示该分支指令获得其他区块链装置的认可。
图1B示出依据本发明一实施例的区块链合并的示意图。如图1B所示,在进行区块链分支后的一段时间,分支SCA延伸了i个区块至区块BKAi、分支SCB延伸了j个区块至区块BKBj、分支SCC延伸了k个区块至区块BKCk。
分支SCA与分支SCB可响应系统中区块链装置发出的合并指令,合并成新分支SCM。对应地,群组DGA以及群组DGB亦将合并成新群组DGM,以共同验证、维护新分支SCM。
新群组DGM中的区块链装置亦会调整区块产生间隔时间来产生新分支SCM中的区块(如区块BKM1以及区块BKM2),例如调整成每13秒产生一个区块。此一区块产生间隔时间可能较合并前各分支的区块产生间隔时间来得长。这是因为新群组DGM包含了更多的区块链装置,导致区块链装置之间的最大传输延迟时间可能变长。另一方面,因为分支合并的关系,区块BKM1以及区块BKM2将会继承分支SCA与SCB中区块的散列值。
图2示出依据本发明一实施例的方法的流程图,此流程针对区块链分支的情况。所述的方法可实现于一区块链系统。区块链系统包括多个区块链装置,该些区块链装置彼此通信连接而形成一网络,并参与一区块链的验证,以产生该区块链中的多个区块。
步骤S202,该些区块链装置中的一第一区块链装置监测区块链系统的状态信息。状态信息例如是指区块主链或分支的算力、负责验证区块主链或分支的区块链装置数量等。
步骤S204,第一区块链装置判断状态信息是否符合一区块链分支条件。在一实施例中,区块链分支条件可根据所采用的共识演算法而有不同的定义,举例来说,区块链分支条件可包括以下条件(1)以及条件(2)至少其一:(1)验证区块链或区块链多个分支之一的算力高于一第一算力阀值,且需处理的交易数量多于一第一交易量阀值,以及(2)验证区块链或验证区块链多个分支之一的区块链装置数量高于一第一装置数量阀值,且需处理的交易数量多于一第二交易量阀值。此处提到的第一算力阀值、第一交易量阀值、第一装置数量阀值以及第二交易量阀值可以是任意的,端视系统要求或所采取的共识演算法而定。
若判断步骤S204为是,在步骤S206中,第一区块链装置将对区块链的一选定区块写入一分支指令。该分支指令用以致能(enable)该区块链形成多个分支,区块链系统中的该些区块链装置可响应该分支指令而分成多个群组,以平行验证该些分支,其中第一区块链装置为加入该些群组中的一第一群组,该第一群组负责验证该些分支中的一第一分支。
进一步说,在分支指令被写入区块后,区块链系统中的所有区块链装置都会收到该分支指令的副本,并对该分支指令进行验证,例如验证当前系统的状态信息是否真的符合区块链分支条件。若验证通过就取得认可,系统中的所有区块链装置将分成多个群组,每个群组负责验证一个对应的分支。在一实施例中,可让彼此间传输延迟时间较短的区块链装置加入同一个群组,以加速分支的区块产生间隔时间。
在一实施例中,区块链系统在产生区块时可在各个区块中内建一分类函数。当要形成区块链的分支时,将一分类条件代入该分类函数后所产生的多个分类结果即可作为各个分支的索引值。换言之,区块链中的每个区块均包括一分类函数,该分类函数代入一分类条件后所可能得到的多个分类函数值分别与该些分支相对应。所述的分类条件可以是一交易发送者识别码(sender ID)、一智能合约类型(contract type)、一智能合约内容(contract content)或一交易属性参数。举例来说,若分类条件为一交易发送者识别码,而分类函数为运算对交易发送者识别码除以一数值后的余数结果,则若该数值=2,则所有可能得到的分类函数值包括余数=1以及余数=0等2种分类结果,其中余数=1的结果可用来指示一分支,而余数=0的结果可用来指示另一分支。通过上述分类机制,可让相同分支处理具有关联性的交易数据。换言之,不同的分支将对应不同类别的交易。如前述的例子,由于同一个交易发送者的交易可能彼此相关,故可根据交易发送者识别码来作分支的分类条件。
若判断步骤S204为否,流程返回步骤S202,第一区块链装置继续监测区块链系统的状态信息。
步骤S208,第一区块链装置取得第一群组的群组内最大传输延迟时间,并根据该群组内最大传输延迟时间,决定一新区块产生间隔时间来产生第一分支中的区块。
第一群组的群组内最大传输延迟时间指的是将一区块传播至第一群组中所有区块链装置所需的最大传输时间。一般而言,因为第一群组中区块链装置的数量比区块链系统中所有区块链装置的数量来的少,故群组内最大传输延迟时间通常会比系统的最大传输延迟时间来得短。在决定出群组内最大传输延迟时间后,第一区块链装置与第一群组中的其他区块链装置可协调出一新区块产生间隔时间,此一新区块产生间隔时间可以是群组内最大传输延迟时间的数倍,以避免区块链装置间无法产生共识的问题。另外,因为群组内最大传输延迟时间通常会比系统的最大传输延迟时间来得短,故新区块产生间隔时间亦会比分支前的区块产生间隔时间来得短。换言之,在对区块链进行分支后,分支区块产生间隔时间将被缩短,群组中的区块链装置可基于较快的频率产生对应分支的区块,进而提升系统的效能。关于此部分的详细推导将于后面段落描述。
区块产生间隔时间可根据共识演算法的不同而有对应的实现方式。举例来说,在PBFT、SBFT实现的区块链系统中,区块链装置在取得一定数量的背书后即会发布区块,因此可通过此方式精确地控制区块产生间隔时间。举例来说,若一区块链装置欲发起一交易,该区块链装置将会把该交易广播至网络中的其他区块链装置以验证该交易的正确性。若该交易经过其他区块链装置的验证后判断为真,也就是获得其他区块链装置的认可,该些其他区块链装置将会给予该交易一背书,发起该交易的该区块链装置在搜集到一定数量的背书后,即可将该交易写入区块链中。而在以PoW实现共识的区块链系统中,因为区块产生间隔时间是根据解出谜题的时间决定,故系统可通过调整共识难度参数来调整区块主链或分支的区块产生间隔时间。此外,区块链系统亦可通过改变区块的容量来调整区块主链或分支的区块产生间隔时间。
在一实施例中,第一区块链装置可测量自身与网络中其他区块链装置之间的个别的传输延迟时间,并存储一对应表,其中该对应表记录该些传输延迟时间以及区块链系统中其他区块链装置所属的群组/对应的分支。第一区块链装置更可将测量而得的该些传输延迟时间广播给区块链系统中的其他区块链装置,使得系统中的区块链装置间知悉彼此间的传输延迟时间。通过此方式,第一群组内的区块链装置可沟通取得第一群组的群组内最大传输延迟时间,并据以决定第一分支的区块产生间隔时间,例如将第一分支的区块产生间隔时间设定为第一群组的群组内最大传输延迟时间的Q倍,其中Q为大于1的实数。
另外,如前所述,由于第一群组的区块链装置数量比区块链系统的区块链装置数量少、区块链装置彼此间的传输延迟时间短,故第一分支的区块产生间隔时间也可以被设定成比分支前的区块链的区块产生间隔时间短。以下提供具体的推导如下:
假设传统的区块链中(例如仅具有单一主链的区块链)每个区块平均处理K笔交易,则传统区块链的处理效能为:
(笔交易/单位时间(秒));
其中T为传统区块链的区块产生间隔时间。
而在同样的网络环境下,具有N个分支的区块链的处理效能为:
(笔交易/单位时间(秒));
其中ti表示第i个分支的区块产生间隔时间。
假设一个区块通过P2P网络遍布全网区块链装置的时间是TL,则基于区块链装置间能够取得共识的条件,T应大于TL。另外,假设第i个分支的区块遍布整个对应群组的时间是li,由于群组中的区块链装置间彼此的传输延迟时间较短,故TL>li。又,因为ti须小于li,故可得:一分支的区块产生间隔时间可比全网共识的区块产生间隔时间来得短,也就是ti≤T。
在一实施例中,基于安全性考虑,当一区块链装置在验证一特定分支中的某一区块的交易时,若需用到另一分支的一数据,该区块链装置将会在该特定分支的该区块中注明该另一分支的该数据的来源区块的散列值。如此一来,若有恶意攻击者要攻击该特定分支的该区块后的数据,则该恶意攻击者需同时修改该特定分支的该区块以及该另一分支的该来源区块以后的所有数据,藉此增加攻击的难度。
以下,将配合图3A以及图3B说明产生区块链的分支的流程。
图3A示出区块链分支流程于第一阶段的示意图。在图3A的例子中,区块链系统包括区块链装置D1~D9,并维护一区块链MC’。区块链MC’可以是尚未进行过分支的一区块链主链,也可以是因进行区块链分支程序而产生的某一个区块链分支。换言之,一区块主链在经过分支后,各分支还可进一步分裂成多个子分支,进而形成多层的树状区块链结构。
区块链MC’包括区块BK1’以及BK2’,其中区块BK1’、区块BK2’分别包括一分类函数。在此实施例中,分类函数[d]被实施为:<S(T)%P>,其中S()表示交易发送者识别码,T为交易值,P为除数。通过调整除数P的值,可决定分支的数量。如图3A所示,P被设定为2,故一旦区块链MC’进行分支,将有S(T)%2==1以及S(T)%2==0两种结果,也就是两个分支。然而本发明并不以此为限,分类函数亦可根据合约类型、合约内容或其他与交易相关的数据来实现。通过分类函数进行分类,每一个类型的交易只会有一个对应的分支负责处理。以图3A的例子为例,并不会有一交易发送者识别码除以某数后会同时对应多个余数结果。
在如图3A所示的第一阶段中,区块链装置D1~D9会持续监控系统的状态信息,若有任一区块链装置发现系统的状态信息符合区块链分支条件,例如发现验证区块链MC’的算力超过一算力阀值,且待处理的交易笔数过多,区块链装置(此例中为装置D5)将会在区块(此例中为区块BK2’)中写入分支指令,以要求区块链MC’进行分支。分支指令可例如包括一分支生效参数,以指示区块链MC’应该在几个区块后进行分支。如图3A所示,区块BK2’中的分支指令包括分支生效参数=0,表示在下一个区块即进行分支。
由于区块链MC’中的区块会被广播至所有区块链装置,故在装置D5对区块BK2’写入分支指令后,其他装置D1~D4、D6~D9可对区块BK2’中的分支指令进行验证,以确认当前区块链系统的状态信息是否确实符合区块链分支条件。若分支条件通过验证,分支流程将进入如图3B的第二阶段。反之,若分支指令未通过验证,则区块链MC’将不进行分支。
图3B示出区块链分支流程于第二阶段的示意图。一旦分支指令通过验证,区块链MC’将按分类函数的分类结果分裂成两个分支:对应分类结果S(T)%2==1的分支SCA’以及对应分类结果S(T)%2==0的分支SCB’。
响应分支指令,区块链系统中的区块链装置D1~D9会先判断是否每个分支(此例中为分支SCA’以及分支SCB’)都有种子装置产生对应的根节点区块。所述的种子装置指的是取得分支的根节点区块的写入权的区块链装置。
若判断为是,也就是所有分支SCA’、SCB’的根节点区块(此例中为区块BKA1’以及区块BKB1’)都已被种子装置运算出来,则种子装置以外的区块链装置将优先选择与自身的网络传输延迟最低的另一区块链装置(即第二区块链装置)加入相同的群组。不过,若一区块链装置所欲加入的群组的区块链装置数量已达一上限,该区块链装置将转而选择与自身的网络传输延迟次低的区块链装置加入相同的群组,以此类推。
若判断为否,也就是仍有分支的根节点区块尚未被种子装置运算出来,则针对该些分支中尚未产生对应的根节点区块的一特定分支,种子装置以外的区块链装置将通过竞争方式或一预定规则(例如随机选取或预先指定),成为该特定分支的种子装置。
如图3B所示,区块链装置D1因取得根节点区块BKA1’的写入权而作为分支SCA’的种子装置(以斜线网底的圆圈表示),而区块链装置D7则是取得根节点区块BKB1’的写入权而作为分支SCB’的种子装置(以斜线网底的圆圈表示)。针对非种子装置的其他区块链装置D2~D6、D8~D9,该等区块链装置将选择与自身传输延迟时间最短的区块链装置加入同一个群组。以区块链装置D4为例,区块链装置D4可存储一对应表如下(表一):
表一
区块链装置 | 传输延迟时间(秒) | 所属群组 |
D1 | 2 | DGA’ |
D2 | 1.5 | DGA’ |
D3 | 1 | DGA’ |
D5 | 5 | DGB’ |
D6 | 4.5 | DGB’ |
D7 | 5.5 | DGB’ |
D8 | 6 | DGB’ |
D9 | 6 | DGB’ |
如表一所示,在区块链装置D1和D7分别成为SCA’和SCB’的种子装置后,区块链装置D4可根据对应表的内容,选择与传输延迟时间最短的区块链装置D3加入同一群组DGA’,以验证分支SCA’。同理,其他区块链装置亦可根据类似方式选择加入群组DGA’或DGB’。虽然上述以表一为例说明对应表可能包含的信息,但本发明并不以此为限。对应表中区块链装置的数量、传输延迟时间的值、所属的群组以及该等信息呈现的方式,均可根据实际的应用而调整。
在一实施例中,若一区块链装置欲加入的群组的区块链装置数量已达一上限值,该区块链装置将转而加入与自身的网络传输延迟次低的群组。举例来说,若区块链装置D4欲加入的入群组DGA’的装置数量已达一上限值(例如3个装置),区块链装置D4将转而加入与自身的网络传输延迟次低的群组,例如群组DGB’。
若区块链装置D4成功加入群组DGA’,区块链装置D1~D4将根据所属群组DGA’的群组内最大传输延迟时间调整分支SCA’的区块产生间隔时间,使其小于全网的区块产生间隔时间。类似地,区块链装置D5~D9亦会根据所属群组DGB’的群组内最大传输延迟时间调整分支SCB’的区块产生间隔时间,使其小于全网的区块产生间隔时间。之后,群组DGA’以及群组DGB’中的区块链装置将分别根据调整后的区块产生间隔时间来产生分支SCA’以及分支SCB’的区块。
图4示出依据本发明一实施例的方法的流程图,此流程为针对区块链合并的情况,例如,在对区块链进行如图2的分支流程后,再对部分或全部的分支进行合并的情况。
步骤S402,网络中的第一区块链装置监测区块链系统的状态信息。状态信息例如是指区块主链或分支的算力、区块主链或分支上的区块链装置数量等。
步骤S404,第一区块链装置判断网络中的状态信息是否符合区块链合并条件。在一实施例中,区块链合并条件包括以下条件(1)以及条件(2)至少其一:(1)验证区块链或多个分支之一的算力低于一第二算力阀值,以及(2)区块链或多个分支之一中的区块链装置数量低于一第二装置数量阀值。此处提到的第二算力阀值以及第二装置数量阀值可以是任意的,视系统要求或所采取的共识演算法而定。
若步骤S404判断为是,则在步骤S406,第一区块链装置搜寻一第二分支作为合并目标,并在第一分支中的区块中写入一合并指令。合并指令例如包括合并条件以及合并生效参数,其中合并条件可通过合并前各分支所对应的分类函数值的联集来实现,而合并生效参数则是用以指示经过几个区块后进行分支合并。
若步骤S404判断为否,表示尚无合并分支的需要,流程将返回步骤S402,第一区块链装置继续监测区块链系统的状态信息。
步骤S408,第一区块链装置判断是否从验证该第二分支的第二群组收到合并确认指令。也就是说,负责验证该第二分支的第二群组在接收到合并指令后,将检查该合并指令是否符合区块链合并条件,以及判断合并后是否符合其他安全性设定,例如群组的区块链装置数量是否已达一上限值。在该合并指令验证通过后,第二群组将发布合并确认指令。另一方面,第二群组在同意接受合并后,亦会计算在几个区块后与第一群组进行合并。
若步骤S408判断为是,在步骤S410,第一区块链装置将计算第一分支在一特定区块数量后,与第二分支结合成一新区块链。此新区块链系由包括第一群组以及第二群组的一合并后群组进行验证。
在步骤S412,第一区块链装置延长原本使用于第一分支的新区块产生间隔时间来产生合并后新区块链的区块。
举例来说,在分支合并前,第一群组中的区块链装置可逐渐增加第一分支的区块产生间隔时间(如T1秒),使得第一分支的区块产生间隔时间在经过L个区块后,达到预定的区块产生间隔时间(如TX秒,其中TX>T1)来产生合并后新区块链的区块;或者,第一群组中的区块链装置可在第一分支经过L个区块后,直接将第一分支的区块产生间隔时间增加至该预定的区块产生间隔时间,并以该预定的区块产生间隔时间来产生合并后新区块链的区块。另一方面,第二群组中的区块链装置亦可逐渐增加第二分支的区块产生间隔时间(如T2秒),使得第二分支的区块产生间隔时间在经过K个区块后,达到该预定的区块产生间隔时间(如TX秒,其中TX>T2)来产生合并后新区块链的区块;或者,第二群组中的区块链装置可在第二分支经过K个区块后,直接将第二分支的区块产生间隔时间增加至该预定的区块产生间隔时间,并以该预定的区块产生间隔时间来产生合并后新区块链的区块。
若步骤S408判断为否,表示第二群组中的区块链装置并不同意将第一分支与第二分支合并,流程将返回步骤S406,第一群组将寻找新的合并对象。
图5示出区块链合并的示意图。为方便理解,图5为延续图3B的例子。根据图5的例子,在形成分支SCA’以及SCB’一段时间后,群组DGB’中的区块链装置为发现区块链系统的状态信息符合区块链合并条件,例如发现验证SCB’的算力低于一算力阀值,故决定与分支SCA’进行合并。群组DGB’的区块链装置将在分支SCB’的区块(如区块BKBj’)中写入合并指令。合并指令[M]可例如被实施为:<分类函数值1&&分类函数值2,VPM>,其中分类函数值#表示欲进行合并的分支所对应的分类函数值,VPM为一合并生效参数,用以指示分支在一特定区块数量后进行合并。如图5所示,区块BKBj’被写入合并指令[M]:[S(T)%2==1&&S(T)%2==0,K],表示对应分类函数值S(T)%2==0的分支SCB’在K个区块后,将与对应分类函数值S(T)%2==1的分支SCA’进行合并。
合并指令亦会被提供至另一群组DGA’。群组DGA’中的区块链装置在确认合并指令后,将计算在几个区块后进行合并,并在分支SCA’的区块(如区块BKAi’)中写入对应的合并指令[M]:[S(T)%2==1&&S(T)%2==0,L],以指示在L个区块后与分支SCB’进行合并。
在分支合并后,群组DGA’与群组DGB’将合并成同一群组,以共同验证、维护合并后的新区块链SCM’。群组DGA’与群组DGB’中的区块链装置将各自调整合并前分支的区块产生间隔时间至一预定的区块产生间隔时间,以产生新区块链SCM’中的区块,如区块BKM1’。因为新区块链SCM’是合并自分支SCA’与分支SCB’,故为新区块链SCM’中的区块(如BKM1’)将同时包含分支SCA’以及分支SCB’的区块散列值。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (20)
1.一种方法,由一区块链系统实施,该区块链系统包括多个区块链装置,并参与一区块链的验证,以产生该区块链中的多个区块,其特征在于,该方法包括:
通过该些区块链装置中的一第一区块链装置,监测该区块链系统的状态信息;
该第一区块链装置判断该状态信息是否符合一区块链分支条件;
当该第一区块链装置判断该状态信息符合该区块链分支条件,该第一区块链装置对该区块链的一选定区块写入一分支指令,该分支指令用以致能该区块链形成多个分支,该些区块链装置响应该分支指令而分成多个群组,以平行验证该些分支,其中该第一区块链装置为加入该些群组中的一第一群组,该第一群组负责验证该些分支中的一第一分支;以及
该第一区块链装置取得该第一群组的一群组内最大传输延迟时间,并根据该群组内最大传输延迟时间,决定一新区块产生间隔时间来产生该第一分支中的多个区块。
2.如权利要求1所述的方法,其特征在于,其中该区块链中的该些区块分别包括一分类函数,该分类函数代入一分类条件后所可能得到的多个分类函数值分别与该些分支相对应。
3.如权利要求2所述的方法,其特征在于,其中该分类条件为一交易发送者识别码(sender ID)、一智能合约类型(contract type)、一智能合约内容(contract content)或一交易属性参数。
4.如权利要求3所述的方法,其特征在于,其中该分类条件为该交易发送者识别码,该分类函数为运算该交易发送者识别码除以一数值后的余数结果。
5.如权利要求1所述的方法,其特征在于,其中该区块链分支条件包括以下条件(1)以及条件(2)至少其一:
(1)验证该区块链或该些分支之一的算力高于一第一算力阀值,且需处理的交易数量多于一第一交易量阀值,以及
(2)验证该区块链或该些分支之一的区块链装置数量高于一第一装置数量阀值,且该需处理的交易数量多于一第二交易量阀值。
6.如权利要求1所述的方法,其特征在于,更包括:
该第一区块链装置测量自身与该区块链系统中多个其他区块链装置之间的多个传输延迟时间;以及
该第一区块链装置存储一对应表,该对应表记录该些传输延迟时间以及该区块链系统中该些其他区块链装置所属的群组。
7.如权利要求1所述的方法,其特征在于,更包括:
在写入该分支指令后,该第一区块链装置判断该些分支是否都有种子装置产生对应的根节点区块;
若判断为是,且该第一区块链装置并非种子装置,该第一区块链装置优先选择与自身的网络传输延迟最低的一第二区块链装置加入相同的群组;以及
若判断为否,且该第一区块链装置并非种子装置,该第一区块链装置针对该些分支中尚未产生对应的根节点区块的一特定分支,通过竞争方式或一预定规则,成为该特定分支的种子装置。
8.如权利要求7所述的方法,其特征在于,更包括:
当该第二区块链装置所在的该群组中的区块链装置数量已达一上限值,该第一区块链装置转而加入与自身的网络传输延迟次低的群组。
9.如权利要求1所述的方法,其特征在于,更包括:
该第一区块链装置判断该状态信息是否符合一区块链合并条件;
当该第一区块链装置判断该状态信息符合该区块链合并条件,该第一区块链装置搜寻一第二分支,并在该第一分支的区块中写入一合并指令,其中该第二分支为由该些群组中的一第二群组进行验证;
响应来自该第二群组的一合并确认指令,该第一区块链装置控制该第一分支在一特定区块数量后,与该第二分支结合成一新区块链,该新区块链由一合并后群组进行验证,该合并后群组包括该第一群组以及该第二群组;以及
该第一区块链装置延长该新区块产生间隔时间来产生该新区块链的区块。
10.如权利要求9所述的方法,其特征在于,其中该区块链合并条件包括以下条件(1)以及条件(2)至少其一:
(1)验证该区块链或该些分支之一的算力低于一第二算力阀值,以及
(2)验证该区块链或该些分支之一的区块链装置数量低于一第二装置数量阀值。
11.一种区块链系统,其特征在于,包括:
多个区块链装置,该些区块链装置参与一区块链的验证,以产生该区块链中的多个区块,其中该些区块链装置包括一第一区块链装置,该第一区块链装置经配置而执行以下步骤:
监测该区块链系统的状态信息;
判断该状态信息是否符合一区块链分支条件;
当该状态信息符合该区块链分支条件,对该区块链的一选定区块写入一分支指令,该分支指令用以致能该区块链形成多个分支,该些区块链装置响应该分支指令而分成多个群组,以平行验证该些分支,其中该第一区块链装置为加入该些群组中的一第一群组,该第一群组负责验证该些分支中的一第一分支;以及
取得该第一群组的一群组内最大传输延迟时间,并根据该群组内最大传输延迟时间,决定一新区块产生间隔时间来产生该第一分支中的多个区块。
12.如权利要求11所述的区块链系统,其特征在于,其中该区块链中的该些区块分别包括一分类函数,该分类函数代入一分类条件后所可能得到的多个分类函数值分别与该些分支相对应。
13.如权利要求12所述的区块链系统,其特征在于,其中该分类条件为一交易发送者识别码(sender ID)、一智能合约类型(contract type)、一智能合约内容(contractcontent)或一交易属性参数。
14.如权利要求13所述的区块链系统,其特征在于,其中该分类条件为该交易发送者识别码,该些分类函数值为该交易发送者识别码除以一数值后的余数结果。
15.如权利要求11所述的区块链系统,其特征在于,其中该区块链分支条件包括以下条件(1)以及条件(2)至少其一:
(1)验证该区块链或该些分支之一的算力高于一第一算力阀值,且需处理的交易数量多于一第一交易量阀值,以及
(2)验证该区块链或该些分支之一的区块链装置数量高于一第一装置数量阀值,且该需处理的交易数量多于一第二交易量阀值。
16.如权利要求11所述的区块链系统,其特征在于,其中该第一区块链装置更用以:
测量自身与该区块链系统中多个其他区块链装置之间的多个传输延迟时间;以及
存储一对应表,该对应表记录该些传输延迟时间以及该区块链系统中该些其他区块链装置所属的群组。
17.如权利要求11所述的区块链系统,其特征在于,其中该第一区块链装置更用以:
在写入该分支指令后,判断该些分支是否都有种子装置产生对应的根节点区块;
若判断为是,且该区块链第一装置并非种子装置,该第一区块链装置优先选择与自身的网络传输延迟最低的一第二区块链装置加入相同的群组;以及
若判断为否,且该第一区块链装置并非种子装置,该第一区块链装置针对该些分支中尚未产生对应的根节点区块的一特定分支,通过竞争方式或一预定规则,成为该特定分支的种子装置。
18.如权利要求17所述的区块链系统,其特征在于,其中该第一区块链装置更用以:
当该第二区块链装置所在的该群组中的区块链装置数量已达一上限值,转而选择与自身的网络传输延迟次低的一第三区块链装置加入相同的群组。
19.如权利要求11所述的区块链系统,其特征在于,其中该第一区块链装置更用以:
判断该状态信息是否符合一区块链合并条件;
当该状态信息符合该区块链合并条件,搜寻一第二分支,并在该第一分支的区块中写入一合并指令,其中该第二分支由该些群组中的一第二群组进行验证;
响应来自该第二群组的一合并确认指令,控制该第一分支在一特定区块数量后,与该第二分支结合成一新区块链,该新区块链由一合并后群组进行验证,该合并后群组包括该第一群组以及该第二群组;以及
延长该新区块产生间隔时间来产生该新区块链的区块。
20.如权利要求19所述的区块链系统,其特征在于,其中该区块链合并条件包括以下条件(1)以及条件(2)至少其一:
(1)验证该区块链或该些分支之一的算力低于一第二算力阀值,以及
(2)验证该区块链或该些分支之一的区块链装置数量低于一第二装置数量阀值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107105498A TWI659373B (zh) | 2018-02-14 | 2018-02-14 | 區塊鏈系統及應用其的方法 |
TW107105498 | 2018-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110163600A true CN110163600A (zh) | 2019-08-23 |
CN110163600B CN110163600B (zh) | 2022-12-27 |
Family
ID=67348035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810228501.3A Active CN110163600B (zh) | 2018-02-14 | 2018-03-19 | 区块链系统及应用其的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10795857B2 (zh) |
CN (1) | CN110163600B (zh) |
TW (1) | TWI659373B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022166910A1 (zh) * | 2021-02-08 | 2022-08-11 | 索尼集团公司 | 用户设备、电子设备、无线通信方法和存储介质 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577694B (zh) | 2017-07-14 | 2020-04-24 | 创新先进技术有限公司 | 一种基于区块链的数据处理方法及设备 |
US10862894B2 (en) * | 2018-06-11 | 2020-12-08 | FogChain Inc. | Decentralized access control for authorized modifications of data using a cryptographic hash |
US10637644B1 (en) * | 2018-12-21 | 2020-04-28 | Capital One Services, Llc | System and method for authorizing transactions in an authorized member network |
US10861008B2 (en) | 2018-12-21 | 2020-12-08 | Capital One Services, Llc | System and method for optimizing cryptocurrency transactions |
CN109902091B (zh) * | 2019-02-21 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 数据区块在区块链上记录的方法、领导记账节点和介质 |
SG11201908544UA (en) | 2019-03-18 | 2019-10-30 | Alibaba Group Holding Ltd | Consensus system downtime recovery |
WO2019101245A2 (en) | 2019-03-18 | 2019-05-31 | Alibaba Group Holding Limited | Consensus system downtime recovery |
US10938750B2 (en) | 2019-03-18 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
JP7137077B2 (ja) * | 2019-04-02 | 2022-09-14 | 日本電信電話株式会社 | ブロックチェーンシステム、承認端末、利用者端末、履歴管理方法、および、履歴管理プログラム |
US11115188B2 (en) * | 2019-04-29 | 2021-09-07 | Advanced New Technologies Co., Ltd. | Blockchain-based data processing method, apparatus, and blockchain node |
US11394718B2 (en) * | 2019-06-10 | 2022-07-19 | Microsoft Technology Licensing, Llc | Resolving decentralized identifiers using multiple resolvers |
US11108820B2 (en) * | 2019-06-16 | 2021-08-31 | Moac Blockchain Tech Inc | Apparatus and method for distinguishing between legitimate and malicious branches of a split blockchain |
US11645398B2 (en) | 2019-08-02 | 2023-05-09 | EMC IP Holding Company LLC | System and method for data registration and access |
US11797564B2 (en) * | 2019-08-02 | 2023-10-24 | EMC IP Holding Company LLC | System and method for data registration |
CN110598416B (zh) * | 2019-08-30 | 2020-12-04 | 创新先进技术有限公司 | 交易调度方法及装置 |
US10762228B2 (en) | 2019-08-30 | 2020-09-01 | Alibaba Group Holding Limited | Transaction scheduling method and apparatus |
CN110661867B (zh) * | 2019-09-25 | 2021-07-23 | 东北大学 | 一种基于改进工作量证明与权益证明的区块链共识方法 |
US11818246B2 (en) * | 2019-12-06 | 2023-11-14 | Onclave Networks | Blockchain data structures and systems and methods therefor for multipath transaction management |
KR20210075654A (ko) * | 2019-12-13 | 2021-06-23 | 현대자동차주식회사 | 블록체인 생성 시스템 및 그 운용 방법 |
CN111127017B (zh) * | 2019-12-27 | 2022-11-08 | 四川星际荣威科技有限公司 | 基于p2p存储网络和多层架构的区块链全分片方法及装置 |
CN111339187B (zh) * | 2020-02-20 | 2023-05-09 | 百度在线网络技术(北京)有限公司 | 基于智能合约的数据处理方法、装置、设备和存储介质 |
CN111683117B (zh) * | 2020-05-11 | 2021-12-10 | 厦门潭宏信息科技有限公司 | 一种方法、设备及存储介质 |
US11321298B1 (en) | 2020-12-01 | 2022-05-03 | International Business Machines Corporation | Automated merge of DLT networks |
CN112926053B (zh) * | 2021-01-26 | 2023-11-28 | 上海树图区块链研究院 | 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000097291A (ja) * | 1998-09-21 | 2000-04-04 | Hitachi Metals Techno Ltd | ブロックチェン |
CN106452785A (zh) * | 2016-09-29 | 2017-02-22 | 财付通支付科技有限公司 | 区块链网络、分支节点及区块链网络应用方法 |
CN106528775A (zh) * | 2016-10-28 | 2017-03-22 | 山东明和软件有限公司 | 支持逻辑多链的私有区块链运行支撑系统及其工作方法 |
TWM543413U (zh) * | 2016-12-05 | 2017-06-11 | Taiwan United Financial Technology Co Ltd | 利用區塊鏈技術進行交易的網路借貸平台 |
CN107045518A (zh) * | 2016-10-18 | 2017-08-15 | 北京天德科技有限公司 | 一种区块链的扩展设计方法 |
CN107276762A (zh) * | 2017-05-08 | 2017-10-20 | 飞天诚信科技股份有限公司 | 一种多协议区块链的工作方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101430097B1 (ko) * | 2006-09-15 | 2014-08-13 | 샌디스크 테크놀로지스, 인코포레이티드 | 비휘발성 메모리 및 클래스 기반의 업데이트 블록 대체 규칙을 위한 방법 |
US9853819B2 (en) | 2013-08-05 | 2017-12-26 | Guardtime Ip Holdings Ltd. | Blockchain-supported, node ID-augmented digital record signature method |
US11270298B2 (en) | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
US9608829B2 (en) | 2014-07-25 | 2017-03-28 | Blockchain Technologies Corporation | System and method for creating a multi-branched blockchain with configurable protocol rules |
US20160098723A1 (en) | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
US10158492B2 (en) | 2015-02-25 | 2018-12-18 | Guardtime Ip Holdings Limited | Blockchain-supported device location verification with digital signatures |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
US20170132621A1 (en) | 2015-11-06 | 2017-05-11 | SWFL, Inc., d/b/a "Filament" | Systems and methods for autonomous device transacting |
CN105488675B (zh) * | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN107666388B (zh) * | 2016-07-28 | 2019-11-01 | 郑珂威 | 基于完全同态加密方法的区块链信息加密方法 |
US11095432B2 (en) * | 2017-04-05 | 2021-08-17 | Samsung Sds Co., Ltd. | System for processing data based on blockchain and operating method thereof |
US10922692B2 (en) * | 2017-04-05 | 2021-02-16 | Samsung Sds Co., Ltd. | Method for calculating confirmation reliability for blockchain based transaction and blockchain network monitoring system for performing the method |
US10601861B2 (en) * | 2017-04-28 | 2020-03-24 | International Business Machines Corporation | Blockchain tracking of virtual universe traversal results |
CN107679863B (zh) * | 2017-09-19 | 2020-12-08 | 中国银行股份有限公司 | 一种区块链系统及快速验证区块的方法 |
CN107481146A (zh) * | 2017-10-13 | 2017-12-15 | 深圳市招股科技有限公司 | 一种基于区块链安全高效的金融交易方法 |
US10909195B2 (en) * | 2018-01-05 | 2021-02-02 | International Business Machines Corporation | Socially enabled provider/consumer consensus |
US10701054B2 (en) * | 2018-01-31 | 2020-06-30 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
US20190295049A1 (en) * | 2018-03-22 | 2019-09-26 | NEC Laboratories Europe GmbH | System and method for secure transaction verification in a distributed ledger system |
US20190394267A1 (en) * | 2018-06-26 | 2019-12-26 | Anami Holdings, Inc. | Dynamic voting nodes in blockchain networks |
US20190391979A1 (en) * | 2018-06-26 | 2019-12-26 | Anami Holdings, Inc. | Using segments to improve access speed in blockchain networks |
-
2018
- 2018-02-14 TW TW107105498A patent/TWI659373B/zh active
- 2018-03-19 CN CN201810228501.3A patent/CN110163600B/zh active Active
- 2018-09-19 US US16/135,739 patent/US10795857B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000097291A (ja) * | 1998-09-21 | 2000-04-04 | Hitachi Metals Techno Ltd | ブロックチェン |
CN106452785A (zh) * | 2016-09-29 | 2017-02-22 | 财付通支付科技有限公司 | 区块链网络、分支节点及区块链网络应用方法 |
CN107045518A (zh) * | 2016-10-18 | 2017-08-15 | 北京天德科技有限公司 | 一种区块链的扩展设计方法 |
CN106528775A (zh) * | 2016-10-28 | 2017-03-22 | 山东明和软件有限公司 | 支持逻辑多链的私有区块链运行支撑系统及其工作方法 |
TWM543413U (zh) * | 2016-12-05 | 2017-06-11 | Taiwan United Financial Technology Co Ltd | 利用區塊鏈技術進行交易的網路借貸平台 |
CN107276762A (zh) * | 2017-05-08 | 2017-10-20 | 飞天诚信科技股份有限公司 | 一种多协议区块链的工作方法及装置 |
Non-Patent Citations (1)
Title |
---|
王健 等: "比特币区块链分叉研究", 《通信技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022166910A1 (zh) * | 2021-02-08 | 2022-08-11 | 索尼集团公司 | 用户设备、电子设备、无线通信方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI659373B (zh) | 2019-05-11 |
US20190251187A1 (en) | 2019-08-15 |
CN110163600B (zh) | 2022-12-27 |
US10795857B2 (en) | 2020-10-06 |
TW201935352A (zh) | 2019-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163600A (zh) | 区块链系统及应用其的方法 | |
JP7184959B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
CN110580653B (zh) | 一种基于交易的区块链共识机制 | |
Xu et al. | Concurrent practical byzantine fault tolerance for integration of blockchain and supply chain | |
US20220391358A1 (en) | Methods and apparatus for a distributed database within a network | |
Hazari et al. | A parallel proof of work to improve transaction speed and scalability in blockchain systems | |
US11734260B2 (en) | Methods and apparatus for a distributed database within a network | |
US10318505B2 (en) | Methods and apparatus for a distributed database within a network | |
US9646029B1 (en) | Methods and apparatus for a distributed database within a network | |
US10965466B2 (en) | Estimable proof-of-work for blockchain | |
KR101827373B1 (ko) | 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법 | |
KR102050087B1 (ko) | 하드웨어 및 지분증명 합의 알고리즘을 포함하는 블록 체인 시스템과 그 블록 체인 시스템에서의 블록 생성 방법 | |
WO2020118858A1 (zh) | 一种基于区块链的去中心化芯片研发交易数据存储方法及系统 | |
Hsueh et al. | EPoW: Solving blockchain problems economically | |
CN110278091A (zh) | 一种物联网区块链共识方法 | |
KR102229923B1 (ko) | 네트워크 상에서 합의된 데이터를 전송하는 방법 및 네트워크 상에서 합의된 데이터를 전송하기 위한 전자기기 | |
Panigrahi et al. | Impact of Clustering technique in enhancing the Blockchain network performance | |
GB2599734A (en) | Blockchain | |
Yu et al. | Byzantine Fault Tolerant Consensus Algorithm Based on Credit Model and Verifiable Random Function | |
Jiang et al. | Research on proof of stake consensus algorithm based on dynamic trust | |
Jin et al. | First-Price Sealed-Bid Auction for Ethereum Gas Auction Under Flashbots | |
CN115859374A (zh) | 基于区块链的数据存证方法及装置 | |
KR20190093013A (ko) | 다중 블록 체인 구조를 포함하는 블록 체인 시스템 및 그 블록 체인 시스템에서의 블록 체인 형성 방법 | |
CN114116888A (zh) | 交易处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |