CN108269072A - 用于区块链的交易处理方法和网络节点 - Google Patents
用于区块链的交易处理方法和网络节点 Download PDFInfo
- Publication number
- CN108269072A CN108269072A CN201611262732.3A CN201611262732A CN108269072A CN 108269072 A CN108269072 A CN 108269072A CN 201611262732 A CN201611262732 A CN 201611262732A CN 108269072 A CN108269072 A CN 108269072A
- Authority
- CN
- China
- Prior art keywords
- transaction
- type
- block
- network node
- verified
- 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.)
- Pending
Links
Classifications
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开提供了一种用于区块链的交易处理方法和实现该方法的网络节点。该方法包括:接收包含多个交易的区块;根据该多个交易中的每个交易是否能够并行处理,将该多个交易划分为第一类型交易和第二类型交易;开启至少两个并行处理进程,并且利用该至少两个并行处理进程对该第一类型交易中的所有交易进行并行处理;以及开启一个串行处理进程,并且利用该串行处理进程对该第二类型交易中的每个交易进行串行处理。
Description
技术领域
本公开涉及互联网技术,更具体地,涉及一种用于区块链的交易处理方法以及实现所述方法的网络节点。
背景技术
区块链(Blockchain)是比特币的一个重要概念,其本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据区块(即区块),每一个数据区块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
每当有加密交易产生时,网络中有强大运算能力的节点(即矿工(Miner))就开始利用算法解密验证交易,创造出新的区块来记录最新的交易。新的区块按照时间顺序线性地被补充到原有的区块链末端,这个帐本就会不停的增长和延长。
图1示出了一种传统的中心化网络100的结构示意图。如图1中所示,网络100包括一个中心服务器10和多个网络节点11-16。中心服务器10用于管理和维护网络100的总账本,网络节点11-16中的每一个分别与中心服务器10相连,用于管理和维护其自身的账本。当其中一个网络节点产生新的交易时,该网络节点将该交易记录发送给中心服务器10,中心服务器10验证该交易并将交易记录保存在总账本中。
在这种传统的中心化网络100中,对中心服务器10的有效攻击可能会破坏整个网络。并且,由于每个交易都由中心服务器10验证,对于包含大量网络节点的网络来说,整个网络的处理效率将会不可避免地变得很低。
图2示出了一种去中心化的网络200的结构示意图。如图2中所示,网络200不包括中心服务器,而仅仅包括多个网络节点21-25,网络节点21-25中的每一个与其他网络节点中的至少一个相连。例如,当网络中产生新的交易时,将会产生一个新的区块,该新的区块例如由节点21产生,并且被广播给网络200中与节点21相连的所有其他网络节点22-25。接收到该区块的每个网络节点对该区块中的交易进行处理和验证。如果验证通过,则向所有其他网络节点广播表示赞成的投票结果。如果对该区块投赞成票的网络节点的比例超过某个阈值(例如三分之二),则该区块被验证通过,并且被附加在原有的区块链的末端。
发明内容
在当前的区块链设计中,当一个网络节点接收到新生成的区块时,其对该区块中所包含的交易的验证和处理都是采用串行化处理,无法充分利用节点硬件资源达到高并发的交易验证及处理,从而造成全网节点对区块共识的延迟及交易吞吐量的性能瓶颈。
针对上述问题中的至少一个,本公开提出了一种用于区块链的交易处理方法以及实现该方法的网络节点,其对区块中的交易按照类型进行划分,并且对有可能并行处理的交易使用并行处理和验证。
根据本公开的一个方面,提供了一种用于区块链的交易处理方法。该方法包括:接收包含多个交易的区块;根据该多个交易中的每个交易是否能够并行处理,将该多个交易划分为第一类型交易和第二类型交易;开启至少两个并行处理进程,并且利用该至少两个并行处理进程对该第一类型交易中的所有交易进行并行处理;以及开启一个串行处理进程,并且利用该串行处理进程对该第二类型交易中的每个交易进行串行处理。
根据本公开的另一个方面,提供了一种用于区块链的交易处理的网络节点。该网络节点包括:存储器,其中存储有计算机程序代码;以及处理器,其被配置为运行该存储器中存储的计算机程序代码,以接收包含多个交易的区块;根据该多个交易中的每个交易是否能够并行处理,将该多个交易划分为第一类型交易和第二类型交易;开启至少两个并行处理进程,并且利用该至少两个并行处理进程对该第一类型交易中的所有交易进行并行处理;以及开启一个串行处理进程,并且利用该串行处理进程对该第二类型交易中的每个交易进行串行处理。
利用本公开的方案,能够加快对区块中的交易进行验证和处理的速度、降低共识延迟并且提高***交易处理吞吐量。
附图说明
通过参考下列附图所给出的本公开的具体实施方式的描述,将更好地理解本公开,并且本公开的其他目的、细节、特点和优点将变得更加显而易见,其中:
图1示出了一种传统的中心化网络的结构示意图;
图2示出了一种去中心化的网络的结构示意图;
图3示出了一个区块中所包含的交易列表的示意图;
图4示出了根据本公开实施方式的用于区块链的交易处理方法的流程图;
图5示出了根据本公开的用于区块链的交易处理的装置的方框图;以及
图6示出了适合实现本公开的实施例的设备的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
区块结构包括区块头和该区块所包含的交易列表。通常,区块头的大小为80字节,包括版本号(4字节)、区块链中的上一区块的哈希值(32字节)、Merkel根哈希值(32字节)、时间戳(4字节)、该区块的哈希谜题的难度值(4字节)和随机数Nonce(4字节)。
随着区块链技术的发展,区块链和智能合约开始结合起来。智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。在实际操作中,智能合约可以看作是在资产内植入的一些代码,这些代码可以自动智能决定网络中相关资产运作的地点和方式。在已有的区块链方案中,对智能合约的调用也作为普通的交易进行处理,从而导致不能够进行并发的交易验证和处理。
图3示出了一个区块中所包含的交易列表300的示意图。在本文中,将转账交易和智能合约调用统称为交易,并且存储在区块的交易列表部分。如图3中所示,交易列表300包含多个交易T1、T2、……TN(其中N是大于1的正整数),这些交易可以是转账交易或智能合约调用中的任一种。如上所述,在已有的区块链方案中,所有交易T1、T2、……TN按照串行方式依次被处理。
图4示出了根据本公开实施方式的用于区块链的交易处理方法400的流程图。方法400可以在区块链网络中的任一网络节点处执行,该节点例如可以是网络200中的节点21至25中的任一个。以下参考图2和图3对方法400进行描述。
如图4中所示,当网络200中的某一节点(如节点21)产生新的交易时,其产生一个包含如图3中所示的交易列表300的新区块,并将该新的区块发送给网络200中的与节点21相连的所有其他节点22-25,这些节点对接收到的新区块进行处理和验证,并将验证结果广播给与其相连的所有节点。下面,以节点22接收到来自节点21的新区块为例来对本公开的方法400进行描述。
方法400从410开始,其中节点22从节点21接收包含交易列表300的区块。
在420,节点22根据交易列表300中的每个交易T1、T2、……TN是否能够并行处理,将交易T1、T2、……TN划分为第一类型交易和第二类型交易。例如,如图3中所示,假设交易T1、T2、……TM(其中M是大于1的正整数且M小于或等于N)被划分为第一类型交易,在图中以标号310表示,而交易TM+1、……TN被划分为第二类型交易,在图中以标号320表示。
在本文中,假设第一类型交易310是能够并行处理的交易,如转账交易,并且假设第二类型交易320是不能够并行处理的交易,如智能合约调用。
对于第一类型交易310,在430,节点22开启至少两个并行处理进程,并且对第一类型交易310中的所有交易进行并行处理。在一个实例中,假设开启了L(L为大于或等于2的整数)个并行处理进程,则将第一类型交易310中的交易T1、TL+1、T2L+1……分配给进程1进行处理,将交易T2、TL+2、T2L+2……分配给进程2进行处理,将交易T3、TL+3、T2L+3……分配给进程3进行处理,以此类推。然而,本领域技术人员可以理解,这种分配方式仅仅是并行处理的一个示例,本文公开的方案可以应用任何已知的或将来开发的并行处理算法。
在一些实现中,在430之前,方法400还可以包括账户数据读取步骤(图中未示出)以读取第一类型交易310中的每个交易所涉及的对象的账户数据。具体地,节点22所开启的至少两个并行处理进程中的一个并行处理进程快照读取待处理的交易Ti(i=1、2、……M)的账户数据account_i并获取与账户数据account_i相关联的时间戳TS_i。接下来,节点22确定交易Ti的账户数据account_i的当前时间戳TS_(account_i)是否小于或等于与账户数据account_i相关联的时间戳TS_i。如果节点22确定交易Ti的账户数据account_i的当前时间戳TS_(account_i)小于或等于与账户数据account_i相关联的时间戳TS_i,则对交易Ti所涉及的账户数据account_i完成写入操作并将账户数据account_i的当前时间戳TS_(account_i)设置为当前***时间。另一方面,如果节点22确定交易Ti的账户数据account_i的当前时间戳TS_(account_i)大于与账户数据account_i相关联的时间戳TS_i,则重新读取账户数据account_i并获取新的时间戳TS_i。接下来,节点22以重新读取的账户数据account_i和时间戳TS_i来重复上述确定交易Ti的账户数据account_i的当前时间戳TS_(account_i)是否小于或等于与账户数据account_i相关联的时间戳TS_i并执行写入的操作。
对于第二类型交易320,在440,节点22开启一个串行处理进程,并且对第二类型交易320中的每个交易进行串行处理。例如,可以将第二类型交易320中的每个交易(交易TM+1、……TN)依次或以任何其他顺序串行送入该串行处理进程。
在本文中,对交易进行处理是指根据一个交易所涉及的各个对象的账户数据和交易金额对该对象的账户数据进行更新的过程。例如,假设一个转账交易的交易详情是从对象A向对象B转账金额m,则对该交易进行处理是将对象A的账户余额(例如为a)减去金额m以得到对象A的更新的账户数据(例如为a-m),并且将对象B的账户余额(例如为b)加上金额m以得到对象B的更新的账户数据(例如为b+m)。
在对交易列表300中的所有交易都进行了处理之后,方法400还可以包括验证步骤450和460,以对处理后的第一类型交易和第二类型交易进行验证。
具体地,在450,针对第一类型交易310,节点22开启至少两个并行验证进程,并且对步骤430中处理后的第一类型交易310中的所有交易进行并行验证。在一个实例中,假设开启了L’(L’为大于或等于2的整数)个并行验证进程,则将第一类型交易310中的交易T1、TL’+1、T2L’+1……分配给进程1进行验证,将交易T2、TL’+2、T2L’+2……分配给进程2进行验证,将交易T3、TL’+3、T2L’+3……分配给进程3进行验证,以此类推。
在本文中,步骤430中开启的并行处理进程的数目L和步骤450中开启的并行验证进程的数目L’可以相同也可以不同。
对于第二类型交易320,在460,节点22开启一个串行验证进程,并且对第二类型交易320中的每个交易进行串行验证。例如,可以将第二类型交易320中的每个交易(交易TM+1、……TN)依次或以任何其他顺序串行送入该串行验证进程。
在本文中,对交易进行验证是指验证该交易是否有效。例如,如前所述,假设一个转账交易的交易详情是从对象A向对象B转账金额m,则对该交易进行处理是将对象A的账户余额(例如为a)减去金额m以得到对象A的更新的账户数据(例如为a-m),并且将对象B的账户余额(例如为b)加上金额m以得到对象B的更新的账户数据(例如为b+m)。在这种情况下,对交易进行验证例如可以包括验证对象A的更新的账户数据是否有效。例如,如果对象A的更新的账户数据a-m为负值,则可以判定该交易无效。
在对第一类型交易和第二类型交易都进行了处理和验证之后,方法400还可以包括对验证结果进行投票的过程。具体地,在470,节点22根据步骤450和460的验证结果判断第一类型交易310和第二类型交易320中(即交易列表300中)是否存在无效交易。
如果判断第一类型交易310和第二类型交易320中的所有交易都被验证为有效交易(470中判断结果为“否”),则在480,节点22向网络200中与其相连的所有其他节点(如节点21、23、24、25)广播表示赞成该区块的投票结果。
如果判断第一类型交易310或第二类型交易320中的任一交易被验证为无效交易(470中判断结果为“是”),则在480,节点22向网络200中与其相连的所有其他节点(如节点21、23、24、25)广播表示拒绝该区块的投票结果。
进一步地,方法400还可以包括回滚操作。具体地,在410中接收到区块之后并且在420中对交易列表300中的交易进行划分之前,节点22可以备份其数据库中的账户数据(图中未示出)。在这种情况下,响应于在步骤470中节点22判断第一类型交易310或第二类型交易320中的任一交易被验证为无效交易,节点22将其数据库中的账户数据恢复为所备份的账户数据(图中未示出)。这里,恢复节点22的数据库中的账户数据的操作可以在步骤490之后执行,也可以在步骤470之后、步骤490之前执行。
图5示出了根据本公开的用于区块链的交易处理的装置500的方框图。装置500例如可以实现在如图2中所示的网络节点21-25中的任一个中。以下以装置500位于节点22中为例并参考图2和图3来进行描述。
如图5中所示,装置500可以包括接收模块510,其被配置为从节点21接收包含多个交易300的区块。装置500还可以包括分类模块520,其被配置为根据多个交易300中的每个交易是否能够并行处理,将多个交易300划分为第一类型交易310和第二类型交易320。装置500还可以包括并行处理模块530,其被配置为开启至少两个并行处理进程,并且利用该至少两个并行处理进程对第一类型交易310中的所有交易进行并行处理。装置500还可以包括串行处理模块540,其被配置为开启一个串行处理进程,并且利用该串行处理进程对第二类型交易320中的每个交易进行串行处理。
在一种实现中,装置500还可以包括并行验证模块550,其被配置为在对第一类型交易310进行并行处理之后,开启至少两个并行验证进程,并且利用该至少两个并行验证进程对第一类型交易310中的每个交易的处理结果进行验证。
在一种实现中,装置500还可以包括串行验证模块560,其被配置为在对第二类型交易320进行串行处理之后,开启一个串行验证进程,并且利用该串行验证进程对第二类型交易320中的每个交易的处理结果进行验证。
在一种实现中,第一类型交易310包括转账交易,第二类型交易320包括智能合约调用。
在一种实现中,装置500还可以包括广播模块570,其被配置为响应于第一类型交易310中的所有交易和第二类型交易320中的所有交易都被验证为有效交易,向网络中的其他网络节点(如节点21、23、24、25)广播指示赞成该区块的投票结果。
在一种实现中,装置500还可以包括广播模块570,其被配置为响应于第一类型交易310中的任一交易或者第二类型交易320中的任一交易被验证为无效交易,向网络中的其他网络节点(如节点21、23、24、25)广播指示拒绝该区块的投票结果。
在一种实现中,装置500还可以包括备份模块580,其被配置为在接收到该区块之后,并且在对所述多个交易进行划分之前,备份节点22的数据库中的账户数据。在这种情况下,装置500还可以包括回滚模块590,其被配置为响应于第一类型交易310中的任一交易或者第二类型交易320中的任一交易被验证为无效交易,将节点22的数据库中的账户数据恢复为所备份的账户数据。
图6示出了适合实现本公开的实施例的设备600的方框图。设备600可以用来实现如图2中所示的网络节点21-25中的任一个。
如图6中所示,设备600包括处理器610。处理器610控制设备600的操作和功能。例如,在某些实施例中,处理器610可以借助于与其耦合的存储器620中所存储的计算机程序代码或指令630来执行各种操作。存储器620可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,包括但不限于基于半导体的存储器件、磁存储器件和***、光存储器件和***。尽管图6中仅仅示出了一个存储器单元,但是在设备600中可以有多个物理不同的存储器单元。
处理器610可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(DSP)以及基于控制器的多核控制器架构中的一个或多个多个。设备600也可以包括多个处理器610。处理器610与通信接口640相连,以通过通信接口640实现信息的接收和发送。
在本公开的方案中,通过利用多版本控制处理高并发交易,能够加快对区块中的交易进行验证和处理的速度、降低共识延迟并且提高***交易处理吞吐量。在一些方案中,还能够进一步确保交易读写序列化和数据一致性,从而进一步保证区块处理的准确性。
注意,本文所述的方法和/或步骤并不局限于所描述或示出的具体顺序,而是可以以任何其他可行的顺序来执行。例如,第一类型交易310的并行处理(步骤430)可以早于、晚于或与第二类型交易320的串行处理(步骤440)同时执行。并且,第一类型交易310的并行验证(步骤450)也可以早于、晚于或与第二类型交易320的串行验证(步骤460)同时执行。
在一个或多个示例性设计中,可以用硬件、软件、固件或它们的任意组合来实现本申请所述的功能。例如,如果用软件来实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码来传输。
本文公开的装置的各个单元可以使用分立硬件组件来实现,也可以集成地实现在一个硬件组件,如处理器上。例如,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本公开所描述的各种示例性的逻辑块、模块和电路。
本领域普通技术人员还应当理解,结合本申请的实施例描述的各种示例性的逻辑块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或二者的组合。
本公开的以上描述用于使本领域的任何普通技术人员能够实现或使用本公开。对于本领域普通技术人员来说,本公开的各种修改都是显而易见的,并且本文定义的一般性原理也可以在不脱离本公开的精神和保护范围的情况下应用于其它变形。因此,本公开并不限于本文所述的实例和设计,而是与本文公开的原理和新颖性特性的最广范围相一致。
Claims (14)
1.一种用于区块链的交易处理方法,包括:
接收包含多个交易的区块;
根据所述多个交易中的每个交易是否能够并行处理,将所述多个交易划分为第一类型交易和第二类型交易;
开启至少两个并行处理进程,并且利用所述至少两个并行处理进程对所述第一类型交易中的所有交易进行并行处理;以及
开启一个串行处理进程,并且利用所述串行处理进程对所述第二类型交易中的每个交易进行串行处理。
2.如权利要求1所述的方法,还包括:
在对所述第一类型交易进行并行处理之后,开启至少两个并行验证进程,并且利用所述至少两个并行验证进程对所述第一类型交易中的每个交易的处理结果进行验证。
3.如权利要求1所述的方法,还包括:
在对所述第二类型交易进行串行处理之后,开启一个串行验证进程,并且利用所述串行验证进程对所述第二类型交易中的每个交易的处理结果进行验证。
4.如权利要求1所述的方法,其中所述第一类型交易包括转账交易,所述第二类型交易包括智能合约调用。
5.如权利要求2或3所述的方法,还包括:
响应于所述第一类型交易中的所有交易和所述第二类型交易中的所有交易都被验证为有效交易,向网络中的其他网络节点广播指示赞成所述区块的投票结果。
6.如权利要求2或3所述的方法,还包括:
响应于所述第一类型交易中的任一交易或者所述第二类型交易中的任一交易被验证为无效交易,向网络中的其他网络节点广播指示拒绝所述区块的投票结果。
7.如权利要求2或3所述的方法,还包括:
在接收到所述区块之后,并且在对所述多个交易进行划分之前,备份网络节点的数据库中的账户数据,并且
响应于所述第一类型交易中的任一交易或者所述第二类型交易中的任一交易被验证为无效交易,将所述网络节点的数据库中的账户数据恢复为所备份的账户数据。
8.一种用于区块链的交易处理的网络节点,包括:
存储器,其中存储有计算机程序代码;以及
处理器,其被配置为运行所述存储器中存储的计算机程序代码,以
接收包含多个交易的区块;
根据所述多个交易中的每个交易是否能够并行处理,将所述多个交易划分为第一类型交易和第二类型交易;
开启至少两个并行处理进程,并且利用所述至少两个并行处理进程对所述第一类型交易中的所有交易进行并行处理;以及
开启一个串行处理进程,并且利用所述串行处理进程对所述第二类型交易中的每个交易进行串行处理。
9.如权利要求8所述的网络节点,其中所述处理器还被配置为运行所述存储器中存储的计算机程序代码,以
在对所述第一类型交易进行并行处理之后,开启至少两个并行验证进程,并且利用所述至少两个并行验证进程对所述第一类型交易中的每个交易的处理结果进行验证。
10.如权利要求8所述的网络节点,其中所述处理器还被配置为运行所述存储器中存储的计算机程序代码,以
在对所述第二类型交易进行串行处理之后,开启一个串行验证进程,并且利用所述串行验证进程对所述第二类型交易中的每个交易的处理结果进行验证。
11.如权利要求8所述的网络节点,其中所述第一类型交易包括转账交易,所述第二类型交易包括智能合约调用。
12.如权利要求9或10所述的网络节点,其中所述处理器还被配置为运行所述存储器中存储的计算机程序代码,以
响应于所述第一类型交易中的所有交易和所述第二类型交易中的所有交易都被验证为有效交易,向网络中的其他网络节点广播指示赞成所述区块的投票结果。
13.如权利要求9或10所述的网络节点,其中所述处理器还被配置为运行所述存储器中存储的计算机程序代码,以
响应于所述第一类型交易中的任一交易或者所述第二类型交易中的任一交易被验证为无效交易,向网络中的其他网络节点广播指示拒绝所述区块的投票结果。
14.如权利要求9或10所述的网络节点,其中所述处理器还被配置为运行所述存储器中存储的计算机程序代码,以
在接收到所述区块之后,并且在对所述多个交易进行划分之前,备份所述网络节点的数据库中的账户数据,并且
响应于所述第一类型交易中的任一交易或者所述第二类型交易中的任一交易被验证为无效交易,将所述网络节点的数据库中的账户数据恢复为所备份的账户数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611262732.3A CN108269072A (zh) | 2016-12-30 | 2016-12-30 | 用于区块链的交易处理方法和网络节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611262732.3A CN108269072A (zh) | 2016-12-30 | 2016-12-30 | 用于区块链的交易处理方法和网络节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108269072A true CN108269072A (zh) | 2018-07-10 |
Family
ID=62755260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611262732.3A Pending CN108269072A (zh) | 2016-12-30 | 2016-12-30 | 用于区块链的交易处理方法和网络节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108269072A (zh) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846674A (zh) * | 2018-07-12 | 2018-11-20 | 众安信息技术服务有限公司 | 在区块链中验证签名的方法和装置 |
CN109274692A (zh) * | 2018-11-14 | 2019-01-25 | 众安信息技术服务有限公司 | 一种识别区块链网络作恶节点的方法及装置 |
CN109285006A (zh) * | 2018-09-20 | 2019-01-29 | 中链科技有限公司 | 一种区块链数据的并行验证处理方法及装置 |
CN109408108A (zh) * | 2018-10-12 | 2019-03-01 | 天津理工大学 | 一种基于区块链的软件版本数据管理***及建立方法 |
CN109461079A (zh) * | 2018-10-29 | 2019-03-12 | 众安信息技术服务有限公司 | 基于区块链的交易处理方法和装置 |
CN109636384A (zh) * | 2018-10-26 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 一种并行化执行区块链交易的方法、装置及*** |
CN109784930A (zh) * | 2019-02-18 | 2019-05-21 | 深圳市网心科技有限公司 | 一种区块链交易数据的处理方法、装置、电子设备及介质 |
CN109919768A (zh) * | 2019-03-12 | 2019-06-21 | 网易(杭州)网络有限公司 | 区块生成方法、装置、介质和计算设备 |
WO2019120333A2 (en) | 2019-04-12 | 2019-06-27 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
CN109949135A (zh) * | 2019-03-20 | 2019-06-28 | 江苏满运软件科技有限公司 | 高并发交易请求处理方法、***、设备及存储介质 |
CN109961287A (zh) * | 2019-02-12 | 2019-07-02 | 众安信息技术服务有限公司 | 一种区块链的监管方法及监管*** |
CN110263580A (zh) * | 2019-04-29 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法、装置和区块链节点 |
CN110300985A (zh) * | 2018-12-28 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 基于智能合约白名单在区块链网络中并行执行交易 |
CN110520882A (zh) * | 2018-12-28 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 在区块链网络中并行执行交易 |
CN110555700A (zh) * | 2019-09-04 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 区块链智能合约执行方法、装置、计算机可读存储介质 |
WO2020034624A1 (zh) * | 2018-08-15 | 2020-02-20 | 齐爱民 | 一种基于区块链的商品交易方法 |
WO2020086123A1 (en) * | 2018-10-26 | 2020-04-30 | Alibaba Group Holding Linited | Data processing method and apparatus |
CN111095324A (zh) * | 2019-04-12 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 在分布式账本***中执行交易的并行执行 |
WO2020108288A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 一种数据库***、节点和方法 |
CN111292192A (zh) * | 2020-02-18 | 2020-06-16 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111339108A (zh) * | 2020-02-18 | 2020-06-26 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111353884A (zh) * | 2018-12-20 | 2020-06-30 | 上海智知盾科技有限公司 | 区块链交易处理方法及*** |
CN111414374A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市网心科技有限公司 | 一种区块链交易并发处理方法、装置及设备 |
CN111488626A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及介质 |
CN111767337A (zh) * | 2019-05-24 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 区块的验证方法、装置及设备 |
CN112019350A (zh) * | 2020-08-31 | 2020-12-01 | 光大科技有限公司 | 区块链的区块验证方法及装置 |
WO2020258044A1 (zh) * | 2019-06-25 | 2020-12-30 | 比特大陆科技有限公司 | 数字凭证处理方法、网关、设备、***、介质和程序产品 |
TWI729518B (zh) * | 2018-12-14 | 2021-06-01 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的事件處理方法及裝置、電子設備 |
CN112884586A (zh) * | 2021-04-28 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 交易执行方法和区块链节点 |
US11115188B2 (en) | 2019-04-29 | 2021-09-07 | Advanced New Technologies Co., Ltd. | Blockchain-based data processing method, apparatus, and blockchain node |
EP3863259A4 (en) * | 2018-10-24 | 2021-12-08 | Samsung Electronics Co., Ltd. | PROCESS, DEVICE, COMPUTER READABLE MEDIA, AND TRANSACTION MANAGEMENT SYSTEM |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
CN105630609A (zh) * | 2016-02-24 | 2016-06-01 | 杭州复杂美科技有限公司 | 区块链的打包存储方法 |
CN105956923A (zh) * | 2016-04-20 | 2016-09-21 | 上海如鸽投资有限公司 | 资产交易平台以及资产的数字化认证和交易方法 |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
CN106210021A (zh) * | 2016-07-05 | 2016-12-07 | 中国银行股份有限公司 | 金融应用***联机业务的实时监控方法以及监控装置 |
-
2016
- 2016-12-30 CN CN201611262732.3A patent/CN108269072A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
CN105630609A (zh) * | 2016-02-24 | 2016-06-01 | 杭州复杂美科技有限公司 | 区块链的打包存储方法 |
CN105956923A (zh) * | 2016-04-20 | 2016-09-21 | 上海如鸽投资有限公司 | 资产交易平台以及资产的数字化认证和交易方法 |
CN106210021A (zh) * | 2016-07-05 | 2016-12-07 | 中国银行股份有限公司 | 金融应用***联机业务的实时监控方法以及监控装置 |
Non-Patent Citations (2)
Title |
---|
ADMIN: "【Grid】颠覆传统区块链,商用多链并行处理解决方案", 《比特财经 HTTP://WWW.BITECOIN.COM/ONLINE/2016/11/58.HTML》 * |
袁勇 等: "区块链技术发展现状与展望", 《自动化学报》 * |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846674A (zh) * | 2018-07-12 | 2018-11-20 | 众安信息技术服务有限公司 | 在区块链中验证签名的方法和装置 |
WO2020034624A1 (zh) * | 2018-08-15 | 2020-02-20 | 齐爱民 | 一种基于区块链的商品交易方法 |
CN109285006A (zh) * | 2018-09-20 | 2019-01-29 | 中链科技有限公司 | 一种区块链数据的并行验证处理方法及装置 |
CN109408108A (zh) * | 2018-10-12 | 2019-03-01 | 天津理工大学 | 一种基于区块链的软件版本数据管理***及建立方法 |
EP3863259A4 (en) * | 2018-10-24 | 2021-12-08 | Samsung Electronics Co., Ltd. | PROCESS, DEVICE, COMPUTER READABLE MEDIA, AND TRANSACTION MANAGEMENT SYSTEM |
US11750700B2 (en) | 2018-10-24 | 2023-09-05 | Samsung Electronics Co., Ltd. | Method, device, computer-readable medium, and system for managing transactions |
WO2020086123A1 (en) * | 2018-10-26 | 2020-04-30 | Alibaba Group Holding Linited | Data processing method and apparatus |
CN109636384A (zh) * | 2018-10-26 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 一种并行化执行区块链交易的方法、装置及*** |
US11626972B2 (en) | 2018-10-26 | 2023-04-11 | Advanced New Technologies Co., Ltd. | Data processing method and apparatus |
US10999060B2 (en) | 2018-10-26 | 2021-05-04 | Advanced New Technologies Co., Ltd. | Data processing method and apparatus |
TWI743458B (zh) * | 2018-10-26 | 2021-10-21 | 開曼群島商創新先進技術有限公司 | 一種並行化執行區塊鏈交易的方法、裝置及系統 |
TWI730309B (zh) * | 2018-10-26 | 2021-06-11 | 香港商阿里巴巴集團服務有限公司 | 資料處理方法及裝置 |
CN109461079A (zh) * | 2018-10-29 | 2019-03-12 | 众安信息技术服务有限公司 | 基于区块链的交易处理方法和装置 |
CN109274692B (zh) * | 2018-11-14 | 2021-03-16 | 众安信息技术服务有限公司 | 一种识别区块链网络作恶节点的方法及装置 |
CN109274692A (zh) * | 2018-11-14 | 2019-01-25 | 众安信息技术服务有限公司 | 一种识别区块链网络作恶节点的方法及装置 |
WO2020108288A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 一种数据库***、节点和方法 |
TWI729518B (zh) * | 2018-12-14 | 2021-06-01 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的事件處理方法及裝置、電子設備 |
CN111353884A (zh) * | 2018-12-20 | 2020-06-30 | 上海智知盾科技有限公司 | 区块链交易处理方法及*** |
CN111353884B (zh) * | 2018-12-20 | 2024-05-03 | 上海智知盾科技有限公司 | 区块链交易处理方法及*** |
CN110300985B (zh) * | 2018-12-28 | 2023-08-01 | 创新先进技术有限公司 | 基于智能合约白名单在区块链网络中并行执行交易 |
US11381573B2 (en) | 2018-12-28 | 2022-07-05 | Advanced New Technologies Co., Ltd. | Parallel execution of transactions in a blockchain network based on smart contract whitelists |
US10911461B2 (en) | 2018-12-28 | 2021-02-02 | Advanced New Technologies Co., Ltd. | Parallel execution of transactions in a blockchain network based on smart contract whitelists |
US11132676B2 (en) | 2018-12-28 | 2021-09-28 | Advanced New Technologies Co., Ltd. | Parallel execution of transactions in a blockchain network |
CN110520882A (zh) * | 2018-12-28 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 在区块链网络中并行执行交易 |
CN110300985A (zh) * | 2018-12-28 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 基于智能合约白名单在区块链网络中并行执行交易 |
RU2738826C1 (ru) * | 2018-12-28 | 2020-12-17 | Алибаба Груп Холдинг Лимитед | Параллельное выполнение транзакций в сети блокчейнов |
CN109961287A (zh) * | 2019-02-12 | 2019-07-02 | 众安信息技术服务有限公司 | 一种区块链的监管方法及监管*** |
CN109784930A (zh) * | 2019-02-18 | 2019-05-21 | 深圳市网心科技有限公司 | 一种区块链交易数据的处理方法、装置、电子设备及介质 |
CN109919768A (zh) * | 2019-03-12 | 2019-06-21 | 网易(杭州)网络有限公司 | 区块生成方法、装置、介质和计算设备 |
CN109949135A (zh) * | 2019-03-20 | 2019-06-28 | 江苏满运软件科技有限公司 | 高并发交易请求处理方法、***、设备及存储介质 |
US11106487B2 (en) | 2019-04-12 | 2021-08-31 | Advanced New Technologies Co., Ltd. | Performing parallel execution of transactions in a distributed ledger system |
CN111095325A (zh) * | 2019-04-12 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 在分布式账本***中进行交易的并行执行 |
WO2019120333A2 (en) | 2019-04-12 | 2019-06-27 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
CN111095324B (zh) * | 2019-04-12 | 2023-12-12 | 创新先进技术有限公司 | 在分布式账本***中执行交易的并行执行 |
CN111095325B (zh) * | 2019-04-12 | 2023-10-27 | 创新先进技术有限公司 | 在分布式账本***中进行交易的并行执行 |
EP3619668A4 (en) * | 2019-04-12 | 2020-04-22 | Alibaba Group Holding Limited | IMPLEMENTATION OF TRANSACTIONS IN A DISTRIBUTED ACCOUNT SYSTEM |
CN111095324A (zh) * | 2019-04-12 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 在分布式账本***中执行交易的并行执行 |
US11057217B2 (en) | 2019-04-12 | 2021-07-06 | Advanced New Technologies Co., Ltd. | Performing parallel execution of transactions in a distributed ledger system |
US11082230B2 (en) | 2019-04-12 | 2021-08-03 | Advanced New Technologies Co., Ltd. | Performing parallel execution of transactions in a distributed ledger system |
US11231957B2 (en) | 2019-04-12 | 2022-01-25 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
US11115188B2 (en) | 2019-04-29 | 2021-09-07 | Advanced New Technologies Co., Ltd. | Blockchain-based data processing method, apparatus, and blockchain node |
CN110263580B (zh) * | 2019-04-29 | 2021-03-23 | 创新先进技术有限公司 | 基于区块链的数据处理方法、装置和区块链节点 |
CN110263580A (zh) * | 2019-04-29 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法、装置和区块链节点 |
US11983168B2 (en) | 2019-05-24 | 2024-05-14 | Beijing Wodong Tianjun Information Technology Co., Ltd. | Block verification method, apparatus and device |
CN111767337B (zh) * | 2019-05-24 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 区块的验证方法、装置及设备 |
CN111767337A (zh) * | 2019-05-24 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 区块的验证方法、装置及设备 |
WO2020258044A1 (zh) * | 2019-06-25 | 2020-12-30 | 比特大陆科技有限公司 | 数字凭证处理方法、网关、设备、***、介质和程序产品 |
CN110555700A (zh) * | 2019-09-04 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 区块链智能合约执行方法、装置、计算机可读存储介质 |
CN111292192A (zh) * | 2020-02-18 | 2020-06-16 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
JP2022524177A (ja) * | 2020-02-18 | 2022-04-28 | 江蘇復雑美科技有限公司 | トランザクションの並行実行方法、装置及び記憶媒体 |
WO2021164415A1 (zh) * | 2020-02-18 | 2021-08-26 | 江苏复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111339108A (zh) * | 2020-02-18 | 2020-06-26 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111414374B (zh) * | 2020-03-20 | 2023-04-28 | 深圳市迅雷网络技术有限公司 | 一种区块链交易并发处理方法、装置及设备 |
CN111414374A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市网心科技有限公司 | 一种区块链交易并发处理方法、装置及设备 |
CN111488626A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及介质 |
CN112019350A (zh) * | 2020-08-31 | 2020-12-01 | 光大科技有限公司 | 区块链的区块验证方法及装置 |
CN112019350B (zh) * | 2020-08-31 | 2024-02-02 | 光大科技有限公司 | 区块链的区块验证方法及装置 |
CN112884586A (zh) * | 2021-04-28 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 交易执行方法和区块链节点 |
CN112884586B (zh) * | 2021-04-28 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 交易执行方法和区块链节点 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108269072A (zh) | 用于区块链的交易处理方法和网络节点 | |
Dziembowski et al. | Fairswap: How to fairly exchange digital goods | |
WO2021179661A1 (zh) | 跨区块链的数据互存方法、装置、设备及存储介质 | |
Fan et al. | Dredas: Decentralized, reliable and efficient remote outsourced data auditing scheme with blockchain smart contract for industrial IoT | |
US20220021662A1 (en) | Operating system for blockchain iot devices | |
US11799660B2 (en) | Optimizations for verification of interactions system and method | |
Sonnino et al. | Replay attacks and defenses against cross-shard consensus in sharded distributed ledgers | |
Eckey et al. | Optiswap: Fast optimistic fair exchange | |
Kaur et al. | Scalability in blockchain: Challenges and solutions | |
CN109345386A (zh) | 基于区块链的交易共识处理方法及装置、电子设备 | |
Yanovich et al. | Exonum: Byzantine fault tolerant protocol for blockchains | |
CN109003185B (zh) | 一种智能合约的建立方法、装置、计算设备及存储介质 | |
CN110597925A (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
KR20190070163A (ko) | 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치 | |
CN110175840A (zh) | 联盟链中实现轻钱包机制的方法、客户端、联盟链及*** | |
Edwards et al. | A review of quantum and hybrid quantum/classical blockchain protocols | |
CN110750329B (zh) | 基于fpga实现虚拟机运算的方法及装置 | |
CN108256354A (zh) | 一种基于试验数据的存储方法及存储介质 | |
Chandran et al. | Efficient, constant-round and actively secure MPC: beyond the three-party case | |
WO2023011019A1 (zh) | 基于区块链的数据处理方法、装置、设备、可读存储介质及计算机程序产品 | |
Harshavardhan et al. | Blockchain technology in cloud computing to overcome security vulnerabilities | |
CN111292190A (zh) | 交易生成方法、区块创建方法及相关装置、设备 | |
US20220036346A1 (en) | Systems and methods for re-organizing blockchains for efficient operations | |
CN110599175A (zh) | 一种区块处理方法及相关设备 | |
CN114884652A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180710 |
|
WD01 | Invention patent application deemed withdrawn after publication |