CN109219940B - 私有节点以及私有节点中的处理方法 - Google Patents

私有节点以及私有节点中的处理方法 Download PDF

Info

Publication number
CN109219940B
CN109219940B CN201780033768.0A CN201780033768A CN109219940B CN 109219940 B CN109219940 B CN 109219940B CN 201780033768 A CN201780033768 A CN 201780033768A CN 109219940 B CN109219940 B CN 109219940B
Authority
CN
China
Prior art keywords
node
private
block
transaction
nodes
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
Application number
CN201780033768.0A
Other languages
English (en)
Other versions
CN109219940A (zh
Inventor
加纳裕三
小宫山峰史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BitFlyer Blockchain Inc
Original Assignee
BitFlyer Blockchain Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BitFlyer Blockchain Inc filed Critical BitFlyer Blockchain Inc
Publication of CN109219940A publication Critical patent/CN109219940A/zh
Application granted granted Critical
Publication of CN109219940B publication Critical patent/CN109219940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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

Abstract

对记有交易信息的事务进行区块化而纳入分布式数据库的网络中,谋求记录的可靠性和应用领域的扩展性的并存。构成网络的节点区分为公共节点(2a)和私有节点(2b)。公共节点(2a)起到生成应记录的事务的作用,其后的向分布式数据库的记录处理是通过多个私有节点(2b)协作来进行。对于事务的生成,以有可能包含无法信赖的节点的公共节点(2a)的形式广泛准许,另一方面,对于向分布式数据库的记录处理,则限定于能够信赖的私有节点(2b)。

Description

私有节点以及私有节点中的处理方法
技术领域
本发明涉及一种私有节点/公共节点用的节点装置以及计算机程序,特别是涉及在对记有与交易相关的信息的事务进行区块化之后,纳入分布式数据库的网络的机制。
背景技术
以往,已知有称为区块链的技术。该技术是一种在网络上的大量节点间使同一记录同步的机制,之所以称为区块链,是因为在对现有记录追加新的记录的情况下,成为记录单位的区块会在继承前面的区块的内容(散列)的同时呈链状地逐一追加下去。通常,区块链这一用语有时也指区块呈链状地联系在一起的数据库的结构,但有时也在包括以P2P网络的形式工作的机制、事务的认可的机制等在内的广义的意义上加以使用,其定义目前并不明确。因此,在本说明书中,为了防止两者的混淆,将在前一种狭义的意义上使用的情况称为“区块链”,将在后一种广义的意义上使用的情况称为“区块链技术”。
区块链技术具有零停机时间、难以篡改、低成本等大量优点,因此,不仅运用于包括比特币(bitcoin)和其衍生货币在内的虚拟货币,还作为将各种资产(asset)相关的信息作为事务来管理的方法而开始受到关注。例如,非专利文献1中,记载有将在可靠性建立方面能够起到重要作用的区块链使用于各种文书的存在证明、身份证明的内容。
现有技术文献
非专利文献
非专利文献1:区块链构建网络空间内的信赖关系--“存在证明”、“身份证明”所具有的重要意义(ブロックチェーンはサイバー空間での信頼関係を築く――「存在証明」や「アイデンティティ証明」が持つ重要な意味),[online],[2016年3月28日检索],网址<URL:http://diamond.jp/articles/-/53050>
发明内容
发明要解决的问题
区块链技术中主要存在公共节点方式和私有节点方式。公共节点方式是网络上的节点谁都可以参加的方式,并且也被用于比特币等中。谁都可以参加的话,由于可能存在无法信赖的节点,所以为了防止数据的篡改等,需要POW(Proof Of Work工作量证明)、POS(Proof Of Stake权益证明)等成本高且速度慢的共识算法。另一方面,私有节点方式是网络上的节点中仅被许可的节点能够参加的方式。该方式是仅由能够信赖的节点构成的方式,因此即使没有使用公共方式那样的高度的共识算法,也能够确保充分的可靠性。在使用区块链技术来构建能够应对各种资产的交易的系统的情况下,为了确保高度的可靠性,私有方式一方较为优选,但是,在上述那样的节点的制约方面,会存在应用领域受到限制的这样的不良情况。另一方面,虽然公共节点方式能够灵活地处理各种应用领域,但是无法信赖的节点对数据的篡改会成为问题,从记录的可靠性的观点来看这是困难的。
本发明鉴于这一情况而做出,其目的在于,在对记有交易信息的事务进行区块化而纳入分布式数据库的网络中,谋求记录的可靠性和应用领域的扩展性的并存。
解决问题的技术手段
为了解决这样的问题,第1发明提供一种事务处理网络中的私有节点用的节点装置,该事务处理网络具有:生成记有交易信息的事务的多个公共节点;节点数受到限制的多个私有节点;以及各节点同步地保持同一记录内容、且成为记录单位的区块按照记录顺序联系在一起的分布式数据库。该节点装置具有区块生成部、认可请求部及区块确定部。区块生成部生成第1区块,该第1区块包含由第1公共节点生成的第1事务。认可请求部对第1区块附加基于自身节点的私钥的签名,之后对预先设定的m(m≥2)个私有节点群发送第1区块的认可请求。区块确定部在从成为认可的请求目的地的私有节点接收到第1区块的认可结果的情况下,使用认可的请求目的地的公钥来验证该认可结果中附加的签名的正当性,之后,以得到了m个私有节点群中的n(m≥n≥1)个以上的认可这一内容为条件,确定将第1区块追加至分布式数据库。
此处,在第1发明中,优选的是,上述区块确定部在确定将第1区块追加至分布式数据库的情况下,对于第1公共节点通知第1事务的处理结果。
在第1发明中也可以还设置认可响应部。该认可响应部在从成为认可的请求源的私有节点接收到第1区块的认可请求的情况下,使用认可的请求源的公钥来验证该认可请求中附加的签名的正当性,之后参照自身节点的待处理区域中存放的与事务相关的数据,验证认可请求所涉及的第1区块的内容,并且将附有基于自身节点的私钥的签名的认可结果发送至成为认可的请求源的私有节点。
在第1发明中,上述n优选为上述m的半数以上。此外,当在自身节点生成了第1区块的情况下,至少在确定将由其他节点生成的其他区块追加至分布式数据库之前,上述区块生成部也可以进行待机而不是连续地发送新的区块的认可请求。进一步的,优选的是,在事务处理网络中,预先准备有使私有节点的公钥追加或失效的协议。
第2发明提供一种事务处理网络中的公共节点用的节点装置,该事务处理网络具有:生成记有交易信息的事务的多个公共节点;节点数受到限制的多个私有节点;以及各节点同步地保持同一记录内容、且成为记录单位的区块按照记录顺序联系在一起的分布式数据库。该节点装置具有事务生成部、记录请求部以及结果收领部。事务生成部生成第1事务。记录请求部将第1事务发送到至少一个私有节点,并请求第1事务的记录。对于在接收到第1事务的私有节点中的某一个中生成、且包含第1事务的第1区块,在通过满足区块确定条件而确定了追加至分布式数据库的情况下,结果收领部收领从接收到第1事务的私有节点中的某一个发送的、第1事务的记录已完成这一内容的处理结果。区块确定条件是指,通过使用了公钥加密的多重签名的私有节点间的认可协议,获得预先设定的m(m≥2)个的私有节点中的n(m≥n≥1)个以上的认可。
第3发明提供了一种事务处理网络中的私有节点用的计算机程序。该事务处理网络具有:生成记有交易信息的事务的多个公共节点;节点数受到限制的多个私有节点;以及各节点同步地保持同一记录内容、且成为记录单位的区块按照记录顺序联系在一起的分布式数据库。该计算机程序使计算机执行具有以下步骤的处理:第1步骤,生成第1区块,该第1区块包含由第1公共节点生成的第1事务;第2步骤,对第1区块附加基于自身节点的私钥的签名,之后对预先设定的m(m≥2)个私有节点发送第1区块的认可请求;以及第3步骤,在从成为认可的请求目的地的私有节点接收到第1区块的认可结果的情况下,使用认可的请求目的地的公钥来验证该认可结果中附加的签名的正当性,之后,以得到了m个私有节点中的n(m≥n≥1)个以上的认可这一内容为条件,确定将第1区块追加至分布式数据库。
此处,在第3发明中,优选的是,上述第3步骤中,在确定将第1区块追加至分布式数据库的情况下,对于第1公共节点通知第1事务的处理结果。
在第3发明中,还可以设置第4步骤:在从成为认可的请求源的私有节点接收到第1区块的认可请求的情况下,使用认可的请求源的公钥来验证该认可请求中附加的签名的正当性,之后参照自身节点的待处理区域中存放的与事务相关的数据,验证认可请求所涉及的第1区块的内容,并且将附有基于自身节点的私钥的签名的认可结果发送至成为认可的请求源的私有节点。
在第3发明中,上述n优选为上述m的半数以上。此外,上述第1步骤中,当在自身节点生成了第1区块的情况下,至少在确定将由其他节点生成的其他区块追加至分布式数据库之前,也可以包含进行待机而不是连续地发送新的区块的认可请求的步骤。进一步的,优选的是,在上述事务处理网络中,预先准备有使私有节点的公钥追加或失效的协议。
第4发明提供一种事务处理网络中的公共节点用的计算机程序,该事务处理网络具有:生成记有交易信息的事务的多个公共节点;节点数受到限制的多个私有节点;以及各节点同步地保持同一记录内容、且成为记录单位的区块按照记录顺序联系在一起的分布式数据库。该计算机程序使计算机执行具有以下步骤的处理:第1步骤,生成第1事务;第2步骤,将第1事务发送到至少一个私有节点,并请求第1事务的记录;以及第3步骤,对于在接收到第1事务的私有节点中的某一个中生成、且包含第1事务的区块,以通过使用了基于公钥加密的多重签名的私有节点间的认可协议、而获得预先设定的m(m≥2)个的私有节点中的n(m≥n≥1)个以上的认可这一内容为条件,在确定了将第1区块追加至分布式数据库的情况下,收领从接收到第1事务的私有节点中某一个发送的、第1事务的记录已完成这一内容的处理结果。
发明效果
根据本发明,将构成事务处理网络的节点区分为公共节点和私有节点。公共节点起到生成记有交易信息的事务的作用,其后的处理是采用使用了公钥加密的多重签名(Multisig)这样低成本且高速的共识算法并通过私有节点彼此协作来进行。关于事务的生成,以有可能包含无法信赖的节点的公共节点的形式广泛准许,并且在其后的区块的生成、确定这样的处理中,限制为能够信赖的私有节点。由此,能够谋求公共节点方式的优点即应用领域的扩展性,以及私有节点方式的优点即记录的可靠性的并存。
附图说明
图1是事务处理网络的物理构成图。
图2是事务处理网络的逻辑构成图。
图3是私有节点中的公钥的设定方法的说明图。
图4是公共节点用的节点装置的功能框图。
图5是私有节点用的节点装置的功能框图。
图6是表示事务的记录处理的流程的图。
图7是表示事务的待处理状态的图。
图8为基于多重签名的区块认可的说明图。
图9为数据库结构的说明图。
具体实施方式
图1是本发明的一实施方式所涉及的事务处理网络的物理构成图。该事务处理网络1用作管理与交易相关的信息的管理系统。将何种交易作为管理的对象是根据其用途而预先决定为系统的规格。例如,若是银行系统,则实际货币的交易成为对象,若是证券系统,则证券的交易成为对象。在本说明书中,所谓“交易”,是指如下概念,即,实际货币、虚拟货币、证券、不动产等资产乃至该资产的状态的保持(存量)、资产的转让(流量)自然是包括在内的,还可以包括契约,契约可以成为资产也可以成为负债。此外,通过引入衍生品的概念,能够定义更广范围的交易。
例如,“从A向B汇款1亿日元”、“B从A收取特定股票500股”等情况与资产的转让(流量)同义,可以理解为1个方向的交易。“A有1亿日元的存款”、“A持有特定股票500股”等情况可以理解为资产本身,也可以理解为资产的状态的保持(存量)这一概念。“A从B购入相当于1亿日元的美元”、“A以每股1000日元从B购入特定股票500股”等情况可以理解为同时发生2个资产的转让(流量)的2个方向的交易。
事务处理网络1为P2P(Peer to Peer)型网络,不仅包括纯粹的P2P,还包括所谓的混合型(部分包含客户-服务器型的构成)P2P。参加(连接至)事务处理网络1的节点2以1对1的对等的关系进行通信(P2P通信)。各节点2具有计算机3和数据库4a作为节点装置。与交易相关的信息通过网络1上的分布式数据库4也就是每一节点2中设置的数据库4a的集合体来进行管理。存在于网络1上的所有数据库4a通过区块链技术进行同步,基本上保持有同一记录内容。在具有权限的节点2对分布式数据库4进行更新的情况下,将这一内容通知与自身节点2连接在一起的其他节点2,之后反复进行节点间的P2P通信,由此,最终通知整个网络1。由此,所有节点2的数据库4a得到更新,从而以同一记录内容的形式得到共享。
为了确保安全,网络1中的P2P通信是通过SSL通信来进行的。此外,关于在节点2间交接的事务的正当性,通过使用了公钥加密的电子签名来加以验证。其前提是各节点2保持有自己管理的地址的私钥(密码)(网络地址的所有者=私钥的持有者)。根据私钥来唯一地确定公钥。网络地址可使用公钥本身,也可与比特币等一样使用对公钥进行散列处理而加入了校验和的地址。事务的送出方(资产的移动源)对将要送出的事务附加基于自己管理的地址的私钥的签名之后进行发送。事务的接收方利用与该私钥相对应的公钥来验证收取到的事务中附加的签名的正当性。再者,此处所使用的公钥加密与后文叙述的区块的认可相关的多重签名(Multisig)的公钥加密不一样。Multisig的私钥与上述网络地址无关,仅私有节点2b持有。
再者,图1展示的是各节点2与其他所有节点2连接在一起的全连接型,但这是一例,也可采用任何拓扑。此外,在对特定的节点2发送信息的情况下,也可引入能够指定地址而直接发送至发送目的地这样的协议而不是基于P2P通信的间接性发送。
图2为一实施方式中的事务处理网络1的逻辑构成图。在本实施方式中,构成事务处理网络1的节点2处存在公共节点2a和私有节点2b。公共节点2a是成为交易的主体的应用节点(有可能包含无法信赖的节点)。公共节点2a生成记有与交易相关的信息的事务并对其签名,之后直接或间接地发送至私有节点2b群。公共节点2a仅进行向私有节点2b群的事务的记录请求,自身不进行向分布式数据库4的记录处理。对于公共节点2a而言,重要的是(由于即便不是最新也可以)能够查询、在新制作的事务上签名、以及向私有节点2b群请求事务的认可。
再者,例如,在算出某一地址的余额这样的检索时,为了谋求处理的高速化,可以在多个公共节点2a的一部分以带索引的形式管理数据库4a的记录内容。分布式数据库4的数据基本上为Key-Value型,因此,存在有条件的查询极为耗时这一缺点。为了解决该问题,可以通过设置具有检索用的自有索引的节点来扩展应用范围。
私有节点2b是节点数受到限制的能够信赖的节点,针对从公共节点2a请求的事务而进行向分布式数据库4的记录处理。该记录处理是像后文叙述那样通过私有节点2b群协作来进行。在记录处理已完成的情况下,对请求源的公共节点2a通知处理结果。对于私有节点2b而言,重要的是对事务进行认可并加以区块化、之后追加至分布式数据库4,比特币等虚拟货币中采用的挖掘、手续费等报酬(激励)不一定是必需的。
多个私有节点2b使用公钥加密来进行基于区块的认可相关的多重签名(Multisig)的区块的认可。因此,如图3所示,各私有节点2b具有自身节点的私钥。同时,在系统的启动时读入记述有公钥的配置文件,由此,在私有节点2b之间共享公钥。此外,准备有使私有节点2b的公钥追加或失效的协议,通过执行该协议,即便不改写配置文件也能使公钥追加或失效。该公钥相关的信息要求严格的管理,因此为了确保安全性,通过SSL等来进行交换。
图4为公共节点2a用的节点装置(以下称为“公共节点装置20”)的功能框图。该公共节点装置20具有事务生成部20a、记录请求部20b及结果收领部20c。事务生成部20a按照规定格式来生成记有与交易相关的信息的事务。与交易相关的信息例如从用户按照显示画面的指示输入了的输入信息或者从通过别的网络接收到的接收信息获取。记录请求部20b对由事务生成部20a生成的事务附加基于自己管理的地址的私钥的签名,之后经由节点2间的P2P通信发送至私有节点2b群,向私有节点2b群请求应记录事务这一内容。结果收领部20c收领从任一私有节点2b发送的事务的处理结果,并将其呈现给用户。
图5为私有节点2b用的节点装置(以下称为“私有节点装置21”)的功能框图。该私有节点装置21具有签名验证部22和事务处理部23。签名验证部22使用与私钥相对应的公钥来验证从公共节点2a以记录请求的形式受理的事务中附加的签名的正当性。再者,除了验证签名以外,还一并验证该资产未被双重使用等内容。
事务处理部23以能够验证出签名是正当的这一内容为前提、在满足规定条件的情况下将事务记录至分布式数据库4。该事务处理部23具有区块生成部23a、认可请求部23b、区块确定部23c及认可响应部23d。
此处,私有节点装置21起到2个作用。一个是自身节点2b生成区块并向他节点2b请求区块的认可的作用,作为用于实现该目的的构成,存在区块生成部23a、认可请求部23b及区块确定部23c。并且,另一个是认可其他的私有节点2b所生成的区块的作用,作为用于实现该目的的构成,存在认可响应部23d。如此,私有节点2b能够变为向其他节点2b请求自身节点2b所生成的区块的认可的请求方、以及自身节点2b进行由其他节点2b生成的区块的认可的认可方中的任一方。
区块生成部23a对从成为事务的记录的请求源的公共节点2a收到记录处理的请求的多个事务进行归纳,由此生成区块。认可请求部23b对由区块生成部23a生成的区块附加基于自身节点2b的私钥的签名,之后对预先设定为系统的配置的m(m≥2)个其他的私有节点群2b发送区块的认可请求。认可的请求目的地的节点中也可包含自身节点。在从成为认可的请求目的地的私有节点2b接收到区块的认可结果的情况下,区块确定部23c使用与认可的请求目的地的私钥相对应的公钥来验证该认可结果中附加的签名的正当性,之后判定是否满足以下的区块确定条件。
[区块确定条件]
得到了m(m≥2)个私有节点2b中的n(m≥n≥1)个以上的认可
在该区块确定条件中,n优选为m的半数以上。由此,能在合理且现实的范围内确保认可的可靠性。例如,在图2所示的存在4个私有节点2b的情形下,向3个(m=3)私有节点2b请求认可,得到了其中的2个(n=2)以上的认可,由此满足区块确定条件。
m优选为一位数、二位数等有限的数量以下,根据区块确定条件,有时优选为5个、9个等奇数个。n除了为m的半数以上以外,有时优选为半数以上的指定的规定数量。
作为区块确定条件,上述说明中可以采用一节点一票的认可,也可以对各节点给予任意正实数的票,通过其半数以上来判定得到了认可。在该情况下,所谓“半数以上”,是指超过相对于总票数的半数的数量。
在认可请求所涉及的区块满足区块确定条件的情况下,确定将该区块追加至分布式数据库4,在不满足的情况下,不进行向分布式数据库4的区块的追加。区块确定部23c对成为事务的记录的请求源的公共节点2a通知事务的处理结果(OK/NG)。在向分布式数据库4的区块的追加确定下来的情况下,对自身节点2b的数据库4a追加区块,而且对事务处理网络1的所有节点2通知随着区块的确定而追加新的区块这一内容。通过该通知,所有节点2的数据库4a即分布式数据库4得到更新。
寻求直接或间接地通知所有节点2,但除了对所有节点2直接通知随着区块的确定而追加新的区块这一内容的情况以外,也考虑通知所有私有节点2b以及公共节点2a的一部分、所有私有节点2b、私有节点2b的一部分以及公共节点2a的一部分、或者私有节点2b的一部分的情况。
另一方面,在从成为认可的请求源的私有节点2b接收到区块的认可请求的情况下,认可响应部23d使用公钥(与认可的请求源的私钥相对应的公钥)来验证该认可请求中附加的签名的正当性。此外,认可响应部23d参考自身节点2b中记录的与事务相关的数据来验证认可请求所涉及的区块的内容(包括区块中的事务的相容性)。继而,在得到了内容是正当的这一验证结果的情况下,认可响应部23d将附加有基于自身节点2b的私钥的签名的认可结果发送至成为认可的请求源的私有节点2b。
再者,作为私有节点2b的黑客对策也就是私有节点2b被黑掉时,在区块生成部23a于自身节点2b中生成了一个区块的情况下,至少在将由其他节点2b生成的其他区块追加至分布式数据库4这一内容确定下来之前进行待机而不连续发送新的区块的认可请求。即,在同一私有节点2b中,禁止连续进行区块确定的处理。
接着,一边参考图6,一边对事务的记录处理的流程进行说明。首先,在某一公共节点2a中,生成记有与交易相关的信息的事务Tr(步骤1),并对该事务Tr附加基于自己管理的地址的私钥的签名,之后将事务Tr的记录请求发送至私有节点2b群(步骤2)。例如,如图7所示,对资产的移动源a涉及的事务Tr1附加基于移动源a所管理的地址的私钥的签名“a”,对事务Tr2、Tr3也同样地进行签名。
接收到事务Tr的记录请求的私有节点2b中的各方使用与移动源的私钥相对应的公钥来验证记录请求中附加的签名(步骤3)。如图7所示,对于事务Tr1中附加的签名“a”,使用与移动源a的私钥对应的公钥来进行验证,对于事务Tr2、Tr3也同样地进行验证。再者,如上所述,除了验证签名以外,还一并验证该资产未被双重使用等内容。在各私有节点2b中,在能够确认到签名的正当性等的情况下,事务Tr1~Tr3暂时存放至自身节点2b的存储装置中的规定的存储区域(待处理区域)(步骤4)。此外,在该步骤4中,在认为资产的移动源不正当的情况下,对成为请求源的公共节点2a通知这一内容。
在步骤5中,在任一私有节点2b中生成区块。该区块是对自身节点2b的待处理区域中存放的多个事务Tr进行归纳而得。继而,在步骤6中,生成具有图8的(a)所示那样的数据结构的带签名的认可请求。该数据结构具有请求区块的认可的请求源的签名栏、归纳有多个事务Tr的区块主体、以及区块的认可目的地的签名栏。但该图的构成是为了方便说明,实际上不需要划分请求源/认可目的地的签名栏。在由图2所示的4个私有节点2b群(将节点名设为A~D)中的节点A生成了区块的情况下,在图8的(a)的请求源签名栏中记入基于节点A的私钥的签名“A”,认可目的地签名栏(记入节点B~D的签名的栏)设为空白。节点A中生成的认可请求被发送至其他私有节点2b即3个节点B~D。
步骤7~9是接收到区块的认可请求的私有节点2b即认可的请求目的地B~D的处理。首先,在步骤7中,使用认可的请求源即节点A等的公钥来验证认可请求中附加的签名“A”等的正当性(步骤7)。在该步骤7中,不仅是节点A的签名,附加的其他签名也在该验证时间点同时得到验证。基本上是像节点A→B→C→D这样依序签名,在得到半数以上(n)的签名的时间点确定下来。关于如何保持顺序,考虑各种实现方法。再者,关于区块的签名的验证自身,为了避免信任被黑掉的区块,不仅在私有节点2b、也在所有公共节点2a中进行。在认为认可的请求源是正当的情况下,进入至步骤8,在认为不正当的情况下,不进行步骤8之后的处理。
在步骤8中,验证认可请求所涉及的区块的内容。具体而言,参考自身节点2b的待处理区域中存放的事务,在区块的内容至少满足以下的认可条件的情况下认可区块。在认为区块的内容是正当的情况下,进入至步骤9,在认为不正当的情况下,不进行步骤9的处理(处理结果=NG)。
[区块的认可条件]
(1)区块中的所有事务Tr在自身节点2b中未处理(防止重复记录)
(2)区块中的所有事务Tr的内容与自身节点2b的待处理区域中存放的事务Tr的内容一致(防止数据的篡改)
(3)各事务Tr的资产未使用(禁止资产的双重使用)
在步骤9中,生成带签名的认可结果。在可以认可的情况下,如图8的(b)所示,在认可目的地签名栏中的分配给自身节点2b的栏中记入基于自己的私钥的签名。附加有签名的认可结果被发送至认可的请求源A。
步骤10~12是接收到区块的认可结果的私有节点2b即认可的请求源A的处理。首先,在步骤10中,使用认可的请求源B~D的公钥来验证认可结果中附加的签名的正当性(步骤10)。在认为认可的请求目的地是正当的情况下,进入至步骤11,在认为不正当的情况下,不进行步骤12之后的处理。
在步骤11中,在得到了m个私有节点中的n(m≥n≥1)个以上的认可的情况下,满足区块确定条件,对分布式数据库4追加区块这一内容确定下来。图8的(b)的例子意味着,得到了请求认可的3个节点B~D中的2个节点B、C的认可,但未得到节点D的认可。在该情况下,若区块确定条件为半数以上的认可,则n/m=2/3,满足条件。反过来,在n=0、1的情况下,不满足区块确定条件。
在满足区块确定条件的情况下,由认可的请求源A进行将确定好的区块记录至分布式数据库4的处理。具体而言,首先,在自身节点A中,从待处理区域删除确定区块中包含的事务Tr,对自己的数据库4追加确定好的区块。此外,以包括与自身节点A连接在一起的其他节点B~D在内的方式对整个事务处理网络1发送新追加确定好的区块这一内容的通知。所有的节点2在收到该确定区块的通知的时间点进行通知源的签名的验证,之后对自己的数据库4a追加确定区块。此外,在待处理区域中保持有未处理事务Tr的所有节点2(包括节点B~D)根据该通知而将确定区块中包含的事务Tr从待处理区域内删除(步骤13)。相对于此,在不满足区块确定条件的情况下,本次生成的区块予以取消。由此,继续保持待处理区域的未处理事务Tr,等待下次之后的区块的生成机会。
图9为数据库4a的结构的说明图。在该结构中,成为记录单位的区块按照记录顺序呈链状地联系在一起。各区块(确定区块)具有多个事务和前面的区块的散列。具体而言,某一区块2中含有从它前面的区块1继承的前区块1的散列H1。于是,区块2的散列H2以含有自身区块2的事务群和从前区块1继承的散列H1的形式算出,该散列H2被其之后的区块继承。如此,在以散列的形式继承前面的区块的内容的同时(H0、H1、···)按照记录顺序使各区块呈链状地相连,使得记录内容具有贯彻始终的连续性,由此,有效防止记录内容的篡改。在过去的记录内容受到了变更的情况下,区块的散列变为与变更前不一样的值,为了使篡改的区块伪装成正确的区块,就必须重新制作这之后的所有区块,这项工作现实中非常困难。
继而,在步骤12中,从任一私有节点2b(认可的请求源A)对成为事务Tr的记录的请求源的公共节点2a通知记录请求所涉及的事务Tr的处理结果(OK/NG)。该公共节点2a收领处理结果,并对用户呈现处理结果(步骤14)。经过以上的一系列手续,事务的记录处理完成。
再者,在以上那样的事务的记录处理中,多个私有节点2b有可能同时生成包含同一事务的不同区块,即,有可能发生私有节点2b彼此的处理的竞争。该问题例如可以像循环法(round robin)那样通过在私有节点2b间分配区块生成的顺序而进行排他控制来加以解决。此外,也可对私有节点2b群分配优先顺位,在发生了上述竞争的情况下,仅准许优先顺位高的私有节点2b进行发生了竞争的事务的再处理。
如此,根据本实施方式,将构成事务处理网络1的节点2区分为公共节点2a和私有节点2b。公共节点2a起到生成应记录的事务的作用,其后的向分布式数据库4的记录处理是通过私有节点2b群协作来进行。对于事务的生成,以有可能包含无法信赖的节点的公共节点2a的形式广泛准许,另一方面,对于向分布式数据库4的记录处理,则限定于能够信赖的私有节点2b。如此,通过划分公共节点2a的作用与私有节点2b的作用,能够谋求公共节点方式的优点即应用领域的扩展性和私有节点方式的优点即记录的可靠性的并存。
此外,根据本实施方式,作为能够信赖的私有节点2b相互的认证方法,不是采用POW、POS等成本高、速度慢的共识算法,而是采用使用公钥加密的多重签名(Multisig)这一相对简单的共识算法。由此,能在不损害记录的可靠性的情况下高速且可靠地处理大量事务。
进而,根据本实施方式,禁止同一私有节点2b连续地发送区块的认可请求,以使特点的私有节点2b产生的区块的生成频率不会变得非常高。由此,对于使特定的私有节点2b一直持续生成区块而施加过量的负荷等黑客行为,也能够有效的处理。
再者,本发明也可以理解为实现上述的公共节点装置20或私有节点装置21的计算机程序。
符号说明
1 事务处理网络
2 节点
2a 公共节点
2b 私有节点
3 计算机
4 分布式数据库
4a 数据库
20 公共节点装置
20a 事务生成部
20b 记录请求部
20c 结果收领部
21 私有节点装置
22 签名验证部
23 事务处理部
23a 区块生成部
23b 认可请求部
23c 区块确定部
23d 认可响应部。

Claims (8)

1.一种处理方法,其是私有节点中的处理方法,所述私有节点在具有公共节点群和私有节点群的网络中包含在所述私有节点群中,所述处理方法的特征在于,包括:
生成具有多个事务的第一区块的步骤;
将所述第一区块的认可请求发送至所述私有节点群的步骤;以及
以从所述私有节点群中的规定数量得到了认可这一内容为条件,使所述第一区块确定下来并追加至区块链中的步骤,
在由包含在所述私有节点群中的其他私有节点生成的区块的追加被确定之前,所述私有节点不请求第二区块的新的认可。
2.根据权利要求1所述的处理方法,其特征在于,
所述私有节点群中,构成该私有节点群的私有节点的数量受到限制。
3.根据权利要求2所述的处理方法,其特征在于,
所述私有节点的数量是两位数。
4.根据权利要求1所述的处理方法,其特征在于,
所述规定数量是一位的奇数。
5.根据权利要求1所述的处理方法,其特征在于,还包括:
将所述第一区块的所述追加已进行这一内容通知给所述私有节点群的全部以及所述公共节点群的一部分的步骤。
6.根据权利要求1所述的处理方法,其特征在于,还包括:
将所述第一区块的所述追加已进行这一内容通知给所述私有节点群的一部分的步骤。
7.根据权利要求6所述的处理方法,其特征在于,
构成所述私有节点群的私有节点间共享各自的公钥。
8.一种私有节点,其在具有公共节点群和私有节点群的网络中包含在所述私有节点群中,所述私有节点的特征在于,
生成具有多个事务的第一区块,并将所述第一区块的认可请求发送至所述私有节点群,
以从所述私有节点群中的规定数量得到了认可这一内容为条件,使所述第一区块确定下来并追加至区块链,
在由包含在所述私有节点群中的其他私有节点生成的区块的追加被确定之前,所述私有节点不请求第二区块的新的认可。
CN201780033768.0A 2016-03-31 2017-03-29 私有节点以及私有节点中的处理方法 Active CN109219940B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016071341 2016-03-31
JP2016-071341 2016-03-31
PCT/JP2017/012875 WO2017170679A1 (ja) 2016-03-31 2017-03-29 プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム

Publications (2)

Publication Number Publication Date
CN109219940A CN109219940A (zh) 2019-01-15
CN109219940B true CN109219940B (zh) 2022-01-11

Family

ID=59965941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780033768.0A Active CN109219940B (zh) 2016-03-31 2017-03-29 私有节点以及私有节点中的处理方法

Country Status (4)

Country Link
US (1) US20190036702A1 (zh)
EP (1) EP3439231A4 (zh)
CN (1) CN109219940B (zh)
WO (1) WO2017170679A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US9785369B1 (en) * 2016-05-23 2017-10-10 Accenture Global Solutions Limited Multiple-link blockchain
US11481360B2 (en) * 2017-04-07 2022-10-25 Hwa-Shang CHANG Blockchain network and method of operation thereof
US10560270B2 (en) * 2017-05-03 2020-02-11 International Business Machines Corporation Optimal data storage configuration in a blockchain
US10749670B2 (en) * 2017-05-18 2020-08-18 Bank Of America Corporation Block chain decoding with fair delay for distributed network devices
US10868673B2 (en) * 2017-09-25 2020-12-15 Sap Se Network access control based on distributed ledger
KR102545178B1 (ko) * 2017-10-23 2023-06-16 지멘스 악티엔게젤샤프트 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템
WO2019095159A1 (zh) * 2017-11-15 2019-05-23 Oppo广东移动通信有限公司 确定非竞争随机接入资源的方法、网络设备和终端设备
CN111149127A (zh) 2017-12-04 2020-05-12 索尼公司 信息处理装置、信息处理方法和程序
US10701053B2 (en) * 2018-02-28 2020-06-30 Bank Of America Corporation Authentication and approval control system for distributed ledger platform
JP6487091B1 (ja) * 2018-03-29 2019-03-20 株式会社電通 Ico管理方法、通信デバイス、ico管理システム及びプログラム
JP2021103342A (ja) * 2018-04-02 2021-07-15 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
CN108647962B (zh) * 2018-04-27 2023-04-07 腾讯科技(深圳)有限公司 征信系统、征信数据的存储方法、装置、设备及介质
CN109040014A (zh) * 2018-06-13 2018-12-18 湖南搜云网络科技股份有限公司 区块链处理方法及装置、区块链节点及存储介质
KR102107237B1 (ko) * 2018-07-02 2020-06-03 김도영 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법
US11336430B2 (en) 2018-09-07 2022-05-17 Sap Se Blockchain-incorporating distributed authentication system
CN109377364A (zh) * 2018-09-27 2019-02-22 中国联合网络通信集团有限公司 一种建组方法和装置、交易方法和系统
US10938573B2 (en) * 2018-11-06 2021-03-02 Accenture Global Solutions Limited Distributed transaction processing
ES2870657T3 (es) 2018-12-21 2021-10-27 Advanced New Technologies Co Ltd Verificación de integridad de los datos almacenados en una cadena de bloques de consorcio utilizando una cadena lateral pública
JP6921266B2 (ja) * 2018-12-21 2021-08-18 アドバンスド ニュー テクノロジーズ カンパニー リミテッド パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること
WO2020138606A1 (ko) * 2018-12-28 2020-07-02 연세대학교 산학협력단 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
US11012506B2 (en) * 2019-03-15 2021-05-18 Microsoft Technology Licensing, Llc Node and cluster management on distributed self-governed ecosystem
US11159308B2 (en) * 2019-03-20 2021-10-26 PolySign, Inc. Preventing an erroneous transmission of a copy of a record of data to a distributed ledger system
JP6650157B1 (ja) * 2019-05-08 2020-02-19 株式会社モールサービス 情報管理システム、情報管理方法及び情報管理プログラム
CN111275395A (zh) * 2020-01-19 2020-06-12 重庆科技学院 一种基于区块链的去中心化的企业绩效考核方法
US11915014B2 (en) * 2021-08-18 2024-02-27 Microsoft Technology Licensing Consensus based determination of stable configuration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805333A (zh) * 2005-01-11 2006-07-19 三星电子株式会社 无线网络系统中的数据安全
CN1930635A (zh) * 2003-12-30 2007-03-14 桑迪士克股份有限公司 对多个区块进行适应性确定群组以成为多个多区块单元
CN104935657A (zh) * 2015-06-15 2015-09-23 清华大学深圳研究生院 主动推送信息的方法和嵌入式节点操作系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065835A1 (en) * 2006-09-11 2008-03-13 Sun Microsystems, Inc. Offloading operations for maintaining data coherence across a plurality of nodes
US20100111298A1 (en) * 2008-10-27 2010-05-06 Advanced Micro Devices, Inc. Block cipher decryption apparatus and method
US20180315046A1 (en) * 2013-06-17 2018-11-01 Raymond Anthony Joao Apparatus and method for providing transaction security and/or account security
US9553982B2 (en) * 2013-07-06 2017-01-24 Newvoicemedia, Ltd. System and methods for tamper proof interaction recording and timestamping
WO2015175722A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US11055707B2 (en) * 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
JP5858506B1 (ja) * 2015-04-09 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
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
EP3362970A4 (en) * 2015-10-17 2019-06-26 Banqu, Inc. BLOCKCHAIN-BASED IDENTITY AND TRANSACTION PLATFORM
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
US20170132625A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
US20170132621A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
US20170213221A1 (en) * 2016-01-26 2017-07-27 Bank Of America Corporation System for tracking and validation of multiple instances of an entity in a process data network
US10447478B2 (en) * 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
US11146535B2 (en) * 2016-10-12 2021-10-12 Bank Of America Corporation System for managing a virtual private ledger and distributing workflow of authenticated transactions within a blockchain distributed network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930635A (zh) * 2003-12-30 2007-03-14 桑迪士克股份有限公司 对多个区块进行适应性确定群组以成为多个多区块单元
CN1805333A (zh) * 2005-01-11 2006-07-19 三星电子株式会社 无线网络系统中的数据安全
CN104935657A (zh) * 2015-06-15 2015-09-23 清华大学深圳研究生院 主动推送信息的方法和嵌入式节点操作系统

Also Published As

Publication number Publication date
WO2017170679A1 (ja) 2017-10-05
EP3439231A4 (en) 2019-11-13
EP3439231A1 (en) 2019-02-06
CN109219940A (zh) 2019-01-15
US20190036702A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
CN109219940B (zh) 私有节点以及私有节点中的处理方法
CN109314643B (zh) 事务处理装置以及事务处理方法
CN109313763B (zh) 层次型网络系统以及用于层次型网络系统的节点
JP6199518B1 (ja) プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
JP7241216B2 (ja) ブロックチェーンベースの暗号通貨のためのトークンを検証する、コンピュータにより実行される方法及びシステム
US10255342B2 (en) Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing
Baird et al. Hedera: A public hashgraph network & governing council
Baird et al. Hedera: A governing council & public hashgraph network
US20200051041A1 (en) System and method for arbitrating a blockchain transaction
CN110537355A (zh) 基于安全区块链的共识
CN110998631A (zh) 分布式账本技术
US11195177B1 (en) Distributed ledger systems for tracking recurring transaction authorizations
KR102627868B1 (ko) 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
CN115136543A (zh) 在区块链网络中使用的认证服务
KR20230005353A (ko) 탈중앙화된 데이터베이스에서 허가된 이벤팅
KR20210096287A (ko) 서명 가능 컨트랙트를 이용하여 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
TW202135504A (zh) 平台服務驗證技術
CN114631110A (zh) 使用区块链交易分配数字资产
JP2021077366A (ja) 情報処理装置及びプログラム

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
TA01 Transfer of patent application right

Effective date of registration: 20191028

Address after: 7-1, Jiuding, Akasaka, Tokyo, Japan

Applicant after: Bitflix blockchain Co., Ltd

Address before: Tokyo, Japan

Applicant before: Bit Flying Company

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant