IP Library › Granted Patent US 10,764,259
Granted Patent B2
US 10,764,259 · App. 15/638,213 · Granted Sep 1, 2020

Transaction processing for consortium blockchain network

Inventors: Mark Russinovich (Hunts Point, WA); Manuel Costa (Cambridge, GB); Matthew Kerner (Seattle, WA); Thomas Moscibroda (Beijing, CN)
Assignee: Microsoft Technology Licensing, LLC
H04L63/0435G06F21/53G06F21/57G06F21/74G06Q20/00G06Q20/02G06Q20/065G06Q20/3829G11B20/00282H04L9/0637H04L9/3236H04L9/3265H04L63/062H04L63/065H04L63/08H04L63/10H04L63/101H04L63/104H04L63/12H04L63/123H04L9/0833H04L9/3242H04L9/3255H04L2209/127H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,764,259
App. No.
15/638,213
Filed
Jun 29, 2017
Granted
Sep 1, 2020
Kind
B2
Examiner
KORSAK, OLEG
Art Unit
2492
USPC
726/4
Abstract

The disclosed technology is generally directed to blockchain and other security technology. In one example of the technology, a pre-determined type of blockchain or other security protocol code is stored in a trusted execution environment (TEE) of the processor. TEE attestation is used to verify that the blockchain or other security protocol code stored in the TEE is the pre-determined type of blockchain or other security protocol code. A blockchain or other transaction is received and processed. Based on the processing of the transaction, an official state of the transaction on a consortium network is directly updated for the network. The updated official state of the processed transaction is broadcasted to the consortium network.

Claims (45)

1. An apparatus for a blockchain system, comprising:

a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including:

storing a pre-determined type of consortium blockchain protocol code in a trusted execution environment (TEE) of the processor;

using TEE attestation to verify that the consortium blockchain protocol code stored in the TEE is the pre-determined type of consortium blockchain protocol code;

receiving a blockchain transaction;

processing the blockchain transaction;

directly updating, for a consortium blockchain network, an official state of the processed blockchain based on the processing of the blockchain transaction such that the official state of the processed blockchain is updated without requiring confirmation outside of the device; and

broadcasting the updated official state of the processed blockchain to the consortium blockchain network.

2. The apparatus of claim 1 , the actions further comprising:

using a consensus algorithm to elect a validation node leader, wherein the blockchain transaction is received by the validation node leader.

3. The apparatus of claim 1 , the actions further comprising:

performing conflict resolution based, at least in part, on a consensus algorithm.

4. The apparatus of claim 1 , wherein the blockchain transaction is received from a forwarding validation node that forwarded the blockchain transaction based on at least one of a conflict resolution protocol or a consensus protocol, and wherein the forwarding validation node received the transaction from a participant.

5. The apparatus of claim 4 , the actions further comprising:

authorizing the participant, including receiving a public transaction key associated with the participant.

6. A method for a blockchain system, comprising:

storing a pre-determined type of consortium blockchain protocol code in a trusted execution environment (TEE) of a processor of a device;

using TEE attestation to verify that the consortium blockchain protocol code stored in the TEE is the pre-determined type of consortium blockchain protocol code;

receiving a blockchain transaction;

processing the blockchain transaction;

using at least the processor to directly update, for a consortium blockchain network, an official state of the processed blockchain based on the processing of the blockchain transaction such that the official state of the processed blockchain is updated without requiring confirmation outside of the device; and

broadcasting the updated official state of the processed blockchain to the consortium blockchain network.

7. The method of claim 6 , further comprising:

using a consensus algorithm to elect a validation node leader, wherein the blockchain transaction is received by the validation node leader.

8. The method of claim 6 , further comprising:

performing conflict resolution based, at least in part, on a consensus algorithm.

9. The method of claim 6 , wherein the blockchain transaction is encrypted and confidential such that viewing of the blockchain transaction is limited to authorized parties.

10. The method of claim 6 , wherein processing the blockchain transaction includes executing non-deterministic code.

11. The method of claim 6 , wherein the TEE includes at least one protected region in the processor.

12. The method of claim 6 , wherein the TEE includes two protected regions in the processor.

13. The method of claim 6 , wherein the TEE authorization is periodically renewed.

14. The method of claim 6 , wherein the blockchain transaction is received from a forwarding validation node that forwarded the blockchain transaction based on at least one of a conflict resolution protocol or a consensus protocol, and wherein the forwarding validation node received the transaction from a participant.

15. The method of claim 14 , further comprising:

authorizing the participant, including receiving a public transaction key associated with the participant.

16. A processor-readable storage medium, having stored thereon processor-executable code that, upon execution by at least one processor of a device, enables actions, comprising:

using trusted execution environment (TEE) attestation to verify that security protocol code stored in a TEE of a processor of the at least one processor is a pre-determined type of security protocol code;

processing a transaction for a consortium blockchain network; and

directly updating, for the consortium blockchain network, an official state of the processed transaction based on the processing of the transaction such that the official state of the processed blockchain is updated without requiring confirmation outside of the device.

17. The processor-readable storage medium of claim 16 , the processor-executable code enabling, upon execution, further actions, comprising:

using a consensus algorithm to elect a validation node leader, wherein the transaction is received by the validation node leader.

18. The processor-readable storage medium of claim 16 , the processor-executable code enabling, upon execution, further actions, comprising:

performing conflict resolution based, at least in part, on a consensus algorithm.

19. The processor-readable storage medium of claim 16 , wherein the transaction is received from a forwarding validation node that forwarded the transaction based on at least one of a conflict resolution protocol or a consensus protocol, and wherein the forwarding validation node received the transaction from a participant.

20. The processor-readable storage medium of claim 19 , the processor-executable code enabling, upon execution, further actions, comprising:

authorizing the participant, including receiving a public transaction key associated with the participant.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2017
From: RUSSINOVICH, MARK; COSTA, MANUEL; KERNER, MATTHEW; MOSCIBRODA, THOMAS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043850/0001 →
Continuity (2)
Provisional Application 62455981 · Feb 7, 2017
Related Publication 20180225448A1 · Aug 9, 2018