联盟区块链网络中的机密性制造技术

技术编号:22758134 阅读:9 留言:0更新日期:2019-12-07 05:16
所公开的技术通常针对区块链技术。在该技术的一个示例中,预定类型的区块链协议代码被存储在处理器的可信执行环境(TEE)中。TEE证明用于验证在TEE中存储的区块链协议代码是预定类型的区块链协议代码。区块链交易被接收。处理区块链交易,同时不允许访问原始交易数据。基于区块链交易的处理为区块链网络更新已处理区块链的状态,同时不允许访问原始交易数据。

Confidentiality in alliance blockchain network

The disclosed technology is usually directed at blockchain technology. In one example of the technology, a predetermined type of blockchain protocol code is stored in the processor's trusted execution environment (TEE). Tee proves that the blockchain protocol code stored in tee is a blockchain protocol code of a predetermined type. Blockchain transactions are received. Processing blockchain transactions while not allowing access to the original transaction data. The processing based on blockchain transaction updates the status of processed blockchain for blockchain network, and does not allow access to the original transaction data.

【技术实现步骤摘要】
【国外来华专利技术】联盟区块链网络中的机密性
技术介绍
已经提出了用于各种应用场景的区块链系统,包括金融行业,医疗保健,物联网等中的应用。例如开发了比特币系统,允许电子现金无需经过金融机构即可直接从一方转移到另一方。比特币(例如电子硬币)由将所有权从一方转移到另一方的一系列交易表示。为了转移比特币的所有权,新交易可以被生成并被添加到块中的交易堆栈中。包括新所有者的公钥的新交易可以由所有者用所有者的私钥进行数字签名,以将所有权转移给新所有者,如新所有者的公钥所表示。一旦块被填满,就可以用块头部“封闭”该块,该块头部是该块内所有交易标识符的哈希摘要。块头部可以被记录为链中下一个区块中的第一交易,从而创建称为“区块链”的数学层次结构。为了验证当前所有者,可以遵循交易的区块链来验证从第一笔交易到最后一笔交易的每一笔交易。新所有者仅需要具有与转移比特币的交易的公钥匹配的私钥。区块链可以在由安全身份(例如公钥)表示的实体中创建所有权的数学证明,在比特币系统的情况下,其是伪匿名的。
技术实现思路
提供本
技术实现思路
以简化形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本
技术实现思路
既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。简要地说,所公开的技术通常针对区块链技术。在该技术的一个示例中,预定类型的区块链协议代码被存储在处理器的可信执行环境(TEE)中。在一些示例中,TEE证明被用于验证在TEE中存储的区块链协议代码是预定类型的区块链协议代码。区块链交易可以被接收。在一些示例中,处理区块链交易,同时不允许访问原始交易数据。在一些示例中,基于区块链交易的处理为区块链网络更新已处理区块链的状态,同时不允许访问原始交易数据。在阅读和理解附图和描述之后,将理解所公开技术的其他方面和应用。附图说明参考以下附图描述本公开的非限制性和非穷举性示例。在附图中,除非另外指明,否则贯穿各个附图,类似的附图标记表示类似的部分。这些附图不一定按比例绘制。为了更好地理解本公开,将参考下面的具体实施方式,该具体实施方式将结合附图进行阅读,在附图中:图1是示出了可以在其中采用本技术的各方面的合适环境的一个示例的框图;图2是示出了根据所公开的技术的各方面的合适的计算设备的一个示例的框图;图3是示出了系统的示例的框图;图4是示出了验证节点的示例的框图;图5A-5C是示出了用于建立区块链网络的过程的示例数据流的图;图6A-6B是示出了用于区块链网络的交易处理的过程的示例数据流的图;图7是示出了用于区块链网络的交易处理的另一示例过程的图;图8是示出了包括具有三个成员的机密联盟区块链框架(COCO)网络的系统的示例的框图;图9是示出了包括COCO网络的一部分的系统的示例的框图,该COCO网络的一部分包括经历验证节点证明和密钥交换的两个验证节点;图10是图示了用于将新成员添加到COCO网络的示例步骤的图;图11是示出了用于区块链系统的过程的示例数据流的图;以及图12是示出了根据本公开的方面的用于针对区块链网络的具有机密性的交易处理的示例过程的图。具体实施方式以下描述提供了特定细节,以用于对技术的各种示例的透彻理解和实现描述。本领域技术人员将理解,可以在没有许多这些细节的情况下实践该技术。在某些情况下,没有示出或详细描述众所周知的结构和功能,以避免不必要地使技术示例的描述不清楚。意图以本公开中使用的术语以其最广泛的合理方式来解释,即使其与该技术的某些示例的详细描述结合使用。尽管以下可能会强调某些术语,但旨在以任何受限方式解释的任何术语将如在本具体实施方式部分中的那样被公开且明确地定义。在整个说明书和权利要求书中,除非上下文另外指出,否则以下术语至少具有本文明确关联的含义。以下标识的含义不一定限制这些术语,而仅提供这些术语的示意性示例。例如术语“基于”和“根据”中的每一个都不是排他的,并且等效于术语“至少部分地基于”,并且包括基于附加因素的选项,其中一些本文不做描述。作为另一个示例,术语“经由”不是排他的,并且等效于术语“至少部分地经由”,包括经由附加因素的选项,其中一些可能在本文未描述。“在...中”的含义包括“在...中”和“在...上”。本文使用的短语“在一个实施例中”或“在一个示例中”不一定指代相同的实施例或示例,尽管本文使用的短语“在一个实施例中”或“在一个示例中”可以指代相同的实施例或示例。特定的文本数字标记的使用并不意味着值较小的数字标记的存在。例如引用“从由第三foo和第四bar构成的组中选择的小部件”本身并不意味着存在至少三个foo,也不意味着存在至少四个bar元素。单数形式的引用仅是为了阅读的清楚,并且包括复数引用,除非特别地排除了复数引用。除非另外明确指出,否则术语“或”是包含性的“或”运算符。例如短语“A或B”表示“A、B或A和B”。如本文所使用的,术语“组件”和“系统”旨在涵盖硬件、软件或硬件和软件的各种组合。因此,例如系统或组件可以是过程、在计算设备上执行的过程、计算设备或其一部分。简要地说,公开的技术通常针对区块链技术。在该技术的一个示例中,预定类型的区块链协议代码被存储在处理器的可信执行环境(TEE)中。在一些示例中,TEE证明被用于验证存储在TEE中的区块链协议代码是预定类型的区块链协议代码。可以接收区块链交易。在一些示例中,处理区块链交易,同时不允许访问原始交易数据。在一些示例中,基于区块链交易的处理为区块链网络更新已处理区块链的状态,同时不允许访问原始交易数据。在一些示例中,区块链网络的参与方可以将由区块链主密钥加密的交易提交给区块链网络。可以将交易转发到基于冲突解决协议、共识协议和/或类似物选择的区块链网络中的特定验证节点(VN)。然后,选择的VN可以通过执行交易代码来处理反应,然后可以解决任意冲突。该交易可以是简单交易、智能合约等。在某些示例中,VN根据机密联盟(COCO)区块链框架进行操作,该框架允许使用任意合适的区块链协议,并允许将任意合适的共识协议与COCO框架结合使用。在一些示例中,仅可以使用由成员同意的协议,但是成员可以在任意合适的协议上同意。在某些示例中,COCO框架本身并不定义区块链分类账和实际的区块链交易处理,而是允许使用任意合适的分类账和区块链协议,并能够为交易启用机密属性,管理信任假设,允许网络仅执行一次链码,允许链码是不确定的,并允许链码包括与外部系统的交互。虽然COCO框架可以用于提供某些机密性保证,并且可以与任意合适的区块链协议一起使用,但是诸如以太坊的合适的区块链协议的某些方面可能与COCO的机密性保证不兼容。本公开的一些示例可以使得诸如以太坊的协议能够与COCO框架一起使用,同时仍然支持COCO的机密性并且不需要对协议进行深度修改。在一些示例中,除非通过确保机密性保证被满足的指定手段,否则不允许对原始交易数据的访问,并且不允许对状态信息的访问。例如可以禁用允许访问敏感状态信息的协议的API。在一本文档来自技高网...

