CN110249333A - 联盟区块链网络的事务处理 - Google Patents

联盟区块链网络的事务处理 Download PDF

Info

Publication number
CN110249333A
CN110249333A CN201880010438.4A CN201880010438A CN110249333A CN 110249333 A CN110249333 A CN 110249333A CN 201880010438 A CN201880010438 A CN 201880010438A CN 110249333 A CN110249333 A CN 110249333A
Authority
CN
China
Prior art keywords
block chain
affairs
network
tee
instances
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880010438.4A
Other languages
English (en)
Other versions
CN110249333B (zh
Inventor
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
Publication of CN110249333A publication Critical patent/CN110249333A/zh
Application granted granted Critical
Publication of CN110249333B publication Critical patent/CN110249333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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)。然后,所选择的VN可以通过执行事务代码来处理反应,然后可以解决任何冲突。然后,VN可以基于区块链事务的处理直接更新处理的区块链的官方状态。“直接”更新状态意味着VN更新状态而不需要任何其他实体的任何动作或确认以便更新状态。然后,VN可以向区块链网络广播经处理的区块链的经更新的官方状态。在一些示例中,由于信任,VN不需要进行重新计算以进行验证。相反,在一些示例中,整个网络接受事务(包括链码事务),并且直接更新区块链状态。在一些示例中,不需要事务的副本以便确认框。
在阅读和理解附图和本说明书之后,将理解所公开技术的其他方面和应用。
附图说明
参考以下附图描述本公开的非限制性和非穷举性示例。在附图中,除非另有说明,否则类似的附图标记在各个附图中指代类似的部件。这些附图不一定按比例绘制。
为了更好地理解本发明,将参考以下结合附图阅读的具体实施方式,在附图中:
图1是图示了其中可以采用本技术的方面的合适环境的一个示例的框图;
图2是图示了根据所公开技术的方面的合适计算设备的一个示例的框图;
图3是图示了系统的一个示例的框图;
图4是图示了验证节点的一个示例的框图;
图5A-图5B是图示用于区块链网络的事务处理的过程的示例数据流的示图;
图6是图示了用于区块链网络的事务处理的另一示例过程的示图;
图7是图示了包括具有三个成员的机密联盟区块链框架(COCO)网络的系统的一个示例的框图;
图8是图示了包括COCO网络的一部分的系统的一个示例的框图,该COCO网络包括经历验证节点证明和密钥交换的两个验证节点;
图9是图示了用于将新成员添加到COCO网络的示例步骤的示图;以及
图10是图示了根据本公开的方面的用于区块链网络的事务处理的过程的另一示例数据流的示图。
具体实施方式
以下描述提供了用于彻底理解本技术的各种示例和实现本技术的各种示例的描述的具体细节。本领域技术人员将理解,可以在没有许多这些细节的情况下实践该技术。在某些情况下,没有示出或详细描述公知的结构和功能,以避免不必要地模糊对技术示例的描述。本公开中使用的术语旨在以其最广泛的合理方式进行解释,即使其与该技术的某些示例的详细描述一起使用。尽管下面可以强调某些术语,但是旨在以任何受限制的方式解释的任何术语将在本具体实施方式部分中明确地和具体地进行限定。在整个说明书和权利要求书中,除非上下文另有指示,否则以下术语至少采用本文明确相关的含义。下面标识的含义不一定限制术语,而仅仅提供术语的示意性示例。例如术语“基于”和“基于”中的每一个都不是排他性的,并且等同于术语“至少部分地基于”,并且包括基于附加因素的选项,其中一些可能在本文中没有描述。作为另一示例,术语“经由”不是排他性的,并且等同于术语“至少部分地经由”,并且包括经由附加因素的选项,其中一些可能在本文中没有描述。“在…中”的含义包括“在…中”和“在…上”。本文使用的短语“在一个实施例中”或“在一个示例中”不一定是指相同的实施例或示例,尽管它可以指相同的实施例或示例。特定的文本数字指示符的使用并不意味着存在较低价的数字指示符。例如记载“从包括第三个foo和第四个bar的组中选择的小部件”本身并不意味着存在至少三个foo,也不意味着至少四个bar元件。除非明确排除复数参考,否则单数的参考仅仅是为了阅读的清楚,并且包括复数参考。除非另有明确说明,否则术语“或”是包含性的“或”操作符。例如短语“A或B”表示“A、B或A和B”。如本文所使用的,术语“部件”和“系统”旨在涵盖硬件、软件或硬件和软件的各种组合。因此,例如,系统或部件可以是过程、在计算设备上执行的过程、计算设备或其一部分。
简而言之,所公开的技术总体上涉及区块链或其他安全技术。在该技术的一个示例中,预定类型的区块链或其他安全协议代码被存储在处理器的可信执行环境(TEE)中。TEE证明被用于验证存储在TEE中的区块链或其他安全协议代码是预定类型的区块链或其他安全协议代码。区块链或其他事务被接收并进行处理。基于事务的处理,为网络直接更新联盟网络上的事务的官方状态。已处理事务的更新的官方状态被广播到联盟网络。
在一些示例中,区块链网络的参与者可以向区块链网络提交由区块链主密钥加密的事务。事务可以被转发到区块链网络中的基于冲突解决协议、共识协议和/或类似协议来选择的特定验证节点(VN)。然后,所选择的VN可以通过执行事务代码来处理反应,然后可以解决任何冲突。然后,VN可以基于区块链事务的处理来直接更新处理的区块链的官方状态。然后,VN可以向区块链网络广播经处理的区块链的经更新的官方状态。在一些示例中,由于信任,VN不需要进行重新计算以进行验证。相反,在一些示例中,整个网络接受事务(包括链码事务),并且直接更新区块链状态。在一些示例中,不需要事务的副本以便于确认框。
示意性设备/操作环境
图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的地址范围中不允许的地址范围区域外部进行写入。
在一些示例中,在建立联盟区块链网络之前,区块链网络的预期成员就某些细节达成一致,包括将在联盟区块链网络的每个验证节点的TEE中执行哪些区块链协议代码。在联盟区块链网络的建立期间,一个或多个验证节点可以由联盟区块链网络的一个或多个成员认可。此外,TEE证明可以被用于验证验证节点正在执行商定的区块链协议代码。在建立联盟区块链网络之后,在一些示例中,可以改变最初商定的参数,诸如要在TEE中运行的商定的区块链协议代码——在一些示例中,这种改变需要由N个成员中的M个成员的批准。
系统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-5B是图示用于联盟区块链网络的事务处理的过程(520)的示例数据流的示图。以下更详细地解释示例联盟网络的进一步细节。在一些示例中,区块链联盟网络在建立区块链联盟网络之前在预期成员之间具有某些预先协议。预先协议除其他外可以包括:要被包括在区块链联盟网络中的初始成员以及要被存储在区块链联盟的验证节点的TEE中的区块链协议代码的类型。
在一些示例中,在区块链联盟网络的建立期间,并且也可能在其他时间,TEE证明用于验证在区块链联盟网络的每个验证节点的TEE中存储的区块链协议代码是商定的区块链协议代码。此外,在区块链联盟网络的建立期间,区块链联盟网络的验证节点可以彼此交换私钥。此外,在区块链联盟网络的建立期间,可以基于所有成员的私钥来生成区块链主密钥。如果区块链联盟网络的成员资格发生变化,则可以更新区块链主密钥。
参与者可以由区块链联盟网络的成员批准。在一些示例中,允许参与者请求/提交事务并查看他们被授权看到的事务,但是没有成员的其他权利,诸如用于对改变成员资格、改变所使用的协议区块链代码、或者类似物进行投票的投票权。
在所示示例中,首先发生步骤521。在步骤521处,在一些示例中,参与者使用区块链主密钥来加密区块链事务。如所示,在一些示例中,接下来发生步骤522。在步骤522处,在一些示例中,参与者发送经加密的区块链事务。如所示,在一些示例中,接下来发生步骤523。在步骤523处,可以将经加密的区块链事务转发到基于冲突解决协议和/或共识协议来选择的特定VN。
例如,在一些示例中,可以使用共识算法来选择VN领导者,并且VN领导者接收事务、提交事务、并且向全部其他成员广播事务。(VN领导者可互换地被称为主VN。)在这些示例中,在步骤523处,使用共识算法来选择VN领导者,并且将经加密的区块链事务转发给VN领导者。将在下面更详细地讨论使用冲突解决算法和/或共识算法来选择VN以转发经加密的区块链事务的其他示例以及对可以使用的共识协议的进一步讨论。
如所示,在一些示例中,接下来发生步骤524。在步骤524处,在一些示例中,经加密的事务被转发所至的VN接收经加密的区块链事务。如所示,在一些示例中,接下来发生步骤525。在框525处,在一些示例中,VN通过执行事务的代码来处理区块链事务。
如所示,在一些示例中,接下来发生步骤526。在框526处,在一些示例中,VN基于区块链事务的处理来更新经处理的区块链的官方状态。例如,这可以是VN对状态的直接更新。“直接”更新状态意味着VN更新状态而不需要任何其他实体的任何动作或确认来更新状态。如所示,在一些示例中,接下来发生步骤527。在步骤527处,可以向区块链网络广播经处理的区块链的经更新的官方状态。
在一些示例中,由于信任,VN不需要进行重新计算以进行验证,这使得可以在步骤526处直接更新区块链状态。在一些示例中,因为区块链联盟中的VN网络是完全可信的,所以网络上的其他VN可以隐式接受从可信的VN接收的任何区块链状态更新,因为它符合区块链的协议并且受到TEE保护免受外部篡改。此外,不需要事务的副本来确认框。
然后,该过程前进到返回框,其中其他过程被恢复。
在一些示例中,在区块链联盟网络上的事务处理之前,建立区块链网络。在一些实例中,可以如下完成区块链联盟网络的建立。在一些示例中,每个预期成员认可至少一个单独的VN。在一些示例中,作为验证的一部分,预期成员将商定的代码存储在TEE中,并且将公钥/私钥对(分别为PBK和KBK)存储在TEE中。商定的方面中的一些方面还可以被存储在VN中,诸如商定的成员资格列表以及在TEE中执行的商定代码的标识。
备选地,在某些示例中,并非每个预期成员都认可单独的VN。例如在一些示例中,仅认可一个VN。
接下来,在一些示例中,每个VN发现网络中的其他VN。在一些示例中,仅存在一个VN,并且不执行VN发现。
接下来,在一些示例中,由VN从联盟的每个预期成员接收以下内容:多个成员资格列表、以及来自该联盟的多个预期成员的多个授权。在一些示例中,授权是与预定类型的协议代码相关联的指示。在一些示例中,成员资格列表和授权由VN中的每个VN发送,并且每个VN接收由每个其他VN发送的成员资格列表和授权。在其他示例中,仅存在一个VN,并且从预期成员的成员设备接收成员资格列表和授权。
接下来,在一些示例中,确定来自预期成员中的每一个预期成员的成员资格列表是否彼此匹配。如果是,则在一些示例中,确定来自预期成员中的每一个预期成员的协议代码类型的授权是否彼此匹配。如果是,则TEE证明可以用来验证与联盟的预期成员相关联的节点存储要在TEE上运行的商定的授权协议代码。如果TEE证明是肯定的,则在VN之间交换私钥。
接下来,在一些示例中,可以从私钥中的每一个来生成区块链主密钥(BMK)。接下来,在一些示例中,参与者被成员批准加入。在一些示例中,网络现在准备好处理来自参与者的事务。
在一些示例中,公共网络可以允许任何参与者提交事务,但是非公共网络要求规定参与者,这是VN的认可方的另一权限。参与者可以由公钥/私钥对表示,该公钥/私钥对被允许提交由网络执行的事务。参与者集合不一定包括成员,但在某些示例中其包括成员。成员可以通过向其VN提交参与者的公共事务密钥(PTK)来授权参与者,并且VN可以与网络共享其规定的参与者的列表。如果网络要求参与者被多于一个成员批准,则网络可以使用类似于批准新成员的协议,如下面更详细地讨论的。
在一些示例中,链码不需要由网络执行多于一次,链码可以是非确定性的,并且链码可以包括与外部系统的交互。在一些示例中,区块链还可以被构建为具有针对试图妥协完整性和机密性的敌对参与者的不同级别的防御,从针对单个流氓成员的保护,到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标记具有随机生成的数(使用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签名。
图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,以及更新的成员资格列表两者。
表1.持久性区块链中BMK的N个中的M个加密
如前所述,直到成员资格更新时的区块链状态可能经受根据区块链的N个中的M个的实现的先前成员资格集合中的串通集合的妥协。但是通过创建新的BMK,如果区块链实现了一个,那么区块链时间线中从该点开始的所有区块链状态可以受到更新的成员资格集合的保护,包括更新的N个中的M个的方案。
为了防止区块链回滚到先前状态,可以将链的最后添加的签名、认证码或唯一标识符存储在仅可由VN访问的可信非易失性存储中。类似地,区块链的最后添加的签名可以被包括在与成员的所有交互中,以允许成员检测将区块链回滚到先前状态的任何尝试。在某些示例中,成员在成员资格更改时翻转KBK以防止旧代码版本中的错误。在一些示例中,在某些情况下在每个成员资格版本之后重新运行证明、密钥交换或两者,诸如从代码的批准列表中去除代码版本。
在一些示例中,COCO被适配于不要求每个成员具有专用VN的模型。共享VN对于开发和/或测试、注重成本的成员、或者作为可以由云提供商或者由用作其他成员的托管代理的成员的多租户托管解决方案的基础可以是有用的。在一个示例中,所有成员依赖于由单个集中方托管的单个VN(或用于高可用性的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,或者甚至所有成员可以共享由所有成员认可的单个节点。
并非所有示例都包括本文所讨论的所有特征。例如某些示例不使用加密。
图10是图示用于建立区块链网络的过程(1090)的另一示例数据流的图示。在一些示例中,图10的过程由验证节点执行。在所示的示例中,首先发生步骤1091。在步骤1091处,在一些示例中,预定类型的区块链协议代码被存储在处理器的可信执行环境(TEE)中。
如所示,在一些示例中,接下来发生步骤1092。在步骤1092处,在一些示例中,TEE证明被用于验证在TEE中存储的区块链协议代码是预定类型的区块链协议代码。
在一些示例中,在事务处理之前执行在1091和1092处的步骤。例如,在一些示例中,在区块链联盟网络的建立期间执行在1091和1092处的步骤。例如,在1091和1092处的步骤还可以针对向现有区块链联盟网络添加的新验证节点而被执行,或者在网络改变时使用不同代码再次被执行,其中要在TEE中执行的区块链协议的类型被改变。在一些示例中,可以在特定时间再次执行1092处的步骤。在一些示例中,定期更新TEE授权。例如,在一些示例中,如上所述,参与网络的VN授权是必须定期更新的租约,并且除此之外,可以在更新租约时再次执行1091和/或1092处的步骤。
如所示,在一些示例中,接下来发生步骤1093。在步骤1093处,在一些示例中,接收区块链事务。如图所示,在一些示例中,接下来发生步骤1094。在步骤1094处,可以处理区块链事务。如所示,在一些示例中,接下来发生步骤1095。在步骤1095处,在一些示例中,基于区块链事务的处理来直接更新经处理的区块链的官方状态。如所示,在一些示例中,接下来发生步骤1096。在步骤1096处,可以向区块链网络广播经处理的区块链的经更新的官方状态。然后过程进入返回框,其中其他过程被恢复。
结论
虽然以上具体实施方式描述了本技术的某些示例,并且描述了设想的最佳模式,但是无论上文在文本中如何详细描述,该技术都可以以多种方式实践。细节可以在实现上变化,同时仍然被涵盖在本文描述的技术中。如上所述,在描述本技术的某些特征或方面时使用的特定术语不应被视为暗示术语在本文中被重新定义为限于与该术语相关联的任何特定特征、特性或方面。一般而言,以下权利要求中使用的术语不应被解释为将技术限制于本文公开的具体示例,除非具体实施方式明确地定义了这种术语。因此,技术的实际范围不仅涵盖所公开的示例,还涵盖实践或实现技术的所有等效方式。

Claims (15)

1.一种用于区块链系统的装置,包括:
设备,包括至少一个存储器和至少一个处理器,所述至少一个存储器被适配为存储用于所述设备的运行时数据,所述至少一个处理器被适配为执行处理器可执行代码,所述处理器可执行代码响应于执行来使所述设备能够执行动作,所述动作包括:
在所述处理器的可信执行环境(TEE)中存储预定类型的区块链协议代码;
使用TEE证明来验证在所述TEE中存储的所述区块链协议代码是所述预定类型的区块链协议代码;
接收区块链事务;
处理所述区块链事务;
基于所述区块链事务的所述处理为区块链网络直接更新经处理的所述区块链的官方状态;以及
向所述区块链网络广播经处理的所述区块链的经更新的所述官方状态。
2.根据权利要求1所述的装置,所述动作还包括:
使用共识算法来选择验证节点领导者,其中所述区块链事务由所述验证节点领导者接收。
3.根据权利要求1所述的装置,所述动作还包括:
至少部分地基于共识算法来执行冲突解决。
4.根据权利要求1所述的装置,其中所述区块链事务是从转发验证节点而被接收的,所述转发验证节点基于冲突解决协议或共识协议中的至少一个协议来转发所述区块链事务,并且其中所述转发验证节点从参与者接收所述事务。
5.根据权利要求4所述的装置,所述动作还包括:
授权所述参与者,包括接收与所述参与者相关联的公共事务密钥。
6.一种用于区块链系统的方法,包括:
在处理器的可信执行环境(TEE)中存储预定类型的区块链协议代码;
使用TEE证明来验证在所述TEE中存储的所述区块链协议代码是所述预定类型的区块链协议代码;
接收区块链事务;
处理所述区块链事务;
至少使用所述处理器基于所述区块链事务的所述处理为区块链网络直接更新经处理的所述区块链的官方状态;以及
向所述区块链网络广播经处理的所述区块链的经更新的所述官方状态。
7.根据权利要求6所述的方法,还包括:
使用共识算法来选择验证节点领导者,其中所述区块链事务由所述验证节点领导者接收。
8.根据权利要求6所述的方法,还包括:
至少部分地基于共识算法来执行冲突解决。
9.根据权利要求6所述的方法,其中所述区块链事务是从转发验证节点而被接收的,所述转发验证节点基于冲突解决协议或共识协议中的至少一个协议来转发所述区块链事务,并且其中所述转发验证节点从参与者接收所述事务。
10.一种处理器可读存储介质,其上存储有处理器可执行代码,所述处理器可执行代码在由至少一个处理器执行时实现动作,所述动作包括:
使用可信执行环境(TEE)证明来验证在所述至少一个处理器的处理器的TEE中存储的安全协议代码是预定类型的安全协议代码;
处理用于联盟网络的事务;以及
基于所述事务的所述处理,为所述联盟网络直接更新经处理的所述事务的官方状态。
11.根据权利要求10所述的处理器可读存储介质,所述处理器可执行代码在执行时实现进一步的动作,所述进一步的动作包括:
使用共识算法来选择验证节点领导者,其中所述事务由所述验证节点领导者接收。
12.根据权利要求10所述的处理器可读存储介质,所述处理器可执行代码在执行时实现进一步的动作,所述进一步的动作包括:
至少部分地基于共识算法来执行冲突解决。
13.根据权利要求10所述的处理器可读存储介质,其中所述事务是从转发验证节点而被接收的,所述转发验证节点基于冲突解决协议或共识协议中的至少一个协议来转发所述事务,并且其中所述转发验证节点从参与者接收所述事务。
14.根据权利要求13所述的处理器可读存储介质,所述处理器可执行代码在执行时实现进一步的动作,所述进一步的动作包括:
授权所述参与者,包括接收与所述参与者相关联的公共事务密钥。
15.根据权利要求9所述的方法,还包括:
授权所述参与者,包括接收与所述参与者相关联的公共事务密钥。
CN201880010438.4A 2017-02-07 2018-01-31 联盟区块链网络的事务处理 Active CN110249333B (zh)

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,213 2017-06-29
US15/638,213 US10764259B2 (en) 2017-02-07 2017-06-29 Transaction processing for consortium blockchain network
PCT/US2018/016058 WO2018148069A1 (en) 2017-02-07 2018-01-31 Transaction processing for consortium blockchain network

Publications (2)

Publication Number Publication Date
CN110249333A true CN110249333A (zh) 2019-09-17
CN110249333B CN110249333B (zh) 2023-07-28

Family

ID=63037427

Family Applications (4)

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

Family Applications Before (1)

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

Family Applications After (2)

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

Country Status (5)

Country Link
US (4) US20180225661A1 (zh)
EP (4) EP3917113A1 (zh)
CN (4) CN115618359A (zh)
ES (1) ES2909088T3 (zh)
WO (3) WO2018148069A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113067903A (zh) * 2021-06-02 2021-07-02 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113556327A (zh) * 2021-06-29 2021-10-26 中国人民解放军战略支援部队信息工程大学 基于区块链的虚假流规则注入攻击检测与预防系统和方法

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
US20180225661A1 (en) 2017-02-07 2018-08-09 Microsoft Technology Licensing, Llc Consortium blockchain network with verified blockchain and consensus protocols
LU100069B1 (en) * 2017-02-10 2018-09-27 Univ Luxembourg Improved computing apparatus
CN107018125B (zh) 2017-02-17 2019-08-09 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
CN110300969B (zh) * 2017-02-17 2023-08-18 诺基亚技术有限公司 投票-共识分布式账本
CN111724150B (zh) * 2017-03-28 2023-11-24 创新先进技术有限公司 一种业务请求的处理方法及装置
WO2018189656A1 (en) 2017-04-11 2018-10-18 nChain Holdings Limited Secure re-use of private key for dynamic group of nodes
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
WO2018209222A1 (en) * 2017-05-12 2018-11-15 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
US20190140846A1 (en) * 2017-11-03 2019-05-09 Microsoft Technology Licensing, Llc Provisioning trusted execution environment(s) based on chain of trust including platform
US11943368B2 (en) 2017-11-03 2024-03-26 Microsoft Technology Licensing, Llc Provisioning trusted execution environment based on chain of trust including platform
US11310234B2 (en) * 2017-11-16 2022-04-19 International Business Machines Corporation Securing permissioned blockchain network from pseudospoofing network attacks
US10567168B2 (en) * 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
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
US11218315B2 (en) 2018-01-24 2022-01-04 Safeshare, Inc. System and method establishing a trust model for shared content on the internet
US10728020B2 (en) * 2018-01-24 2020-07-28 Sensoriant, Inc. Efficient mining operations in blockchain environments with non-secure devices
US10686601B2 (en) * 2018-01-24 2020-06-16 Sensoriant, Inc. Consistency and consensus management in decentralized and distributed systems
US10764052B2 (en) * 2018-01-24 2020-09-01 Sensoriant, Inc. User identity and trust models 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
EP3562090B1 (en) * 2018-04-25 2020-07-01 Siemens Aktiengesellschaft Data processing device for processing a radio signal
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
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 北京果仁宝软件技术有限责任公司 基于联盟链的数据处理方法及系统
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
US11632236B1 (en) * 2018-06-29 2023-04-18 Verisign, Inc. Establishment, management, and usage of domain name to blockchain address associations
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
US10708250B2 (en) * 2018-07-11 2020-07-07 Americorps Investments Llc Blockchain operating system
CN109063169A (zh) * 2018-08-17 2018-12-21 福建省农村信用社联合社 一种基于区块链的客户数据管理系统
CN109167771B (zh) * 2018-08-21 2020-06-05 京东数字科技控股有限公司 基于联盟链的鉴权方法、装置、设备及可读存储介质
CN110866750B (zh) * 2018-08-28 2022-09-09 傲为有限公司 抗抵赖的跨链交易方法及区块链系统
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
US11042641B2 (en) 2018-09-11 2021-06-22 Amari.Ai Incorporated Deployment and communications gateway for deployment, 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 株式会社日立製作所 組織管理支援システム、組織管理支援方法、および、組織管理支援装置
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
US10917233B2 (en) * 2018-10-16 2021-02-09 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 四川大学 基于区块链的公益监督方法及系统
US10929113B2 (en) * 2018-10-30 2021-02-23 International Business Machines Corporation Transformation of inter-organization process for execution via blockchain
US11474854B2 (en) 2018-10-30 2022-10-18 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
US20200177373A1 (en) * 2018-11-14 2020-06-04 Royal Bank Of Canada System and method for storing contract data structures on permissioned distributed ledgers
CN109495246B (zh) * 2018-11-20 2021-04-20 王建新 一种联盟链节点验证方法
US11411921B2 (en) 2018-11-23 2022-08-09 Amazon Technologies, Inc. Enabling access across private networks for a managed blockchain service
US11762815B2 (en) 2018-11-23 2023-09-19 Amazon Technologies, Inc. Multi-framework managed blockchain service
WO2019072281A2 (en) * 2018-11-27 2019-04-18 Alibaba Group Holding Limited ASYMMETRICAL KEY MANAGEMENT IN CONSORTIUM BLOCK CHAIN 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
EP3566392B1 (en) 2018-12-13 2021-08-25 Advanced New Technologies Co., Ltd. Achieving consensus among network nodes in a distributed system
US11720545B2 (en) * 2018-12-19 2023-08-08 International Business Machines Corporation Optimization of chaincode statements
CN111382458A (zh) * 2018-12-28 2020-07-07 富泰华工业(深圳)有限公司 数据分批封存方法、装置及计算机存储介质
KR20200083940A (ko) 2018-12-28 2020-07-09 알리바바 그룹 홀딩 리미티드 트랜잭션 재전송을 사용한 블록체인 네트워크에서의 트랜잭션 전달의 가속
EP3571808A4 (en) * 2018-12-28 2020-03-04 Alibaba Group Holding Limited IMPROVE THE SPEED OF BLOCKCHAIN TRANSACTIONS USING GLOBAL ACCELERATION NODES
SG11201906831YA (en) * 2018-12-28 2019-08-27 Alibaba Group Holding Ltd Accelerating transaction deliveries in blockchain networks using acceleration nodes
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 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点、存储介质
AU2020213607A1 (en) 2019-02-01 2021-08-12 Tgrid Technologies 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 株式会社日立製作所 データ連携管理方法、データ連携管理システム、およびノード
US11269858B2 (en) 2019-03-26 2022-03-08 International Business Machines Corporation Information management in a decentralized database including a fast path service
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
JP6856772B2 (ja) * 2019-04-03 2021-04-14 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理
JP6779389B2 (ja) 2019-04-03 2020-11-04 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 信頼できる実行環境下でのブロックチェーンデータの処理および保存
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 西安纸贵互联网科技有限公司 适用于区块链的数据处理方法及装置
CA3061268C (en) * 2019-04-26 2020-09-22 Alibaba Group Holding Limited Distributed key management for trusted execution environments
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 联想(北京)有限公司 一种数据处理方法和设备
CN110266467B (zh) * 2019-05-31 2021-04-27 创新先进技术有限公司 基于区块高度实现动态加密的方法及装置
CA3139747A1 (en) 2019-06-04 2020-12-10 Qohash Inc. System and method for certifying integrity of data assets
WO2019170169A2 (en) * 2019-06-05 2019-09-12 Alibaba Group Holding Limited Consensus system and method
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
EP3701391B1 (en) * 2019-06-28 2021-11-10 Advanced New Technologies Co., Ltd. System and method for updating data in blockchain
US11797655B1 (en) 2019-07-18 2023-10-24 Verisign, Inc. Transferring a domain name on a secondary blockchain market and in the DNS
EP3673618B1 (en) 2019-08-12 2021-12-15 Advanced New Technologies Co., Ltd. Blockchain-based dispute resolution
US11695543B2 (en) 2019-08-22 2023-07-04 Myndshft Technologies, Inc. Blockchain network control system and methods
WO2019228552A2 (en) 2019-08-27 2019-12-05 Alibaba Group Holding Limited System and method for blockchain-based notification
EP3688702B1 (en) 2019-08-27 2022-03-02 Advanced New Technologies Co., Ltd. System and method for blockchain-based notification
CN111133428B (zh) * 2019-08-27 2023-07-04 创新先进技术有限公司 在区块链中注册可订阅状态的系统和方法
SG11202003810RA (en) 2019-08-27 2020-05-28 Advanced New Technologies Co Ltd System and method for registering subscribable sub-states in blockchain
CN110503433B (zh) * 2019-08-28 2022-05-10 北京百度网讯科技有限公司 一种区块链中背书的实现方法、装置、设备和介质
WO2019228562A2 (en) * 2019-09-11 2019-12-05 Alibaba Group Holding Limited 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 杭州云链趣链数字科技有限公司 数据处理的方法、系统、计算机设备和可读存储介质
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
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 支付宝(杭州)信息技术有限公司 一种区块链数据的处理方法、装置及设备
CN113282462B (zh) * 2020-08-28 2022-06-28 深圳市金麦粒传媒科技有限公司 应用于区块链和大数据的信息处理方法及大数据平台
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 International Service Association 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
US12003615B2 (en) 2021-05-20 2024-06-04 Verisign, Inc. Lifecycle administration of domain name blockchain addresses
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
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 成都边界元科技有限公司 数据要素多中心协议互认和共识验证平台

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102047629A (zh) * 2008-01-18 2011-05-04 交互数字专利控股公司 用于启用机器对机器通信的方法和设备
US8458462B1 (en) * 2008-08-14 2013-06-04 Juniper Networks, Inc. Verifying integrity of network devices for secure multicast communications

Family Cites Families (35)

* 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
MX2010009441A (es) 2008-04-29 2010-12-21 Ericsson Telefon Ab L M Deteccion y notificacion de intrusion mejoradas.
CN103546420B (zh) * 2012-07-09 2016-08-03 杭州华三通信技术有限公司 Get vpn中gm向ks注册的方法及gm和ks
EP2936761B1 (en) * 2012-12-20 2019-07-24 Telefonaktiebolaget LM 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
SG11201707861UA (en) 2014-03-25 2017-10-30 Botanic Tech Inc 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
CN113946817A (zh) 2015-01-30 2022-01-18 E·马伊姆 用于管理安全实体的连网承诺的系统和方法
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
EP3271824A4 (en) 2015-03-20 2018-09-05 Rivetz Corp. Automated attestation of device integrity using the block chain
US20160283920A1 (en) 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
US20160300234A1 (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
US10097356B2 (en) 2015-07-02 2018-10-09 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
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
US10762504B2 (en) * 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
CN107145768B (zh) * 2016-03-01 2021-02-12 华为技术有限公司 版权管理方法和系统
CN105827410A (zh) * 2016-03-11 2016-08-03 邓迪 构建可信节点/卫星节点的区块链传输方法和系统
WO2017219007A1 (en) * 2016-06-17 2017-12-21 Weimer Jonathan 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
CN110024422B (zh) 2016-12-30 2023-07-18 英特尔公司 物联网的命名和区块链记录
US20180220292A1 (en) * 2017-01-30 2018-08-02 Sap Se Blockchain-Based Subscription Management
US20180225661A1 (en) 2017-02-07 2018-08-09 Microsoft Technology Licensing, Llc Consortium blockchain network with verified blockchain and consensus protocols
CN107592292B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102047629A (zh) * 2008-01-18 2011-05-04 交互数字专利控股公司 用于启用机器对机器通信的方法和设备
US8458462B1 (en) * 2008-08-14 2013-06-04 Juniper Networks, Inc. Verifying integrity of network devices for secure multicast communications

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113067903A (zh) * 2021-06-02 2021-07-02 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113556327A (zh) * 2021-06-29 2021-10-26 中国人民解放军战略支援部队信息工程大学 基于区块链的虚假流规则注入攻击检测与预防系统和方法
CN113556327B (zh) * 2021-06-29 2022-09-20 中国人民解放军战略支援部队信息工程大学 基于区块链的虚假流规则注入攻击检测与预防系统和方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110249333A (zh) 联盟区块链网络的事务处理
CN110546636B (zh) 联盟区块链网络中的机密性
US10673626B2 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
TWI706279B (zh) 多方安全計算方法及裝置、電子設備
TW202013928A (zh) 多方安全計算方法及裝置、電子設備
CN109417478A (zh) 多链路密码逻辑区块链
CN110784320A (zh) 分布式密钥实现方法、系统及用户身份管理方法、系统
CN111859446A (zh) 一种农产品溯源信息共享-隐私保护的方法及系统
CN106233292A (zh) 合成文档访问
CN113344222A (zh) 一种基于区块链的安全可信的联邦学习机制
JP2023535040A (ja) マスターキーエスクロープロセス
KR102014647B1 (ko) 블록체인 기반 전자투표방법
WO2021057124A1 (zh) 基于fpga实现隐私区块链的方法及装置
CN117708887B (zh) 一种基于纵向逻辑回归的联邦学习模型获取方法及系统
CN107919958A (zh) 一种数据加密的处理方法、装置及设备
Deepa et al. SECURE ONLINE VOTING SYSTEMS USING BLOCK OF CHUNKS
KR20230002224A (ko) 양자 난수 발생기(qrng)와 물리적 복제방지 기능(puf)을 내장한 반도체 보안 칩

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