CN110300973B - 联盟区块链网络的建立 - Google Patents

联盟区块链网络的建立 Download PDF

Info

Publication number
CN110300973B
CN110300973B CN201880010468.5A CN201880010468A CN110300973B CN 110300973 B CN110300973 B CN 110300973B CN 201880010468 A CN201880010468 A CN 201880010468A CN 110300973 B CN110300973 B CN 110300973B
Authority
CN
China
Prior art keywords
tee
blockchain
examples
node
network
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
CN201880010468.5A
Other languages
English (en)
Other versions
CN110300973A (zh
Inventor
M·鲁辛诺维奇
M·科斯塔
M·M·科纳
T·莫斯希布罗达
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202211344772.8A priority Critical patent/CN115618359A/zh
Publication of CN110300973A publication Critical patent/CN110300973A/zh
Application granted granted Critical
Publication of CN110300973B publication Critical patent/CN110300973B/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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00282Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being stored in the content area, e.g. program area, data area or user area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/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/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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3247Cryptographic 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 involving digital signatures
    • H04L9/3255Cryptographic 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 involving digital signatures using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Multimedia (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Abstract

所公开的技术总体上涉及区块链和其他安全技术。在技术的一个示例中,第一节点被认可。在第一节点的认可期间,预定类型的区块链或要被授权的其他安全协议代码和预定的成员资格列表被存储在第一节点的可信执行环境(TEE)中。确定来自提议的成员的成员资格列表和预定的区块链或要被授权的其他安全协议代码是否匹配。如果是,则TEE证明被用来验证与联盟的预期成员相关联的节点存储预定类型的区块链或要被授权的其他安全协议代码。在TEE证明成功后,联盟网络被引导,使得预期成员成为联盟网络的成员。

Description

联盟区块链网络的建立
背景技术
已经针对各种应用场景提出了区块链系统,包括金融业、健康护理、IoT等中的应用。例如,比特币(Bitcoin)系统被开发以允许电子现金直接从一方转移到另一方,而无需通过金融机构。比特币(例如电子硬币)由将所有权从一方转移到另一方的事务链来表示。为了转移比特币的所有权,新的事务可以被生成,并且被添加到块中的事务的堆栈中。包括新所有者的公钥的新事务可以由所有者利用所有者的私钥进行数字签名,以将所有权转移给新所有者,如新所有者公钥所表示的。
一旦块已满,该块可以用块头“加盖”,该块头是块内所有事务标识符的哈希摘要。块头可以被记录为链中的下一块中的第一个事务,创建被称为“区块链”的数学层次结构。为了验证当前所有者,可以遵循事务的区块链来验证从第一个事务到最后一个事务的每个事务。新所有者只需要具有与传输比特币的事务的公钥匹配的私钥。区块链可以在由安全标识(例如,公钥)表示的实体中创建所有权的数学证明,其在比特币系统的情况下是伪匿名的。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
简而言之,所公开的技术总体上涉及区块链或其他安全技术。在该技术的一个示例中,第一节点被认可。在第一节点的认可期间,预定类型的区块链或要被授权的其他安全协议代码和预定的成员资格列表可以被存储在第一节点的可信执行环境(TEE)中。可以确定来自提议的成员的成员资格列表和预定的区块链或要被授权的其他安全协议代码是否匹配。如果是,则可以使用TEE证明来验证与联盟的预期成员相关联的节点存储预定类型的区块链或要被授权的其他安全协议代码。在TEE证明成功后,联盟网络可以被引导,使得预期成员成为联盟网络的成员。
在一些示例中,区块链联盟的预期成员在建立网络之前就联盟区块链网络的某些方面达成一致,包括例如要使用的区块链协议代码、初始成员资格列表、以及区块链网络的可能的许多其他方面。预期成员中的至少一个成员可以认可验证节点(VN)。在一些示例中,每个预期成员认可至少一个单独的节点,而在其他示例中,可以使用多租户等,使得每个预期成员不需要具有其自己的单独节点。在一些示例中,认可节点应当包含与认可成员相对应的公钥和私钥,并且应当在节点的TEE中具有商定的区块链协议代码。
如上所述,在一些示例中,在建立区块链网络之前,每个成员在某些方面达成一致。例如,这些方面可以包括要使用的区块链协议、初始成员资格列表等。而且,如上所述,在一些示例中,每个成员可以认可VN,并且每个经认可的VN可以在VN的TEE中包括商定方面的指示。例如,每个经认可的VN可以包括商定的初始成员资格列表以及要使用的商定的区块链协议的指示。在VN被认可之后,可以验证存储在由每个成员认可的VN中的商定方面彼此完全相同。在验证VN中指示的商定方面是相同的之后,TEE证明可以用来验证节点中的每个节点存储商定的区块链网络协议。如果TEE证明成功,则联盟网络可以被引导,并且私钥可以被交换,所有预期成员现在是联盟网络的成员。区块链主密钥可以从成员的私钥生成。在一些示例中,然后网络的参与者可以由成员批准加入。在一些示例中,此时,网络已被建立,并且准备好接收事务。
在阅读和理解附图和本说明书之后,将理解所公开技术的其他方面和应用。
附图说明
参考以下附图描述本公开的非限制性和非穷举性示例。在附图中,除非另有说明,否则类似的附图标记在各个附图中指代类似的部件。这些附图不一定按比例绘制。
为了更好地理解本发明,将参考以下结合附图阅读的具体实施方式,在附图中:
图1是图示了其中可以采用本技术的方面的合适环境的一个示例的框图;
图2是图示了根据所公开技术的方面的合适计算设备的一个示例的框图;
图3是图示了系统的一个示例的框图;
图4是图示了验证节点的一个示例的框图;
图5A-图5C是图示用于建立区块链网络的过程的示例数据流的示图;
图6是图示了用于区块链网络的事务处理的示例过程的示图;
图7是图示了包括具有三个成员的机密联盟区块链框架(COCO)网络的系统的一个示例的框图;
图8是图示了包括COCO网络的一部分的系统的一个示例的框图,该COCO网络包括经历虚拟节点证明和密钥交换的两个虚拟节点;
图9是图示了用于将新成员添加到COCO网络的示例步骤的示图;以及
图10A-图10B是图示了根据本公开的方面的用于建立区块链网络的过程的另一示例数据流的示图。
具体实施方式
以下描述提供了用于彻底理解本技术的各种示例和实现本技术的各种示例的描述的具体细节。本领域技术人员将理解,可以在没有许多这些细节的情况下实践该技术。在某些情况下,没有示出或详细描述公知的结构和功能,以避免不必要地模糊对技术示例的描述。本公开中使用的术语旨在以其最广泛的合理方式进行解释,即使其与该技术的某些示例的详细描述一起使用。尽管下面可以强调某些术语,但是旨在以任何受限制的方式解释的任何术语将在本具体实施方式部分中明确地和具体地进行限定。在整个说明书和权利要求书中,除非上下文另有指示,否则以下术语至少采用本文明确相关的含义。下面标识的含义不一定限制术语,而仅仅提供术语的示意性示例。例如术语“基于”和“基于”中的每一个都不是排他性的,并且等同于术语“至少部分地基于”,并且包括基于附加因素的选项,其中一些可能在本文中没有描述。作为另一示例,术语“经由”不是排他性的,并且等同于术语“至少部分地经由”,并且包括经由附加因素的选项,其中一些可能在本文中没有描述。“在…中”的含义包括“在…中”和“在…上”。本文使用的短语“在一个实施例中”或“在一个示例中”不一定是指相同的实施例或示例,尽管它可以指相同的实施例或示例。特定的文本数字指示符的使用并不意味着存在较低价的数字指示符。例如记载“从包括第三个foo和第四个bar的组中选择的小部件”本身并不意味着存在至少三个foo,也不意味着至少四个bar元件。除非明确排除复数参考,否则单数的参考仅仅是为了阅读的清楚,并且包括复数参考。除非另有明确说明,否则术语“或”是包含性的“或”操作符。例如短语“A或B”表示“A、B或A和B”。如本文所使用的,术语“部件”和“系统”旨在涵盖硬件、软件或硬件和软件的各种组合。因此,例如,系统或部件可以是过程、在计算设备上执行的过程、计算设备或其一部分。
简而言之,所公开的技术总体上涉及区块链或其他安全技术。在该技术的一个示例中,第一节点被认可。在第一节点的认可期间,预定类型的区块链或要被授权的其他安全协议代码和预定的成员资格列表可以被存储在第一节点的可信执行环境(TEE)中。可以确定来自提议的成员的成员资格列表和预定的区块链或要被授权的其他安全协议代码是否匹配。如果是,则可以使用TEE证明来验证与联盟的预期成员相关联的节点存储预定类型的区块链或要被授权的其他安全协议代码。在TEE证明成功后,联盟网络可以被引导,使得预期成员成为联盟网络的成员。
在一些示例中,区块链联盟的预期成员在建立网络之前就联盟区块链网络的某些方面达成一致,包括例如要使用的区块链协议代码、初始成员资格列表、以及可能还有区块链网络的许多其他方面。预期成员中的至少一个成员可以认可节点。在一些示例中,每个预期成员认可至少一个单独的节点,而在其他示例中,可以使用多租户等,使得每个预期成员不需要具有其自己的单独节点。在一些示例中,认可节点应当包含对应于认可成员的公钥和私钥,并且应当在节点的TEE中具有商定的区块链协议代码。
如上所述,在一些示例中,在建立区块链网络之前,每个成员在某些方面达成一致。例如,这些方面可以包括要使用的区块链协议、初始成员资格列表等。而且,如上所述,在一些示例中,每个成员可以认可VN,并且每个经认可的VN可以在VN的TEE中包括商定方面的指示。例如,每个经认可的VN可以包括商定的初始成员资格列表以及要使用的商定的区块链协议的指示。在VN被认可之后,可以验证存储在由每个成员认可的VN中的商定方面彼此完全相同。在验证VN中指示的商定方面是相同的之后,TEE证明可以用来验证节点中的每个节点存储商定的区块链网络协议。如果TEE证明成功,则联盟网络可以被引导,并且私钥可以被交换,所有预期成员现在是联盟网络的成员。区块链主密钥可以从成员的私钥生成。在一些示例中,然后网络的参与者可以由成员批准加入。在一些示例中,此时,网络已被建立,并且准备好接收事务。
示意性设备/操作环境
图1是可以实践本技术的方面的环境100的示图。如所示,环境100包括经由网络130连接的计算设备110以及网络节点120。即使图1中示出了环境100的特定部件,但是在其他示例中,环境100还可以包括附加的和/或不同的部件。例如在某些示例中,环境100还可以包括网络存储设备、维护管理器和/或其他合适的部件(未示出)。图1中示出的计算设备110可以处于各种位置,包括室内、云中等。例如,计算机设备110可以在客户端侧、服务器侧等。
如图1所示,网络130可以包括一个或多个网络节点120,一个或多个网络节点120互连多个计算设备110,并且将计算设备110连接到外部网络140(例如因特网或内联网)。例如,网络节点120可以包括交换机、路由器、集线器、网络控制器或其他网络元件。在某些示例中,计算设备110可以被组织成机架、动作区域、组、集合或其他合适的划分。例如在所示示例中,计算设备110被分组为分别标识为第一、第二和第三主机集合112a-112c的三个主机集合。在所示的示例中,主机集合112a-112c中的每一个主机集合分别可操作地被耦合到对应的网络节点120a-120c,其通常被称为“架顶”或“TOR”网络节点。然后,TOR网络节点120a-120c可以可操作地被耦合到附加网络节点120,以形成分层、平面、网状或其他合适类型的拓扑中的计算机网络,其允许计算设备110和外部网络140之间的通信。在其他示例中,多个主机集合112a-112c可以共享单个网络节点120。计算设备110实际上可以是任何类型的通用或专用计算设备。例如这些计算设备可以是用户设备,诸如台式计算机、膝上型计算机、平板计算机、显示设备、相机、打印机或智能电话。然而,在数据中心环境中,这些计算设备可以是服务器设备,诸如应用服务器计算机、虚拟计算主机计算机或文件服务器计算机。此外,计算设备110可以分别被配置为提供计算、存储和/或其他合适的计算服务。
示意性计算设备
图2是图示其中可以实践本技术的方面的计算设备200的一个示例的示图。计算设备200实际上可以是任何类型的通用或专用计算设备。例如,计算设备200可以是用户设备,诸如台式计算机、膝上型计算机、平板计算机、显示设备、相机、打印机、嵌入式设备、可编程逻辑控制器(PLC)或智能电话。同样地,计算设备200还可以是服务器设备,诸如应用服务器计算机、虚拟计算主机计算机或文件服务器计算机,例如,计算设备200可以是图1的计算设备110或网络节点120的示例。计算设备200还可以是连接到网络以接收IoT服务的IoT设备。同样地,计算机设备200可以是在各个附图中示出或参考的任何设备、节点、成员或其他实体的示例,如下面更详细地讨论的。如图2所示,计算设备200包括处理电路210、操作存储器220、存储器控制器230、数据存储存储器250、输入接口260、输出接口270和网络适配器280。计算设备200的这些前面列出的部件中的每一个部件包括至少一个硬件元件。
计算设备200包括至少一个处理电路210,其被配置为执行指令,诸如用于实现本文描述的工作负载、过程或技术的指令。处理电路210可以包括微处理器、微控制器、图形处理器、协处理器、现场可编程门阵列、可编程逻辑器件、信号处理器或适合于处理数据的任何其他电路。上述指令以及其他数据(例如数据集合、元数据、操作系统指令等)可以在计算设备200的运行时间期间被存储在操作存储器220中。操作存储器220还可以包括多种数据存储设备/部件中的任何一种,诸如易失性存储器、半易失性存储器、随机存取存储器、静态存储器、高速缓存、缓冲器或用于存储运行时信息的其他介质。在一个示例中,当计算设备200断电时,操作存储器220不保留信息。相反,计算设备200可以被配置为将指令从非易失性数据存储部件(例如,数据存储部件250)传输到操作存储器220,作为引导或其他加载过程的一部分。
操作存储器220可以包括第四代双倍数据速率(DDR4)存储器、第三代双倍数据速率(DDR3)存储器、其他动态随机存取存储器(DRAM)、高带宽存储器(HBM)、混合存储器立方体存储器、3D-堆叠存储器、静态随机存取存储器(SRAM)或其他存储器,并且这种存储器可以包括集成在DIMM、SIMM、SODIMM或其他封装上的一个或多个存储器电路。这种操作存储器模块或设备可以根据信道、等级(rank)、存储体(bank)来组织。例如操作存储器设备可以经由信道中的存储器控制器230而被耦合到处理电路210。计算设备200的一个示例可以包括每个信道一个或两个DIMM,每个信道具有一个或两个等级。等级内的操作存储器可以与共享时钟、共享地址和命令总线一起操作。此外,操作存储器设备可以被组织成若干存储体,其中存储体可以被认为是由行和列寻址的阵列。基于操作存储器的这种组织,操作存储器内的物理地址可以由信道、等级、存储体、行和列的元组来引用。
尽管有上述讨论,但操作存储器220具体地不包括或涵盖通信介质、任何通信介质或本身的任何信号。
存储器控制器230被配置为将处理电路210接口到操作存储器220。例如,存储器控制器230可以被配置为在操作存储器220和处理电路210之间接口命令、地址和数据。存储器控制器230还可以被配置为从处理电路210或为处理电路210提取或以其他方式管理存储器管理的某些方面。虽然存储器控制器230被示为与处理电路210分开的单个存储器控制器,但是在其他示例中,可以采用多个存储器控制器,(多个)存储器控制器可以与操作存储器220等集成。此外,(多个)存储器控制器可以被集成到处理电路210中。这些和其他变型是可能的。
在计算设备200中,数据存储存储器250、输入接口260、输出接口270和网络适配器280通过总线240被接口到处理电路210。尽管图2将总线240示为单个无源总线,但是其他配置(诸如总线集合、点对点链路的集合、输入/输出控制器、桥接器、其他接口电路系统或其任何集合)也可以适用于将数据存储存储器250、输入接口260、输出接口270或网络适配器280接口到处理电路210。
在计算设备200中,数据存储存储器250用于长期非易失性数据存储。数据存储存储器250可以包括各种非易失性数据存储设备/部件中的任何一种,诸如非易失性存储器、磁盘、磁盘驱动器、硬盘驱动器、固态驱动器或可用于信息的非易失性存储的任何其他介质。然而,数据存储存储器250具体地不包括或涵盖通信介质、任何通信介质或本身的任何信号。与操作存储器220相反,数据存储存储器250被计算设备200采用以用于非易失性长期数据存储,而不是用于运行时数据存储。
此外,计算设备200可以包括或者被耦合到任何类型的处理器可读介质,诸如处理器可读存储介质(例如,操作存储器220和数据存储存储器250)和通信介质(例如,通信信号和无线电波)。虽然术语处理器可读存储介质包括操作存储器220和数据存储存储器250,但是在整个说明书和权利要求中的术语“处理器可读存储介质”,无论是以单数还是复数形式使用,在本文中都被定义为使得术语“处理器可读存储介质”具体地排除并且不涵盖通信介质、任何通信介质或本身的任何信号。然而,术语“处理器可读存储介质”涵盖处理器高速缓存、随机存取存储器(RAM)、寄存器存储器等。
计算设备200还包括输入接口260,输入接口260可以被配置为使计算设备200能够从用户或从其他设备接收输入。此外,计算设备200包括输出接口270,输出接口270可以被配置为提供来自计算设备200的输出。在一个示例中,输出接口270包括帧缓冲器、图形处理器、图形处理器或加速器,并且被配置为绘制用于在单独的可视显示设备(诸如,监视器、投影仪、虚拟计算客户端计算机等)上呈现的显示。在另一示例中,输出接口270包括可视显示设备,并且被配置为绘制和呈现用于观看的显示。
在所示示例中,计算设备200被配置为经由网络适配器280来与其他计算设备或实体通信。网络适配器280可以包括有线网络适配器,例如以太网适配器、令牌环适配器或数字订户线(DSL)适配器。网络适配器280还可以包括无线网络适配器,例如Wi-Fi适配器、蓝牙适配器、ZigBee适配器、长期演进(LTE)适配器或5G适配器。
尽管计算设备200被图示为具有以特定布置配置的某些部件,但是这些部件和布置仅仅是可以采用该技术的计算设备的一个示例。在其他示例中,数据存储存储器250、输入接口260、输出接口270或网络适配器280可以直接被耦合到处理电路210,或者经由输入/输出控制器、桥接器或其他接口电路系统而被耦合到处理电路210。该技术的其他变型是可能的。
计算设备200的一些示例包括:被适配为存储运行时数据的至少一个存储器(例如,操作存储器220);和分别被适配为执行处理器可执行代码的至少一个处理器(例如,处理单元210),其响应于执行来使计算设备200能够执行动作。
示意性系统
图3是图示用于区块链联盟的系统(300)的一个示例的框图。系统300可以包括网络330、VN 351-353、成员设备341-343和参与者设备311-313。每个VN 351-353包括对应的TEE 361-363。
成员设备341-343、参与者设备311-313和/或VN 351-353中的每一个可以包括图2的计算设备200的示例。图3和说明书中的图3的相应描述出于说明目的说明了示例系统,示例系统不限制本公开的范围。
网络330可以包括一个或多个计算机网络,包括有线和/或无线网络,其中每个网络可以是例如无线网络,局域网(LAN),广域网(WAN),和/或诸如因特网的全球网络。在互连的LAN集合(包括基于不同层次结构和协议的LAN)上,路由器用作LAN之间的链路,使消息能够从一个LAN发送到另一个LAN。此外,LAN内的通信链路通常包括双绞线或同轴线缆,而网络之间的通信链路可以利用模拟电话线、全部或部分专用数字线路(包括T1、T2、T3和T4)、综合业务数字网(ISDN)、数字订户线(DSL)、无线链路(包括卫星链路)或本领域技术人员已知的其他通信链路。此外,远程计算机和其他相关电子设备可以经由调制解调器和临时电话链路来远程连接到LAN或WAN。网络330可以包括各种其他网络,诸如使用诸如6LoWPAN、ZigBee等本地网络协议的一个或多个网络。一些IoT设备可以经由网络330中的不同网络而不是其他IoT设备来连接到用户设备。基本上,网络330包括信息可以通过其在VN 351-353、成员设备341-343和参与者设备311-313之间传播的任何通信方法。虽然每个设备或服务被示出为被连接到网络330,但这并不意味着每个设备与所示的每个其他设备通信。在一些示例中,示出的一些设备/服务仅经由一个或多个中间设备来与示出的一些其他设备/服务通信。此外,尽管网络330被图示为一个网络,但是在一些示例中,网络330可以取而代之包括多个网络,该多个网络可以彼此连接或可以不彼此连接,其中所示设备中的一些设备通过多个网络中的一个网络彼此通信,并且所示设备中的其他设备用多个网络中的不同网络相互通信。
在一些示例中,成员设备341-343是成员用于在网络330上进行通信的设备,诸如用于成员与其对应的VN之间的通信,例如以认可VN。在一些示例中,参与者设备311-313是成员用于在网络330上进行通信的设备,例如以请求事务。
在一些示例中,VN 351-353是在正常操作期间验证和处理提交的区块链事务并执行链码的设备。如上所述,在一些示例中,每个VN351-353包括TEE。在一些示例中,TEE能够实现受保护区域在处理器内部的创建,使得受保护区域中的存储器被加密,并且仅在TEE内部被解密。TEE可以互换地被称为飞地(enclave),或者在一些示例中,TEE可以被视为飞地的子集。TEE证明可以用于验证在TEE中运行的代码。在一些示例中,TEE允许在TEE内发生的计算的完整性以及在TEE内发生的事件的机密性。
TEE的一些示例基于硬件,而其他示例基于软件。基于硬件的TEE的示例使用基于硬件的存储器范围保护来定义TEE的地址范围。在一些示例中,对TEE的写入是加密的。在一些示例中,CPU不允许TEE的地址范围之外的任何内容以明文形式查看该地址范围,并且从TEE的地址范围中不允许的地址范围区域外部进行写入。
系统300可以包括比图3中图示的更多或更少的设备,其仅作为示例示出。
图4是图示VN 451的一个示例的框图,VN 451可以与例如参与者411和/或认可方441通信。VN 451可以包括TEE 461、区块链服务471和磁盘存储装置472。TEE 461可以包括区块链协议465、机密联盟(COCO)区块链框架应用编程接口(API)466和COCO核心467。
区块链服务471可以包括执行用于维持区块链系统的可用性和持久性的功能的软件。例如,当TEE中可用的存储装置不足以存储所有数据时,或者在其他合适的情况下,磁盘存储装置472可以包括加密的区块链数据和元数据。区块链协议465可以包括商定的区块链协议代码。在一些示例中,COCO核心467是核心COCO框架代码,其在下面更详细地解释。在一些示例中,COCO API 466是COCO框架的API。
VN 451可以在网络上与其他VN、一个或多个参与者和/或一个或多个认可方(包括例如参与者411和认可方441)通信,其中认可方441是认可VN 451的成员。
在一些示例中,TEE外部的VN中的所有内容都被建模为不可信的。在一些示例中,TEE外部的VN的部分用于维持系统的可用性和持久性。在一些示例中,在参与者或认可方与用于安全通信的TEE之间存在安全套接层(SSL)、传输层安全性(TLS)或其他安全隧道,其中TEE外部的VN中的元件是用于安全通信的直通。
在一些示例中,TEE中的区块链协议的生命周期由在TEE内部运行的软件基于成员的指令并且稍后基于该联盟(例如仲裁集)的决策作为一个整体来被控制,如下面更详细地讨论的。
如下面更详细讨论的,尽管未在图4中示出,但在一些示例中,TEE被分成两个单独的受保护区域,一个具有区块链API,另一个运行区块链协议,它们之间具有安全连接。
示意性处理
为清楚起见,本文描述的过程是根据由特定设备或系统部件以特定序列执行的操作来描述的。然而,应注意,其他过程不限于所述序列、设备或部件。例如某些动作可以以不同的序列、并行地、被省略地执行,或者可以通过附加的动作或特征来补充,无论本文是否描述了这种序列、并行、动作或特征。同样地,本公开中描述的技术中的任何技术可以被结合到所描述的过程或其他过程中,无论该技术是否结合过程进行具体描述。所公开的过程还可以在其他设备、部件或系统上或由其他设备、部件或系统执行,无论本文是否描述了这种设备、部件或系统。这些过程还可以以各种方式体现。例如它们可以体现在制品上(例如作为在处理器可读存储介质中存储的处理器可读指令),或者作为计算机实现的过程来执行。作为替代示例,这些过程可以被编码为处理器可执行指令并且经由通信介质进行传输。
图5A-图5C是图示用于建立联盟区块链网络的过程(520)的示例数据流的示图。
在所示示例中,首先发生步骤521。在步骤521处,在一些示例中,区块链联盟的预期成员在建立网络之前就联盟区块链网络的某些方面达成一致。在一些示例中,商定的方面可以包括以下一项或多项:初始成员将是谁、批准在网络的VN的TEE中执行什么代码、哪个或哪些处理器是在网络的VN中可接受的、什么构成接受的TEE、区块链码的什么软件版本将被执行等。
如所示,在一些示例中接下来发生步骤522。在步骤522处,在一些示例中,每个预期成员认可至少一个单独的VN。在一些示例中,作为验证的一部分,预期成员将商定的代码存储在认可的VN的TEE中,并且将公钥/私钥对(分别为PBK和KBK)存储在认可的VN的TEE中。商定的方面中的一些方面还可以被存储在VN中,诸如商定的成员资格列表以及在TEE中执行的商定代码的标识。
在一些示例中,步骤522可以以与上述不同的方式执行。例如在某些示例中,并非每个预期成员都认可单独的VN。例如在一些示例中,仅认可一个VN。
如所示,在一些示例中接下来发生步骤523。在步骤523处,每个VN发现网络中的其他VN。在一些示例中,仅存在一个VN,并且不执行步骤523。
如所示,在一些示例中接下来发生步骤524。在步骤524处,在一些示例中,从联盟的每个预期成员接收以下内容:多个成员资格列表、以及来自该联盟的多个预期成员的多个授权。在一些示例中,授权是与预定类型的协议代码相关联的指示。在一些示例中,成员资格列表和授权由VN中的每个VN发送,并且每个VN接收由每个其他VN发送的成员资格列表和授权。在其他示例中,仅存在一个VN,并且从预期成员的成员设备接收成员资格列表和授权。
如所示,在一些示例中接下来发生决策框525。在决策框525处,在一些示例中,确定来自预期成员中的每个预期成员的成员资格列表是否彼此匹配。如果不是,则在一些示例中,该过程前进到返回框,其中其他过程被恢复。然而,如果在决策框525处的确定是肯定的,则在一些示例中,该过程移动到决策框526。
在决策框526处,在一些示例中,确定来自预期成员中的每个预期成员的协议代码类型的授权是否彼此匹配。如果不是,则在一些示例中,该过程前进到返回框,其中其他过程被恢复。然而,如果在一些示例中,决策框526处的确定是肯定的,则该过程移动到决策框527。
在框527处,TEE证明可以用来验证与联盟的预期成员相关联的节点存储要在TEE上运行的商定的授权协议代码。如果TEE证明是否定的,则在一些示例中,该过程移动到返回框。否则,在一些示例中,该过程前进到框528。
在框528处,可以在VN之间交换私钥。如图所示,在一些示例中接下来发生决策框529。在框529处,可以从私钥中的每个私钥生成区块链主密钥(BMK)。如所示,在一些示例中,接下来发生决策框530。在框530处,在一些示例中,参与者由成员被批准加入。在一些示例中,参与者被允许请求事务并查看他们被授权查看的事务,但是没有成员的其他权利,诸如对改变成员资格、更改所使用的协议区块链码等进行投票的投票权。在一些示例中,网络现在准备好处理来自参与者的事务。然后该过程进入返回框。
在一些示例中,公共网络可以允许任何参与者提交事务,但是非公共网络要求规定参与者,这是VN的认可方的另一权限。参与者可以由公钥/私钥对表示,该公钥/私钥对被允许提交由网络执行的事务。参与者集合不一定包括成员,但在某些示例中其包括成员。成员可以通过向其VN提交参与者的公共事务密钥(PTK)来授权参与者,并且VN可以与网络共享其规定的参与者的列表。如果网络要求参与者被多于一个成员批准,则网络可以使用类似于批准新成员的协议,如下面更详细地讨论的。
在一些示例中,图5A-图5C的过程建立可以利用TEE以及许可的成员资格模型来实现协议的网络,该协议利用支持任何机密性模型来递送中央数据库事务吞吐量。根据网络中使用的一致性算法,事务也可以实现近中心数据库延迟。网络的一些示例不需要中央可信管理机构,并允许对区块链进行分散验证。网络的一些示例的机密性属性能够实现区块链协议,区块链协议包括:以明文存储事务、链码和链码状态;仅向相关方显示信息;或其组合。
在一些示例中,链码不需要由网络执行多于一次,链码可以是非确定性的,并且链码可以包括与外部系统的交互。在一些示例中,区块链还可以被构建为具有针对试图妥协完整性和机密性的敌对参与者的不同级别的防御,从针对单个流氓成员的保护,到N个中的M个投票,到要求所有成员就状态改变达成一致。网络可以容纳任何区块链抽象概念、任何区块链协议和任何分类账,并且可以能够集成任何类型的现有区块链技术。本文中,关于N个中的M个投票,N表示成员的总数,M表示用于在投票中建立仲裁集的成员的数目。
网络的示例可以使得能够在不改变成员之间的信任假设的情况下改进区块链的性能特征。网络的示例可以允许数据在被放置到区块链时保持私密,使得仅相关方可以查看事务。网络的示例可以使得在区块链内部运行的代码是非确定性的,从而例如每次可以产生不同的结果。网络的示例可以在不引入不必要的复杂性、不引入附加的显著性能开销、或不引入非自然信任假设的情况下实现这种结果。
网络的示例利用网络的VN中的TEE证明,使得TEE内部的代码可以信任接受操作系统,并且TEE的操作环境中的TEE周围的其他用户模式代码完全不可信任,但TEE仍然可以通过依赖硬件强制隐私(例如,通过利用或以其他方式采用软件保护扩展、平台安全处理器、安全执行环境等)以可信方式操作,并且TEE可以通过建立到TEE之外的某个端点的安全连接来在外部投射信任。在一些示例中,这允许在TEE内发生的计算的完整性和TEE内发生的事件的机密性。网络的示例使用与TEE相关联的信任作为区块链系统中的信任假设的构建块。
在一些示例中,网络中的每个VN完全由网络信任,因为以下事实:其他VN可以通过其认可成员来验证VN的认可,并且使用VN正在执行由成员资格批准的代码的TEE证明。如前所述,VN可以通过对认可的类似的过程建立彼此之间的可信连接,其中以在VN证明VN的代码是在可信TEE中运行的可信版本的事实以及它具有相同的成员资格列表的事实之后,其他VN发布了他们认可成员的KBK。在一些示例中,可以信任作为来自另一节点的输入提供的一个节点的输出,因为生成输出的代码被证明是先前由成员资格批准的可信代码。在一些示例中,区块链的所有内容都被加密,并且区块链的内容仅在TEE内用有效证明被解密,这能够实现机密性。此外,具有有效证明的TEE中的代码可以是非确定性的——因为TEE是可信的,所以在这种示例中不需要其他节点再现其他节点的结果。
在一些示例中,VN根据机密联盟(COCO)区块链框架操作,其允许使用任何合适的区块链协议,并且允许任何合适的共识协议与COCO框架结合使用。尽管COCO中有“机密”一词,但COCO框架的一些示例包括机密性,而COCO框架的一些示例不包括机密性。在一些示例中,COCO框架不被独立使用,而是与例如区块链协议和由成员选择的共识协议结合使用。在一些示例中,COCO框架是在VN中操作的代码,其用于建立区块链网络,实现任何区块链和共识协议、任何区块链分类账、任何区块链抽象以及任何合适的区块链技术的使用。在一些示例中,大多数COCO代码被执行TEE,但是COCO的一些外围方面可以在TEE之外执行,如下面更详细地讨论的。在一些示例中,COCO框架本身不定义区块链分类帐和实际区块链事务处理,但是允许使用任何合适的分类帐和区块链协议,并且能够实现事务的机密属性,管理信任假设,允许链码仅由网络执行一次,允许链码是非确定性的,并允许链码包括与外部系统的交互。COCO框架还可以包括针对试图妥协完整性和机密性的敌对参与者的不同级别的防御,从针对单个流氓成员的保护,到“N中的M个”投票,到要求所有成员就状态变化达成一致。根据在VN中的每一个VN上执行的COCO框架操作的VN网络可以被称为COCO网络。
如上所述,在一些示例中,成员最初就某些批准达成一致,包括例如成员将是谁、批准在TEE中执行什么代码、哪个或哪些处理器是可接受的、什么构成一个已接受的TEE、使用什么COCO框架、区块链码的什么软件版本将被执行。此外,如上所述,在一些示例中,最初,每个成员启动至少一个VN。在一些示例中,每个成员维护至少一个VN,VN中的每一个VN参与区块链网络的事务处理和共识协议。在其他示例中,每个成员不一定维持其自己的VN。
在一些示例中,某些初始批准需要一致同意以便建立网络,并且其他批准可能仅需要预期成员中的仲裁集之间的协议,或者可以基于共识协议来确定初始批准。在一些示例中,如果成员希望某个初始批准(诸如初始成员资格列表)为要求所有成员的成员资格列表相同,则在节点认可时,成员可以包括在TEE中操作的代码,使得只有如果所有成员资格列表都匹配,节点才将加入网络。
在一些示例中,在正常操作期间,VN验证并处理提交的事务,并执行链码。成员可以将他们信任的区块链协议实现的版本部署到可信执行环境(TEE),并且一旦区块链码证明其是该成员信任的代码并且它在同样被成员信任的TEE中执行,则成员通过为其规定它们的公共和私有区块链密钥(分别为PBK和KBK)来认可VN。在一些示例中,VN的所有者被认为是其认可方,并且认可方可以通过提交成员的公共区块链签名密钥来更新VN信任的成员资格列表。
在一些示例中,成员资格和协议更新以及区块链和链码状态的更新需要达成共识。在一些示例中,使用的一致性算法是用于建立网络的商定参数之一。在一些示例中,每个VN完全信任其已建立可信连接的所有其他VN。因此,在一些示例中,只要区块链更新与VN维护的现有状态不冲突,其就可以明确地被接受;在这些示例中,只有在存在冲突更新的可能性时才需要明确的共识协议。在各种示例中,网络可以通过多种方式实现共识,但是在一些示例中,网络不需要浪费的工作证明、导致延迟的时间限制、或者可能不公平的利益证明算法。
在一些示例中,共识依赖于Paxos或许多类Paxos共识算法中的一个,当网络由相对少量的共识参与者组成时,这是可行的。在一些示例中,在TEE中执行的区块链码实现了共识,并且因为代码是可信的,所以不需要防御诸如恶意消息的拜占庭(byzantine)故障。在一些示例中,允许Paxos设置为增长以适应每个成员的至少一个VN,但是在一些示例中,不包括多于一个,以便将共识参与者集合保持为小以获得最大效率。在一些示例中,Paxos类型的共识用于实现集中式数据库的高可用性,因此示例小型网络可以使用它来实现数据库级吞吐量和延迟。这种方案可以确保存在由网络的大多数同意的区块链状态的一个版本。
图6是示出用于区块链事务处理的过程(660)的示例数据流的示图。
首先,参与者可以提交事务。在一些示例中,使用BMK加密事务。
在一些示例中,可以使用一致性算法来选举VN领导者,并且VN领导者接收事务,提交事务,并且将事务广播到其他成员。(VN领导者可以互换地被称为主VN。)
在一些示例中,网络中的任何VN可以接受和处理事务,并且使用冲突解决协议。一个可能的示例冲突解决协议可以建立在使VN标记具有随机生成的数(使用TEE的随机性设施以确保值的随机性)的区块链状态的最小预期冲突更新的基础上。在一些示例中,当VN接收到冲突的事务时,它接受具有最高标记的事务,并且一旦它接收到针对事务的1/2N+1个确认,就认为它被提交并将其附加到其持久区块链的副本。在一些示例中,VN跟踪其收到的尚未达成多数商定的所有事务,并丢弃与提交的事务冲突的任何事务(例如表示成员令牌的双倍或超支的事务)。
在一些示例中,基于共识协议将所接收的事务转发到用作主设备的VN。在该示例中,然后,主VN接收事务。
接下来,根据一致性算法、冲突解决算法等,要处理事务的VN可以通过执行事务的代码来处理事务。在一些示例中,主VN然后解决任何冲突。在一些示例中,TEE内的所有数据都是纯文本的。在一些示例中,TEE之外(磁盘/网络)的数据由BSK签名并由BMK加密。在一些示例中,每个VN存储分类帐的完整副本,TEE内的数据是纯文本,并且TEE外部的数据(诸如磁盘上的数据或通过网络传送的数据)由BSK签名并由BMK加密。
在其他示例中,每个VN不需要存储分类帐的副本。在其他示例中,分类帐可以被存储在外部存储云服务中或本地存储阵列中。
接下来,VN可以将事务和事务状态广播到其他VN。接下来,VN可以直接更新区块链状态。在一些示例中,由于信任,VN不需要进行重新计算以进行验证,并且直接更新区块链状态。
图7是示出了包括具有三个成员和三个对应VN的示例COCO网络(700)的系统的示例的框图。图7示出了示例COCO网络,其中已经规定了三个VN,每个VN由不同的成员规定。
成员i的公钥被描绘为PBKmi,以及其私钥为KBKmi。图7的示例中的VN已建立可信连接并共享这些密钥。
在一些示例中,一旦建立了具有由VN表示的大多数成员的可信网络,就可以实现使用高效的一致性算法的区块链协议的基础,其中单个VN可以代表整个网络使得其他节点接受事务(包括链码事务),已知它们符合区块链的规则。
在一些示例中,VN还可以单方面或通过投票方案批准参与者,包括其自己。在一些示例中,参与者没有网络投票权限,但是由于网络被规定有其公共事务密钥(PTK),所以可以提交事务。
通过利用网络的信任,VN的区块链协议代码可以在知道其遵守区块链协议规则的情况下接受来自其他VN的事务,并且提交不与已经提交的任何事务冲突的任何事务。在一些示例中,如果事务与另一个未提交的事务冲突,则VN使用共识协议来确定哪个事务获胜,并且大多数VN将快速收敛于获胜事务。此外,因为VN的执行可以由TEE保护免受外部检查,所以它可以实现任何机密性模型,包括仅允许作为事务参与者的成员来查看事务。
在一些示例中,VN通过使用一对区块链公钥和私钥(BPK和BSK)来保护外部存储的区块链状态的完整性,并且可选地通过使用从成员的KBK的集合导出的区块链主密钥(BMK)来保护其机密性。在一些示例中,出于该原因,KBK在网络的VN之间共享。在一些示例中,BMK特定于成员资格集合,并且灵活的N中的M个的方案保护BMK免受少于M个串通成员的妥协。在一些示例中,当成员资格集合更新时,网络生成新的BMK以保护所有随后附加的状态。
上面的各种示例讨论了联盟区块链网络的建立和在联盟区块链网络中的事务处理。在一些示例中,成员资格、协议代码、共识代码、处理器和其他参数是固定的并且不能改变。在其他示例中,可以通过成员投票来改变这些参数中的一个、一些或全部。如上所述,在一些实例中,BMK只能在N个成员的M的同意下恢复。类似地,上面讨论的参数中的一些或全部的改变可以由N个中的M个投票改变,其中N是当前的总成员数,并且M是从1到N的数目,其是用于改变参数的仲裁集,其中M是最初建立联盟区块链网络时商定的参数之一。如上所述,在一些示例中,成员具有投票权限,而非成员的参与者没有投票权限。
在一些示例中,添加新参与者还需要N个中的M个投票。在其他示例中,成员可以单方面添加新参与者。额外的新参与者是否需要投票可以是商定的初始参数之一。
在一些示例中,成员有权对于批准对网络成员资格列表的添加和去除以及对网络允许参与的批准的区块链实现的集合的改变进行投票。此外,在一些示例中,对于要求参与者由成员授权的网络,成员还可以批准具有向网络提交事务的许可的参与者集合。用于在成员之间达成一致的协议(包括要求多个、多数或一致投票)可以通过区块链协议代码来实现。
在一些示例中,每个成员用公钥/私钥对(PBK和KBK)表示,成员用其以通过认可过程来引导其在COCO中的成员资格。在一些示例中,认可表示成员完全信任网络的区块链协议的特定实现的事实。在一些示例中,VN在可信执行环境(TEE)中执行经认可的区块链码,并且每个VN仅由一个成员认可。例如,存储在区块链上的代码可以作为事务的一部分执行。在一些示例中,作为认可操作的一部分,成员与VN共享成员的KBK。在这些示例中,因为成员与VN共享成员的KBK,出于安全原因,成员信任区块链协议实现和TEE不泄漏密钥可以是有用的。该信任可以通过区块链协议的仔细审查及其实现,并基于TEE妥协的威胁模型和风险来实现。在一些示例中,每个成员认可至少一个VN,但是认可多个节点可以提供高可用性。
认可可以向认可成员提供授权VN将参与的区块链协议实现的哪些其他成员和其他实现的专有能力。在一些示例中,VN将接受成员资格更新和批准以信任区块链协议实现,而不仅仅是来自VN的认可成员。在一些示例中,为了保护所有VN的外部通信,VN使用TEE生成公钥/私钥对,并在外部共享其公钥。成员可以使用VN的公钥来与VN建立安全隧道,包括VN不是认可方的预期成员。然后,VN可以使用VN的KBK的拥有证明来验证VN请求。
一种类型的VN请求是授权网络成员,如上所述,在一些示例中,只有节点的认可方可以执行。在一些示例中,为了授权成员,认可方提交该成员的PBK。在一些示例中,一旦填充了认可方的密钥和由其PBK标识的网络成员的列表,VN就可以加入网络。在一些示例中,加入是VN与网络的其他VN建立可信连接的行为。网络可以使用适合网络要求的发现协议来为VN提供查找网络的其他VN和与网络的其他VN连接的能力。例如,认可方可以通过提交节点的DNS名称、IP地址或特定于区块链网络的发现和连接系统的标识符来提供节点列表。
如上所述,在一些示例中,与另一个VN建立可信连接与创建在通信VN的公钥上构建的相互认证的安全隧道一起开始。作为信任建立的一部分,在某些示例中,VN证明它拥有其认可方的KBK。在一些示例中,这确保了远程节点已被授权成员认可,因为隧道证明节点可以提供引用VN的公钥的认可,其由与成员的PBK匹配的成员的KBK签名。
在一个示例中,区块链网络强制执行以下规则:希望从区块链读取数据的客户端必须在TEE中运行,并在客户端发出读取请求时提供证明以及客户端的用户令牌。在该示例中,由区块链网络的成员设置的配置可以通过TEE证明强制只有所选择的客户端应用可以检索数据。该示例使最终用户能够查看分类帐中的数据(仍受诸如RBAC许可的其他机密性设置限制),但不能随机复制数据或分发数据;相反,只能通过批准的客户端应用查看数据,这些应用可能进一步限制复制/粘贴、保存、屏幕截图或导出功能。
图8是示出系统(800)的示例的框图,该系统包括COCO网络的一部分,该COCO网络包括经历虚拟节点证明和密钥交换的两个虚拟节点,作为加入网络的新成员的最终部分。
图8示出了VN证明和密钥交换的示例,作为经由节点正在运行的区块链协议实现的精确版本的交换以及成员资格列表的比较来在节点之间建立信任的最后步骤。节点可以使用TEE证明来完成此操作,其包括证明节点正在特定TEE中运行特定实现。
在一些示例中,一旦VN确定远程节点正在VN也信任的TEE中执行可信代码,则VN检查以确保远程认可方在本地成员资格列表中,并且如果是,则信道被认为是可信的,VN将接受来自远程节点的区块链更新。在一些示例中,这意味着VN确信远程节点不会暴露或泄露区块链协议不允许的数据。在一些示例中,通过使VN通过其PBK的哈希(例如加盐哈希)而不是PBK本身来引用成员,可以使商定的成员集本身保密。在一些示例中,一旦建立了可信连接,VN就共享VN的认可方的KBK。
在一些示例中,区块链有两种演进方式:如上所述的成员资格更新和区块链码更新。当网络同意协议更新时,这可能导致网络希望接受区块链码的一个或多个新实现。希望更新区块链码的成员可以关闭其现有的VN,并启动新的VN来代替现有的VN。成员可以选择允许新VN信任先前版本,或仅信任新版本。信任现有版本可以确保在新版本不具有N个中的M个大多数的情况下可以继续处理事务,但是如果先前的代码由于某种原因被认为是不可靠的,或者如果维护协议兼容性的复杂性太大,则可以取而代之信任新版本而不是现有版本。但是,更新期间的跨版本不兼容可能会中断事务处理。
在一些示例中,在表示每个成员的VN之间建立信任导致每个节点最终获得所有网络成员的KBK的副本。在一些示例中,节点将接受使用该节点被提供给参与的成员的私有签名密钥所签名的区块链更新,无论节点是直接从成员的VN还是从另一个可信任的VN接收事务。
向网络添加新成员可能要求VN的认可方通过规定新成员的PBK来将其提议给网络。然后,认可方可以让其他VN知道该提议,以及认可方投票准许新成员进入网络的事实。当其他成员提出相同的成员时,他们的VN可能会注意到投票并让网络知道。在一些示例中,VN不接受成员提出的区块链更新,直到成员的某些阈值投票允许该成员为止。在各种示例中,这可以是一致的决策,需要N/2+1票或一些其他阈值。
图9是示出用于将新成员添加到联盟区块链网络的过程(980)的示例的示图。图9示出了具有两个成员(m1和m2)的网络添加第三成员m3所遵循的步骤的示例。图9的步骤的一个示例如下进行。在(a)中,成员m1提议新成员m3。成员的VN注意到该提议并且成员的认可方投票,然后将该提议传递给其他VN。m1的VN注意到提议和m1的准许投票。然后在(b)中,成员m2提议新成员,并且两个VN都注意到投票,该投票现在是一致的,因此在(c)每个VN都添加了新成员,并且一旦如此,VN认为新成员在投票中并将接受来自新成员的区块链更新。
在一些示例中,在任何时间,成员可以请求区块链网络(意味着VN)将其从成员集合中去除。然而,在一些示例中,根据网络的成员资格规则,当表示除被去除者之外的成员的多数或所有VN同意去除成员时,VN将仅去除成员。在一些示例中,大多数(≥1/2N+1,其中N是初始成员资格计数)(注意去除成员没有投票权(因此有效≥1/2N))被要求去除成员,以便防止恶意成员指示其VN去除所有其他成员,这将使其具有解密所有区块链的状态的能力(下面更详细地讨论区块链加密方案的示例)。在一些示例中,当成员被去除时,VN销毁成员的私有对称加密密钥的VN的短暂副本,并触发新成员资格元数据块的生成。
成员还可以请求密钥翻转操作,由此更新成员资格元数据以反映新的公钥,并且成员的旧KBK被用新的公钥加密,并被存储在成员资格元数据中。在一些示例中,一旦翻转,网络将不接受引用旧KBK的任何事务。然而,当成员证明他们可以访问新密钥时,网络可以允许成员访问与旧密钥相关联的任何事务,这可以使成员能够完全访问他们的数据,同时防止旧密钥的访问。
一旦建立了COCO网络,网络就可以接受来自参与者的事务。
在一些示例中,除了COCO的成员资格、可信连接建立和共识的选项之外,COCO支持任何区块链协议。例如区块链码可以实现以太坊、Corda、链核心(Chain Core)或超级账本(Hyperledger)系统。但是,现有系统不被设计为利用COCO的一些示例的信任和机密性的优点。
在一些示例中,因为COCO VN是完全可信任的,所以网络上的其他VN可以隐含地接受它从可信任的VN接收的任何区块链状态更新,因为它符合区块链的协议并且被保护免受TEE的外部篡改。这允许链码的一次性和非确定性的执行的可能性。例如链码可以使用TEE的非确定性来生成用于彩票或解决冲突的随机数。链码还可以调用外部系统,这可以用链码信任的外部系统代替对链内代码的需要,其优点是在VN接受链码事务时可以引用外部系统。链码还可以执行具有副作用的外部操作,只要如果有任何可能由于替代冲突而导致这种操作将被过时或者在VN中的大多数发生事务之前事务被丢失,则补偿操作可以撤消操作。
利用COCO信任基础,可以构建任何机密性模型。
例如首先,参与者可以通过用成员的KBK的PBK加密事务来确保网络(或者更具体地,其提交事务的VN)将是机密的。在这些示例中,只有VN的代表成员已经认可的网络的VN才能访问事务的内容,其可以包括敏感信息。对于其中参与者希望仅向作为具有附加成员的网络的一部分的VN揭示事务的网络,事务可以用唯一密钥被加密,该密钥本身用这些成员的PBK的N个中的M个编码被加密。
在一些示例中,在成员将其自身与另一个或多个成员之间的事务指定为机密的情况下,VN全部以明文处理事务,但是事务本身存储在用BMK加密的区块链中。在一些示例中,VN然后仅允许事务中涉及的成员查看事务。相同的模型可以应用于链码和链码状态。
在其他示例中,相反,大多数成员可以请求揭示另外的机密事务,这对于联盟随后需要完整查看历史活动的情况可以是所期望的。其他示例允许规定审计成员。就像新参与成员的N个中的M个接受一样,N个中的M个方案可以使成员能够同意许可成员具有特殊权限,例如能够阅读所有事务,甚至是标记为机密的事务。
示例性区块链网络的一个方面是VN如何实现共识。可以使用多播、广播树或由成员资格认为对成员资格规模和VN通信网络的拓扑高效的任何其他协议来执行遍及网络的分发事务。在一些示例中,VN的可信特性意味着可以如消息可以被分发到大多数节点一样快速实现共识。
在一些示例中,在任何VN可以接受事务的模型中,每个VN可以构建不同版本的区块链。在任何时候,VN可以具有以及由VN的多数子集N提交的一些事务以及由不同子集N提交的其他事务。在一些示例中,因为最终所有节点都收敛到所提交事务的公共视图,即使块的顺序是唯一的,每个VN的提供的区块链状态也是区块链状态的正确表示。
COCO网络可以用其他共识协议构建,但是一些示例使用共识协议,其可以有利地利用从可信VN接收的消息本身被信任的事实来实现高效协议和最大吞吐量。
在一些示例中,事务处理如下进行。首先,参与者提交事务。参与者提交的事务可以用BMK加密,并且基于共识协议被转发到用作主设备的VN。(主VN可互换地被称为领导者VN。)在该示例中,主VN然后接收事务,并通过执行事务的代码来处理事务。在此示例中,主VN然后解决任何冲突,并将事务和事务的状态广播到其他VN。例如每个VN存储分类帐的完整副本,TEE内的数据为纯文本,并且TEE外部的数据(诸如磁盘上或通过网络传送的数据)由BSK签名并由BMK加密。然后,VN可以直接更新事务状态。
在其他示例中,每个VN不需要存储分类帐的副本。在其他示例中,分类帐可以被存储在外部存储云服务中或内部存储阵列中。
COCO区块链的持久状态(意味着写入持久存储装置的状态)可以包括三种类型的数据:元数据、事务和链码状态。链码代码可以被认为是链码状态的一部分。可以使用一对区块链公钥(BPK)和区块链私钥(BSK)来保护持久状态的完整性。BPK可以用于验证由对应BSK签名的块状态摘要。在一些示例中,链仅附加有使用BSK签名的摘要绑定到链的先前部分的链的任何附加项。如果BSK泄漏,流氓或串通成员可能能够妥协区块链的完整性,这就是为什么在一些示例中,BSK在TEE中被生成并且专门密封在TEE内。
在一些示例中,元数据包括用于完整性验证的纯文本BPK。在一些示例中,使用对称密码术利用区块链主密钥(BMK)来保护不以明文暴露的任何区块链状态的机密性。BMK还可以以受保护的方式成为区块链元数据的一部分,因为仲裁集的成员可能需要或想要在紧急情况下绕过TEE来解密和恢复区块链数据(例如在所有TEE被销毁之后进行灾难恢复)。
在一些示例中,区块链包括随时间生长的分类帐。在一些示例中,区块链分类帐可能变得太大而不能被存储在TEE中,并且取而代之被存储到磁盘。在一些示例中,当私有数据被存储到磁盘时,BPK和BSK使数据能够被存储在磁盘上,并且一旦数据被读回,就验证数据没有被篡改。在一些示例中,BMK可以用于加密存储到磁盘的私有数据,因此即使当数据被存储在磁盘上,数据也不能被查看。
如在一些示例中所使用的,保护BMK的一种方案是在区块链元数据中存储针对加密到该成员的KBK的每个成员的BMK的副本。这可以防止BMK泄漏到成员之外。但是,在某些示例中,它并不能防止流氓或妥协成员泄露它。
为了防御恶意节点或串通成员,基于COCO的区块链可以使用N个中的M个的加密方案来要求必须知道某些阈值数目的成员的KBK以获得BMK。一旦VN加入了由该数目的成员认可的足够的其他VN,VN很快就可以获得访问权,但是,在某些示例中,是立即。在一些示例中,由于成员在TEE之外仅能够访问其自身的密钥,因此至少需要M个成员泄漏或共享他们的KBK以便链在VN的TEE之外被解密。
虽然M可以等于N,或者甚至可以是1,但是COCO实现的一些示例要求M至少为1/2N+1并且与成员集协议一致模型匹配,这可以确保只要多数成员集合不要串通,区块链状态的机密性受到在TEE内执行的相互信任的代码的保护。它还可以确保只要网络可以与代表至少M+1个成员的VN建立连接,它就可以操作,从而即使在成员撤销其VN或其VN与网络分区的情况下也能确保弹性。
在一些示例中,N个中的M个的方案可以如下实现。区块链的成员资格元数据块中列出的每个成员都由成员的公钥以及加密到该公钥的BMK的片段表示,如表1所示。在一些示例中,第一个元数据成员资格块在网络引导期间被创建,将BMK加密到初始成员资格集合。当额外的成员被添加到网络时,COCO的一个示例采取步骤以通过创建新的BMK来调整M和N,在更新的N个集合的成员中对其进行分段,并附加新元数据块,新元数据块包括由新的BMK加密的先前BMK,以及更新的成员资格列表两者。
Figure BDA0002157442630000281
表1.持久性区块链中BMK的N个中的M个加密
如前所述,直到成员资格更新时的区块链状态可能经受根据区块链的N个中的M个的实现的先前成员资格集合中的串通集合的妥协。但是通过创建新的BMK,如果区块链实现了一个,那么区块链时间线中从该点开始的所有区块链状态可以受到更新的成员资格集合的保护,包括更新的N个中的M个的方案。
为了防止区块链回滚到先前状态,可以将链的最后添加的签名、认证码或唯一标识符存储在仅可由VN访问的可信非易失性存储中。类似地,区块链的最后添加的签名可以被包括在与成员的所有交互中,以允许成员检测将区块链回滚到先前状态的任何尝试。在某些示例中,成员在成员资格更改时翻转KBK以防止旧代码版本中的错误。在一些示例中,在某些情况下在每个成员资格版本之后重新运行证明、密钥交换或两者,诸如从代码的批准列表中去除代码版本。
在一些示例中,COCO被适配于不要求每个成员具有专用VN的模型。共享VN对于开发和/或测试、注重成本的成员、或者作为可以由云提供商或者由用作其他成员的托管代理的成员的多租户托管解决方案的基础可以是有用的。在一个示例中,所有成员依赖于由单个集中方托管的单个VN(或用于HA的VN的集合)。在集中模型的该示例中,所有成员可能需要依赖集中方来处理事务和处理成员资格更新,并且除非区块链状态被串流或导出,否则集中式基础结构可能成为区块链状态的单点故障。
在一些示例中,为了适应多租户VN,认可处理器如上所述接受成员输入,在TEE内存储每个成员的单独认可状态。在一些示例中,认可处理器仅在参与共享VN的成员之间达到仲裁集时才提交更改。
与传统的区块链实现不同,COCO VN的一些示例信任它们的对等体,从而能够实现跨VN的高效、可缩放和高性能的事务处理。
若干措施可以大体上减轻与TEE妥协相关联的风险。可以通过若干方式降低TEE妥协的可能性。降低TEE妥协的可能性的一种方式可以如下完成。每个VN分为两部分。管理者TEE可以负责私钥管理、加密处理和成员资格更新逻辑,以便实现管理者TEE所需的代码量是有界的,并且该代码不需要随每个区块链集成而变化。然后可以对该代码进行正式验证并进行大量审核,以进一步降低妥协风险。
在这种示例中,管理者TEE大体上是基于TEE的硬件安全模块(HSM),其负责VN的最可信操作,并且工作者TEE是托管区块链协议代码的单独的飞地。(在一些示例中,工作者TEE可以包括比管理者TEE大得多的代码库,并且工作者TEE的代码库随着与COCO集成的每个分类帐而变化。)在这种示例中,工作者TEE向管理者TEE发出请求,用于使用VN的私钥加密、解密和签名数据,使得如果工作者TEE妥协,攻击者就可以访问工作者TEE加载到内存中的任何纯文本数据-但它无法直接访问密钥,独立解密磁盘上的块或建议或批准成员资格更改。这个双TEE因子的示例降低了管理者TEE妥协的可能性,并降低了工作者TEE妥协的影响。
在一些示例中,网络还可以实施VN授权以参与网络是必须定期更新的租约的规则。更新过程可以要求将TEE重置为原始状态,并且可以消除攻击者可能能够获得的任何立足点。不更新租约的VN可能会从网络中隔离,因此可能会在隔离生效后阻止新区域链中添加新数据。
KBK的加密和认证功能可以分成两个单独的密钥。这种拆分可以消除VN复制身份验证私钥的需要。在一些示例中,仅需要跨VN复制加密密钥-这可以在管理者TEE妥协时消除成员认证私钥的全局暴露。
VN可以对从其他VN发送的事务进行采样,并在提交之前同步地完全验证样本。这可以确保可以快速检测到产生虚假结果的VN,从而在不显著降低性能的情况下驱动警报。类似地,单独的节点可以异步验证所有事务,如果检测到任何问题也会驱动警报。
区块链系统的各种示例利用TEE的属性,并且可以用作支持数据库级事务吞吐量和延迟的区块链实现以及灵活的机密性模型的基础。在一些示例中,许多不同的区块链协议可以有利地利用COCO框架的示例来提供具有区块链和事务机密性的高效事务处理。
通过本说明书,给出了其中成员具有其自己的VN的示例。然而,在一些示例中,如上面更详细地讨论的,多个成员可以共享相同的VN,或者甚至所有成员可以共享由所有成员认可的单个节点。
并非所有示例都包括本文所讨论的所有特征。例如某些示例不使用加密。
图10A-图10B是图示用于建立区块链网络的过程的另一示例数据流的示图。在所示的示例中,首先发生步骤1092。在步骤1092处,在一些示例中,第一节点被认可。认可可以包括:将预定类型的区块链协议代码的预定代码存储在第一节点的TEE中;在第一节点中存储联盟的第一预定成员资格列表,其中第一预定成员资格列表包括与第一节点相关联的预期成员;以及在第一节点中存储与预定类型的区块链协议代码相关联的第一授权。
如所示,在一些示例中接下来发生步骤1094。在步骤1094处,来自联盟的每个预期成员可以接收以下内容:多个成员资格列表、以及来自联盟的多个预期成员的多个授权。授权可以是与预定类型的协议代码相关联的指示。在一些示例中,成员资格列表和授权由每个VN发送,并且每个VN接收由每个其他VN发送的成员资格列表和授权。在其他示例中,仅存在一个VN,并且从预期成员的成员设备接收成员资格列表和授权。
如所示,在一些示例中接下来发生决策框1095。在决策框1095处,在一些示例中,确定来自联盟的多个预期成员的多个成员资格列表是否与第一预定成员资格列表匹配。如果不是,则过程可以进行到返回框,其中恢复其他过程。然而,如果决策框1095处的确定是肯定的,则过程可以移动到决策框1096。
在决策框1096处,在一些示例中,确定多个授权是否指示与第一授权匹配的预定类型的协议代码。如果不是,则过程可以进行到返回框,其中恢复其他过程。然而,如果决策框1096处的确定是肯定的,则过程可以移动到决策框1097。
在框1097处,TEE证明可以用来验证与联盟的预期成员相关联的节点存储与第一授权匹配的预定类型的协议代码。如果TEE证明是否定的,则过程可以移动到返回框。否则,过程可以前进到框1098。
在框1098处,在一些示例中,联盟网络被引导,使得每个预期成员是联盟网络的成员。然后,过程可以进入返回框。
结论
虽然以上具体实施方式描述了本技术的某些示例,并且描述了设想的最佳模式,但是无论上文在文本中如何详细描述,该技术都可以以多种方式实践。细节可以在实现上变化,同时仍然被涵盖在本文描述的技术中。如上所述,在描述本技术的某些特征或方面时使用的特定术语不应被视为暗示术语在本文中被重新定义为限于与该术语相关联的任何特定特征、特性或方面。一般而言,以下权利要求中使用的术语不应被解释为将技术限制于本文公开的具体示例,除非具体实施方式明确地定义了这种术语。因此,技术的实际范围不仅涵盖所公开的示例,还涵盖实践或实现技术的所有等效方式。

Claims (20)

1.一种用于区块链系统的装置,包括:
设备,包括至少一个存储器和至少一个处理器,所述至少一个存储器被适配为存储用于所述设备的运行时数据,所述至少一个处理器被适配为执行处理器可执行代码,所述处理器可执行代码响应于执行来使所述设备能够执行动作,所述动作包括:
在第一验证节点的可信执行环境(TEE)中存储预定类型的区块链协议代码的预定代码;
在所述第一验证节点中存储:联盟的第一预定成员资格列表,其中所述第一预定成员资格列表包括与所述第一验证节点相关联的预期成员和与所述预定类型的区块链协议代码相关联的第一授权;
从所述联盟的多个预期成员接收:来自所述联盟的所述多个预期成员的多个成员资格列表以及多个授权,其中所述多个授权是与所述预定类型的区块链协议代码相关联的指示;
做出关于来自所述联盟的所述多个预期成员的所述多个成员资格列表是否与所述第一预定成员资格列表相匹配并且作为与所述预定类型的区块链协议代码相关联的指示的所述多个授权是否与所述第一授权相匹配的确定;
响应于确定来自所述联盟的所述多个预期成员的所述多个成员资格列表与所述第一预定成员资格列表相匹配并且作为与所述预定类型的区块链协议代码相关联的指示的所述多个授权与所述第一授权相匹配,经由TEE证明验证与所述联盟的预期成员相关联的验证节点存储与所述第一授权相匹配的所述预定类型的区块链协议代码;以及
响应于所述TEE证明成功,引导联盟网络,使得所述预期成员成为所述联盟网络的成员。
2.根据权利要求1所述的装置,其中所述动作还包括将公钥/私钥对存储在所述第一验证节点的所述TEE中。
3.根据权利要求1所述的装置,其中引导所述联盟网络还包括生成区块链主密钥。
4.根据权利要求1所述的装置,所述动作还包括:
发现与所述多个预期成员相关联的其他验证节点;以及
从所述其他验证节点中的每一个验证节点接收私钥。
5.一种用于区块链系统的方法,包括:
认可第一节点,包括:在所述第一节点的可信执行环境(TEE)中存储预定类型的区块链协议代码的预定代码;在所述第一节点中存储联盟的第一预定成员资格列表,其中所述第一预定成员资格列表包括与所述第一节点相关联的预期成员;以及在所述第一节点中存储与所述预定类型的区块链协议代码相关联的第一授权;
从所述联盟的多个预期成员接收:来自所述联盟的所述多个预期成员的多个成员资格列表以及多个授权,其中所述多个授权是与所述预定类型的区块链协议代码相关联的指示;
确定来自所述联盟的所述多个预期成员的所述多个成员资格列表是否与所述第一预定成员资格列表相匹配并且作为与所述预定类型的区块链协议代码相关联的指示的所述多个授权是否与所述第一授权相匹配;
响应于确定来自所述联盟的所述多个预期成员的所述多个成员资格列表与所述第一预定成员资格列表相匹配并且作为与所述预定类型的区块链协议代码相关联的指示的所述多个授权指示与所述第一授权相匹配,使用TEE证明来验证与所述联盟的预期成员相关联的验证节点存储与所述第一授权相匹配的所述预定类型的区块链协议代码;以及
响应于所述TEE证明成功,引导联盟网络,使得所述预期成员成为所述联盟网络的成员。
6.根据权利要求5所述的方法,其中认可所述第一节点还包括将公钥/私钥对存储在所述第一节点的所述TEE中。
7.根据权利要求5所述的方法,其中引导所述联盟网络还包括生成区块链主密钥。
8.根据权利要求5所述的方法,进一步包括:接收与参与者相关联的公共事务密钥。
9.根据权利要求5所述的方法,其中确定来自所述联盟的所述多个预期成员的所述多个成员资格列表是否与所述第一预定成员资格列表相匹配并且作为与所述预定类型的区块链协议代码相关联的指示的所述多个授权与所述第一授权相匹配还包括确定以下至少一项中是否存在匹配:TEE的类型、处理器的类型、区块链协议代码的软件版本、或者机密联盟(COCO)区块链框架的类型。
10.根据权利要求5所述的方法,其中所述TEE包括在所述第一节点中的处理器中的至少一个受保护区域。
11.根据权利要求10所述的方法,其中所述TEE包括在所述第一节点中的所述处理器中的两个单独的受保护区域。
12.根据权利要求5所述的方法,还包括:发现与所述多个预期成员相关联的其他节点。
13.根据权利要求12所述的方法,还包括:从所述其他节点中的每个节点接收私钥。
14.根据权利要求12所述的方法,其中认可所述第一节点还包括将公钥/私钥对存储在所述第一节点的所述TEE中。
15.根据权利要求14所述的方法,还包括:通过创建在通信节点的公钥上构建的相互认证的安全隧道,与所述其他节点中的至少一个节点建立可信连接。
16.根据权利要求14所述的方法,还包括:响应于所述TEE证明成功,与所述其他节点中的每个节点交换所述私钥。
17.根据权利要求16所述的方法,还包括:
从所述其他节点中的每个节点接收私钥,其中引导所述联盟网络还包括根据所述私钥生成区块链主密钥。
18.一种处理器可读存储介质,其上存储有处理可执行代码,所述处理可执行代码在由至少一个处理器执行时实现动作,所述动作包括:
确定来自联盟的多个预期成员的多个成员资格列表是否与第一预定成员资格列表相匹配并且多个授权是否指示预定类型的安全协议代码与第一授权相匹配;
响应于确定来自所述联盟的所述多个预期成员的所述多个成员资格列表与所述第一预定成员资格列表相匹配并且所述多个授权指示所述预定类型的安全协议代码与所述第一授权相匹配,使用可信执行环境(TEE)证明来验证与所述联盟的预期成员相关联的节点存储与所述第一授权相匹配的所述预定类型的安全协议代码;以及
响应于所述TEE证明成功,引导联盟网络,使得所述预期成员成为所述联盟网络的成员。
19.根据权利要求18所述的处理器可读存储介质,所述动作还包括将公钥/私钥对存储在第一节点的TEE中。
20.根据权利要求18所述的处理器可读存储介质,其中引导所述联盟网络还包括生成区块链主密钥。
CN201880010468.5A 2017-02-07 2018-01-31 联盟区块链网络的建立 Active CN110300973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211344772.8A CN115618359A (zh) 2017-02-07 2018-01-31 联盟区块链网络的建立

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762455981P 2017-02-07 2017-02-07
US62/455,981 2017-02-07
US15/638,180 2017-06-29
US15/638,180 US10484346B2 (en) 2017-02-07 2017-06-29 Establishment of consortium blockchain network
PCT/US2018/016056 WO2018148067A1 (en) 2017-02-07 2018-01-31 Establishment of consortium blockchain network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211344772.8A Division CN115618359A (zh) 2017-02-07 2018-01-31 联盟区块链网络的建立

Publications (2)

Publication Number Publication Date
CN110300973A CN110300973A (zh) 2019-10-01
CN110300973B true CN110300973B (zh) 2022-11-04

Family

ID=63037427

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201880010516.0A Active CN110268691B (zh) 2017-02-07 2018-01-31 具有经验证的区块链和共识协议的联盟区块链网络
CN202211344772.8A Pending CN115618359A (zh) 2017-02-07 2018-01-31 联盟区块链网络的建立
CN201880010438.4A Active CN110249333B (zh) 2017-02-07 2018-01-31 联盟区块链网络的事务处理
CN201880010468.5A Active CN110300973B (zh) 2017-02-07 2018-01-31 联盟区块链网络的建立

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201880010516.0A Active CN110268691B (zh) 2017-02-07 2018-01-31 具有经验证的区块链和共识协议的联盟区块链网络
CN202211344772.8A Pending CN115618359A (zh) 2017-02-07 2018-01-31 联盟区块链网络的建立
CN201880010438.4A Active CN110249333B (zh) 2017-02-07 2018-01-31 联盟区块链网络的事务处理

Country Status (5)

Country Link
US (4) US10484346B2 (zh)
EP (4) EP3580682B1 (zh)
CN (4) CN110268691B (zh)
ES (1) ES2909088T3 (zh)
WO (3) WO2018148069A1 (zh)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817593B1 (en) 2015-12-29 2020-10-27 Wells Fargo Bank, N.A. User information gathering and distribution system
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US10484346B2 (en) 2017-02-07 2019-11-19 Microsoft Technology Licensing, Llc Establishment of consortium blockchain network
LU100069B1 (en) * 2017-02-10 2018-09-27 Univ Luxembourg Improved computing apparatus
CN107018125B (zh) * 2017-02-17 2019-08-09 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
WO2018149505A1 (en) * 2017-02-17 2018-08-23 Nokia Technologies Oy Voting-consensus distributed ledger
CN107395557B (zh) * 2017-03-28 2020-05-15 创新先进技术有限公司 一种业务请求的处理方法及装置
CN110574059A (zh) * 2017-04-11 2019-12-13 区块链控股有限公司 关于区块链的快速分布式共识
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
EP3622660B1 (en) * 2017-05-12 2023-08-30 Massachusetts Institute of Technology Systems and methods for crowdsourcing, analyzing, and/or matching personal data
US10581621B2 (en) * 2017-05-18 2020-03-03 International Business Machines Corporation Enhanced chaincode analytics provenance in a blockchain
CN107453896B (zh) * 2017-06-27 2020-08-04 创新先进技术有限公司 多重区块链网络数据处理方法、装置及服务器
JP2019012415A (ja) * 2017-06-30 2019-01-24 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
US10944546B2 (en) 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
CN112865982A (zh) 2017-07-26 2021-05-28 创新先进技术有限公司 数字证书管理方法、装置及电子设备
CN107592292B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置
US10862831B2 (en) * 2017-08-03 2020-12-08 Digital 14 Llc System, method, and computer program product providing end-to-end security of centrally accessible group membership information
US11132451B2 (en) * 2017-08-31 2021-09-28 Parity Technologies Ltd. Secret data access control systems and methods
US11943368B2 (en) 2017-11-03 2024-03-26 Microsoft Technology Licensing, Llc Provisioning trusted execution environment based on chain of trust including platform
US20190140846A1 (en) * 2017-11-03 2019-05-09 Microsoft Technology Licensing, Llc Provisioning trusted execution environment(s) based on chain of trust including platform
US10567168B2 (en) * 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
US11310234B2 (en) * 2017-11-16 2022-04-19 International Business Machines Corporation Securing permissioned blockchain network from pseudospoofing network attacks
US10819684B2 (en) * 2017-11-24 2020-10-27 International Business Machines Corporation Cognitive blockchain for internet of things
US11238449B2 (en) * 2017-12-18 2022-02-01 Nec Corporation Efficient validation of transaction policy compliance in a distributed ledger system
US10924489B2 (en) * 2018-01-19 2021-02-16 International Business Machines Corporation Building trusted public blockchain networks based on participants' digital social behavior
US10764052B2 (en) * 2018-01-24 2020-09-01 Sensoriant, Inc. User identity and trust models in decentralized and distributed systems
US10728020B2 (en) * 2018-01-24 2020-07-28 Sensoriant, Inc. Efficient mining operations in blockchain environments with non-secure devices
US11218315B2 (en) 2018-01-24 2022-01-04 Safeshare, Inc. System and method establishing a trust model for shared content on the internet
US10686601B2 (en) * 2018-01-24 2020-06-16 Sensoriant, Inc. Consistency and consensus management in decentralized and distributed systems
US20190287107A1 (en) * 2018-03-15 2019-09-19 International Business Machines Corporation Resource equity for blockchain
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
GB2572340A (en) * 2018-03-26 2019-10-02 Fetch Ai Ltd Data processing system using directed acyclic graph and method of use thereof
US11615060B2 (en) * 2018-04-12 2023-03-28 ISARA Corporation Constructing a multiple entity root of trust
US10404454B1 (en) 2018-04-25 2019-09-03 Blockchain Asics Llc Cryptographic ASIC for derivative key hierarchy
EP3562090B1 (en) * 2018-04-25 2020-07-01 Siemens Aktiengesellschaft Data processing device for processing a radio signal
CN108667618B (zh) * 2018-05-10 2020-07-03 阿里巴巴集团控股有限公司 区块链成员管理的数据处理方法、装置、服务器及系统
US10880072B2 (en) * 2018-06-20 2020-12-29 Verizon Patent And Licensing Inc. Systems and methods for controlled random endorsement in a blockchain network
CN110636087B (zh) * 2018-06-21 2022-04-12 北京果仁宝软件技术有限责任公司 基于联盟链的数据处理方法及系统
US11632236B1 (en) * 2018-06-29 2023-04-18 Verisign, Inc. Establishment, management, and usage of domain name to blockchain address associations
US10721060B1 (en) * 2018-06-29 2020-07-21 Verisign, Inc. Domain name blockchain user addresses
US11836721B2 (en) * 2018-06-29 2023-12-05 Intel Corporation Protection of information in an information exchange
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
WO2020014512A1 (en) 2018-07-11 2020-01-16 Americorp Investments Llc Blockchain operating system
CN109063169A (zh) * 2018-08-17 2018-12-21 福建省农村信用社联合社 一种基于区块链的客户数据管理系统
CN109167771B (zh) * 2018-08-21 2020-06-05 京东数字科技控股有限公司 基于联盟链的鉴权方法、装置、设备及可读存储介质
CN110868308B (zh) * 2018-08-28 2022-04-01 傲为有限公司 一种区块链网络接入方法及系统
US11048813B2 (en) * 2018-08-29 2021-06-29 Nucleus Vision, Llc Method and system for managing consent data in a blockchain network
JP7051648B2 (ja) * 2018-09-05 2022-04-11 株式会社日立製作所 電子取引装置、電子取引検証装置、及び電子取引方法
US11405373B2 (en) * 2018-09-07 2022-08-02 Honeywell International, Inc. Blockchain-based secured multicast communications
US20200084041A1 (en) * 2018-09-07 2020-03-12 Nebulas IO Limited Automated Blockchain Protocol Update
WO2020055968A1 (en) 2018-09-11 2020-03-19 Amari.Ai Incorporated Secure communications gateway for trusted execution and secure communications
CN109670930A (zh) * 2018-09-13 2019-04-23 深圳壹账通智能科技有限公司 欺诈设备识别方法、装置、设备及计算机可读存储介质
CN109274498B (zh) * 2018-09-25 2021-05-25 江西理工大学 一种基于联盟链的智能电网数据聚合及监控方法
CN109274674B (zh) * 2018-09-27 2021-03-23 福建福链科技有限公司 一种具有高安全性的区块链异构共识方法及终端
CN109257430B (zh) * 2018-09-30 2024-04-19 北京奇虎科技有限公司 基于区块链的互联网应用的系统、方法及服务器
JP7062571B2 (ja) * 2018-10-05 2022-05-06 株式会社日立製作所 組織管理支援システム、組織管理支援方法、および、組織管理支援装置
US10917233B2 (en) * 2018-10-16 2021-02-09 International Business Machines Corporation Selective exchange of transaction data
US20200117730A1 (en) 2018-10-16 2020-04-16 Microsoft Technology Licensing, Llc Database management
US11270017B2 (en) 2018-10-16 2022-03-08 International Business Machines Corporation Selective exchange of transaction data
GB201816837D0 (en) 2018-10-16 2018-11-28 Microsoft Technology Licensing Llc Database management
CN111192142A (zh) * 2018-10-25 2020-05-22 富士通株式会社 用于联盟链的信息公开及交易处理的装置、方法及介质
CN109472698B (zh) * 2018-10-30 2021-07-02 四川大学 基于区块链的公益监督方法及系统
US11474854B2 (en) 2018-10-30 2022-10-18 International Business Machines Corporation Transformation of inter-organization process for execution via blockchain
US10929113B2 (en) * 2018-10-30 2021-02-23 International Business Machines Corporation Transformation of inter-organization process for execution via blockchain
CN109327528B (zh) * 2018-10-31 2020-10-20 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
CN113434592A (zh) * 2018-10-31 2021-09-24 创新先进技术有限公司 基于区块链的数据存证方法及装置、电子设备
US11528258B2 (en) * 2018-11-02 2022-12-13 Intel Corporation System and apparatus for data confidentiality in distributed ledger
US11227057B2 (en) 2018-11-08 2022-01-18 International Business Machines Corporation Membership access management of a database
CA3061603A1 (en) * 2018-11-14 2020-05-14 Royal Bank Of Canada System and method for storing contract data structures on permissioned distributed ledgers
CN109495246B (zh) * 2018-11-20 2021-04-20 王建新 一种联盟链节点验证方法
US11762815B2 (en) 2018-11-23 2023-09-19 Amazon Technologies, Inc. Multi-framework managed blockchain service
US11411921B2 (en) 2018-11-23 2022-08-09 Amazon Technologies, Inc. Enabling access across private networks for a managed blockchain service
AU2018348322C1 (en) * 2018-11-27 2020-06-25 Advanced New Technologies Co., Ltd. Asymmetric key management in consortium blockchain networks
US10325079B1 (en) 2018-12-04 2019-06-18 Capital One Services, Llc Version management platform
US11102204B1 (en) * 2018-12-11 2021-08-24 Amazon Technologies, Inc. Agreement and enforcement of rules for a shared resource
BR112019015208A2 (pt) * 2018-12-13 2021-07-27 Alibaba Group Holding Limited métodos implementado por computador, meios de armazenamento legíveis por computador não transitórios e sistemas
US11720545B2 (en) * 2018-12-19 2023-08-08 International Business Machines Corporation Optimization of chaincode statements
EP3566393B1 (en) 2018-12-28 2021-09-01 Advanced New Technologies Co., Ltd. Accelerating transaction deliveries in blockchain networks using transaction resending
JP2020516108A (ja) 2018-12-28 2020-05-28 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited グローバル加速ノードを用いたブロックチェーントランザクション速度の改善
WO2019072307A2 (en) * 2018-12-28 2019-04-18 Alibaba Group Holding Limited ACCELERATION OF TRANSACTION DELIVERIES IN BLOCK CHAIN NETWORKS USING ACCELERATION NODES
CN111382458A (zh) * 2018-12-28 2020-07-07 富泰华工业(深圳)有限公司 数据分批封存方法、装置及计算机存储介质
US11283673B2 (en) * 2019-01-07 2022-03-22 International Business Machines Corporation Blockchain endorsement verification
US11394544B2 (en) * 2019-01-07 2022-07-19 Aitivity Inc. Validation of blockchain activities based on proof of hardware
CN110020855B (zh) * 2019-01-31 2020-05-29 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点、存储介质
WO2020154769A1 (en) 2019-02-01 2020-08-06 Secure Logic Pty Ltd System, method and computer readable medium for performing a transaction in relation to an identity centric dataset
CN109995850B (zh) * 2019-03-05 2022-04-26 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法
JP7025365B2 (ja) * 2019-03-25 2022-02-24 株式会社日立製作所 データ連携管理方法、データ連携管理システム、およびノード
US11398895B2 (en) * 2019-03-26 2022-07-26 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11418322B2 (en) 2019-03-26 2022-08-16 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11269858B2 (en) 2019-03-26 2022-03-08 International Business Machines Corporation Information management in a decentralized database including a fast path service
JP6779389B2 (ja) 2019-04-03 2020-11-04 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 信頼できる実行環境下でのブロックチェーンデータの処理および保存
CA3061427C (en) * 2019-04-03 2021-04-20 Alibaba Group Holding Limited Processing blockchain data based on smart contract operations executed in a trusted execution environment
US11108553B2 (en) 2019-04-05 2021-08-31 International Business Machines Corporation Database transaction guaranteed commitment
US10990563B2 (en) 2019-04-11 2021-04-27 Advanced New Technologies Co., Ltd. Information read/write method and apparatus based on blockchain
US10726049B2 (en) * 2019-04-17 2020-07-28 Alibaba Group Holding Limited Obtaining blockchain data in stages
US11654635B2 (en) 2019-04-18 2023-05-23 The Research Foundation For Suny Enhanced non-destructive testing in directed energy material processing
US11177938B2 (en) 2019-04-19 2021-11-16 International Business Machines Corporation Database composite endorsement
CN110071802A (zh) * 2019-04-24 2019-07-30 西安纸贵互联网科技有限公司 适用于区块链的数据处理方法及装置
ES2872101T3 (es) * 2019-04-26 2021-11-02 Advanced New Technologies Co Ltd Gestión de claves distribuidas para entornos de ejecución confiables
CN109981689B (zh) * 2019-04-29 2020-05-12 清华大学 物联网场景下跨域逻辑强隔离与安全访问控制方法及装置
EP3736715A1 (en) * 2019-05-10 2020-11-11 Siemens Aktiengesellschaft Managing admission to a distributed database based on a consensus process
CN111949315A (zh) * 2019-05-16 2020-11-17 富士通株式会社 用于区块链账本数据的管理装置和方法
CN110245506B (zh) * 2019-05-30 2020-09-01 阿里巴巴集团控股有限公司 基于区块链的智能合约管理方法及装置、电子设备
CN110266659B (zh) * 2019-05-31 2020-09-25 联想(北京)有限公司 一种数据处理方法和设备
CN113438068B (zh) * 2019-05-31 2024-01-09 创新先进技术有限公司 基于区块高度实现动态加密的方法及装置
EP3701701A4 (en) * 2019-06-05 2020-12-30 Alibaba Group Holding Limited CONSENSUS SYSTEM AND PROCESS
US11283594B2 (en) * 2019-06-05 2022-03-22 International Business Machines Corporation Context data update in a blockchain network
US11151228B2 (en) 2019-06-26 2021-10-19 Advanced New Technologies Co., Ltd. Blockchain-based image transaction system, method, apparatus, and electronic device
CN116932564A (zh) * 2019-06-28 2023-10-24 创新先进技术有限公司 用于更新区块链中的数据的系统和方法
US11797655B1 (en) 2019-07-18 2023-10-24 Verisign, Inc. Transferring a domain name on a secondary blockchain market and in the DNS
WO2019214756A2 (en) 2019-08-12 2019-11-14 Alibaba Group Holding Limited Blockchain-based dispute resolution
US11695543B2 (en) * 2019-08-22 2023-07-04 Myndshft Technologies, Inc. Blockchain network control system and methods
CN111183444B (zh) 2019-08-27 2023-12-12 创新先进技术有限公司 在区块链中注册可订阅子状态的系统和方法
EP3688620B1 (en) 2019-08-27 2021-10-20 Advanced New Technologies Co., Ltd. System and method for blockchain-based notification
EP3688686A4 (en) * 2019-08-27 2020-11-11 Advanced New Technologies Co., Ltd. SYSTEM AND PROCEDURE FOR THE REGISTRATION OF SUBSCRIBABLE SUBSTATES IN A BLOCKCHAIN
CN111226199B (zh) 2019-08-27 2022-02-18 创新先进技术有限公司 用于基于区块链的通知的系统和方法
CN110503433B (zh) * 2019-08-28 2022-05-10 北京百度网讯科技有限公司 一种区块链中背书的实现方法、装置、设备和介质
SG11202002712UA (en) * 2019-09-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage based on error correction coding in trusted execution environments
US11144537B2 (en) 2019-09-16 2021-10-12 Bank Of America Corporation System for data consensus validation in an electronic distributed server network using a screening node
US11432149B1 (en) 2019-10-10 2022-08-30 Wells Fargo Bank, N.A. Self-sovereign identification via digital credentials for selected identity attributes
CN110580412B (zh) * 2019-11-08 2020-03-06 支付宝(杭州)信息技术有限公司 基于链代码的权限查询配置方法及装置
CN110851870B (zh) * 2019-11-14 2021-10-01 中国人民解放军国防科技大学 基于可信执行环境的区块链隐私保护方法、系统及介质
US11811933B2 (en) 2019-11-27 2023-11-07 Visa International Service Association System and method for fair, secure n-party computation using at least one blockchain
CN110969524A (zh) * 2019-11-28 2020-04-07 中国建设银行股份有限公司 基于区块链的资金业务处理方法、装置、设备及介质
CN110992027B (zh) * 2019-11-29 2022-02-25 支付宝(杭州)信息技术有限公司 在区块链中实现隐私保护的高效交易方法及装置
CN110995860B (zh) * 2019-12-17 2021-12-28 江苏扬子易联智能软件有限公司 一种基于受控查询区块链的gmp/gsp质量管理平台
CN111126964A (zh) * 2019-12-24 2020-05-08 深圳前海乐寻坊区块链科技有限公司 基于区块链的职场信用认证方法、装置、设备、存储介质
CN111179087B (zh) * 2019-12-31 2023-07-18 重庆邮电大学 一种基于网格仲裁的联盟链共识方法
CN111181992B (zh) * 2020-01-03 2022-02-22 平安科技(深圳)有限公司 区块链中节点与链码的通信方法、装置、设备及存储介质
CN111339569B (zh) * 2020-02-26 2023-05-26 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备和介质
CN111047324B (zh) * 2020-03-16 2020-08-04 支付宝(杭州)信息技术有限公司 用于更新区块链节点处的公钥集合的方法及装置
CN111563740A (zh) * 2020-04-26 2020-08-21 中国工商银行股份有限公司 一种联盟链的交易处理方法及系统
EP3907957A1 (de) * 2020-05-06 2021-11-10 Siemens Aktiengesellschaft Verfahren zur zulassung zu einem blockchain-netzwerk und blockchain-netzwerk
CN111600908B (zh) * 2020-06-17 2021-07-13 杭州云链趣链数字科技有限公司 数据处理的方法、系统、计算机设备和可读存储介质
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
US11522705B2 (en) * 2020-07-28 2022-12-06 Safelishare, Inc. Testing and other data communicated using trust models in decentralized and distributed systems
CN113127516B (zh) * 2020-07-31 2023-12-12 支付宝(杭州)信息技术有限公司 一种区块链数据的处理方法、装置及设备
CN111930598B (zh) * 2020-08-28 2021-11-02 上海明牛云科技有限公司 基于区块链和大数据分析的信息处理方法及大数据平台
CN112235360B (zh) * 2020-09-26 2022-09-06 建信金融科技有限责任公司 一种基于联盟链的数据共享方法、装置、系统、电子设备及计算机可读存储介质
CN112114872B (zh) * 2020-10-14 2023-09-26 鹏城实验室 控制区块链运行的方法、设备以及存储介质
US10958450B1 (en) * 2020-10-15 2021-03-23 ISARA Corporation Constructing a multiple-entity root certificate data block chain
US11575499B2 (en) 2020-12-02 2023-02-07 International Business Machines Corporation Self auditing blockchain
EP4260267A4 (en) * 2020-12-11 2024-05-15 Visa Int Service Ass SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR SECURE REAL-TIME N-PARTY CALCULATION
CN112613006B (zh) * 2020-12-18 2024-03-19 国网辽宁省电力有限公司物资分公司 一种电力数据共享方法、装置、电子设备及存储介质
US11627128B2 (en) * 2020-12-22 2023-04-11 Red Hat, Inc. Network management using trusted execution environments
US11924161B1 (en) 2021-05-20 2024-03-05 Verisign, Inc. Authorization and refusal of modification, and partial modification ability, of a network identifier
US11750401B2 (en) 2021-05-20 2023-09-05 Verisign, Inc. Proving top level domain name control on a blockchain
CN113067903B (zh) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113556327B (zh) * 2021-06-29 2022-09-20 中国人民解放军战略支援部队信息工程大学 基于区块链的虚假流规则注入攻击检测与预防系统和方法
CN113609156B (zh) * 2021-08-02 2023-12-12 北京百度网讯科技有限公司 数据的查询与写入方法、装置、电子设备及可读存储介质
US20230370273A1 (en) * 2022-05-10 2023-11-16 Microsoft Technology Licensing, Llc Bootstrapping a code transparency system
CN117455490A (zh) * 2023-12-26 2024-01-26 成都边界元科技有限公司 数据要素多中心协议互认和共识验证平台

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050267984A1 (en) * 2004-04-14 2005-12-01 Jose Costa-Requena Method and apparatus for interoperability and relay for WV and IMS group management services
KR101229306B1 (ko) 2008-01-18 2013-02-05 인터디지탈 패튼 홀딩스, 인크 M2m 통신을 인에이블하는 방법 및 장치
WO2009132700A1 (en) 2008-04-29 2009-11-05 Telefonaktiebolaget L M Ericsson (Publ) Improved intrusion detection and notification
US8458462B1 (en) 2008-08-14 2013-06-04 Juniper Networks, Inc. Verifying integrity of network devices for secure multicast communications
CN103546420B (zh) * 2012-07-09 2016-08-03 杭州华三通信技术有限公司 Get vpn中gm向ks注册的方法及gm和ks
WO2014094857A1 (en) * 2012-12-20 2014-06-26 Telefonaktiebolaget L M Ericsson (Publ) Technique for enabling a client to provide a server entity
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
CN103795717B (zh) * 2014-01-23 2017-01-25 中国科学院计算技术研究所 一种云计算平台完整性证明方法及其系统
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
WO2015148725A2 (en) 2014-03-25 2015-10-01 Mark Stephen Meadows Systems and methods for executing cryptographically secure transactions using voice and natural language processing
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
EP3872666A1 (fr) 2015-01-30 2021-09-01 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
US11023968B2 (en) 2015-03-05 2021-06-01 Goldman Sachs & Co. LLC Systems and methods for updating a distributed ledger based on partial validations of transactions
JP2018516026A (ja) 2015-03-20 2018-06-14 リヴェッツ・コーポレーションRivetz Corp. ブロックチェーンを使用したデバイス整合性の自動認証
US20160283920A1 (en) 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
CA2981952A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US10515409B2 (en) 2016-03-23 2019-12-24 Domus Tower, Inc. Distributing work load of high-volume per second transactions recorded to append-only ledgers
EP3317775B1 (en) 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US9871775B2 (en) 2015-08-10 2018-01-16 Cisco Technology, Inc. Group membership block chain
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
CN105488665A (zh) 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN105488675B (zh) 2015-11-25 2019-12-24 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
US20170156018A1 (en) * 2015-11-30 2017-06-01 Le Holdings (Beijing) Co., Ltd. Method And Electronic Device For Online Tuning Application
US9948467B2 (en) * 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
US10762504B2 (en) 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
CN107145768B (zh) * 2016-03-01 2021-02-12 华为技术有限公司 版权管理方法和系统
CN105827410A (zh) * 2016-03-11 2016-08-03 邓迪 构建可信节点/卫星节点的区块链传输方法和系统
CA3027741C (en) 2016-06-17 2020-07-21 Jonathan WEIMER Blockchain systems and methods for user authentication
US10749684B2 (en) 2016-09-30 2020-08-18 Entrust, Inc. Methods and apparatus for providing blockchain participant identity binding
US10291627B2 (en) 2016-10-17 2019-05-14 Arm Ltd. Blockchain mining using trusted nodes
US10540652B2 (en) 2016-11-18 2020-01-21 Intel Corporation Technology for secure partitioning and updating of a distributed digital ledger
US10586210B2 (en) 2016-11-30 2020-03-10 International Business Machines Corporation Blockchain checkpoints and certified checkpoints
US11196623B2 (en) 2016-12-30 2021-12-07 Intel Corporation Data packaging protocols for communications between IoT devices
US20180220292A1 (en) * 2017-01-30 2018-08-02 Sap Se Blockchain-Based Subscription Management
US10484346B2 (en) 2017-02-07 2019-11-19 Microsoft Technology Licensing, Llc Establishment of consortium blockchain network
CN107592292B (zh) 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置

Also Published As

Publication number Publication date
CN110249333B (zh) 2023-07-28
CN110268691A (zh) 2019-09-20
EP3580682A1 (en) 2019-12-18
ES2909088T3 (es) 2022-05-05
US20200084189A1 (en) 2020-03-12
EP3917113A1 (en) 2021-12-01
US10484346B2 (en) 2019-11-19
US20180225448A1 (en) 2018-08-09
US10764259B2 (en) 2020-09-01
EP3580905B1 (en) 2022-02-16
CN110268691B (zh) 2021-10-15
US11218457B2 (en) 2022-01-04
CN110300973A (zh) 2019-10-01
US20180225661A1 (en) 2018-08-09
WO2018148068A1 (en) 2018-08-16
EP3580683A1 (en) 2019-12-18
CN115618359A (zh) 2023-01-17
WO2018148069A1 (en) 2018-08-16
EP3580905A1 (en) 2019-12-18
EP3580682B1 (en) 2021-08-04
WO2018148067A1 (en) 2018-08-16
US20180227275A1 (en) 2018-08-09
CN110249333A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN110300973B (zh) 联盟区块链网络的建立
EP3616105B1 (en) Confidentiality in a consortium blockchain network
US10846416B2 (en) Method for managing document on basis of blockchain by using UTXO-based protocol, and document management server using same
US10673626B2 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
US10951420B2 (en) Cryptologic blockchain interoperation
US11171774B2 (en) System for synchronizing a cryptographic key state through a blockchain
US8997198B1 (en) Techniques for securing a centralized metadata distributed filesystem
US11893577B2 (en) Cryptographic key storage system and method
EP3472720B1 (en) Digital asset architecture
US20230412389A1 (en) System And Method For Verifying Private Channel Data Using Synchronization Log
US20230081416A1 (en) Anonymous private shared partitions in blockchain networks
CN115599773A (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