【技术保护点】
1.一种装置,包括:/n设备,包括至少一个存储器和至少一个处理器,所述至少一个存储器适于存储针对所述设备的运行时数据,并且所述至少一个处理器适于执行处理器可执行代码,所述处理器可执行代码响应于执行,使得所述设备能够执行动作,所述动作包括:/n在处理器的可信执行环境(TEE)中存储预定类型的区块链协议代码;/n使用TEE证明来验证在所述TEE中存储的所述区块链协议代码是所述预定类型的区块链协议代码;/n接收区块链交易;/n处理所述区块链交易,同时不允许访问原始交易数据;以及/n对于区块链网络,基于所述区块链交易的所述处理来更新已处理区块链的状态,同时不允许访问原始交易数据。/n

【技术特征摘要】
【国外来华专利技术】20170425 US 62/489,907;20170926 US 15/715,6201.一种装置,包括:
设备,包括至少一个存储器和至少一个处理器,所述至少一个存储器适于存储针对所述设备的运行时数据,并且所述至少一个处理器适于执行处理器可执行代码,所述处理器可执行代码响应于执行,使得所述设备能够执行动作,所述动作包括:
在处理器的可信执行环境(TEE)中存储预定类型的区块链协议代码;
使用TEE证明来验证在所述TEE中存储的所述区块链协议代码是所述预定类型的区块链协议代码;
接收区块链交易;
处理所述区块链交易,同时不允许访问原始交易数据;以及
对于区块链网络,基于所述区块链交易的所述处理来更新已处理区块链的状态,同时不允许访问原始交易数据。


2.根据权利要求1所述的装置,所述动作还包括:
接收针对智能合约的代码;
确定所述代码是否符合机密性设计模式;以及
如果所述代码不符合所述机密性设计模式
拒绝所述代码
否则
部署所述代码。


3.根据权利要求2所述的装置,其中所述机密性设计模式要求访问控制被内置于所述智能合约中。


4.根据权利要求2所述的装置,其中所述机密性设计模式要求事件关于所述事件可用于哪些地址被限制。


5.根据权利要求2所述的装置,其中所述机密性设计模式要求变量被限制为由定义的功能访问。


6.一种方法,包括:
使用可信执行环境(TEE)证明来验证在所述至少一个处理器的处理器的TEE中存储的安全协议代码是预定类型的安全协议代码;
处理针对联盟网络的区块链交易,同时除了经由智能合约之外不允许访问状态信息;以及
至少使用所述处理器针对所述联盟网络基于所述区块链交易的所述...

【专利技术属性】
技术研发人员:I·沃登
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1