US 11,736,271 B2
Method for signing a new block in a decentralized blockchain consensus network
Ghassan Karame, Heidelberg (DE); Wenting Li, Sandhausen (DE); Giorgia Azzurra Marson, Zurich (CH); Jens-Matthias Bohli, Leimen (DE); and Sebastien Andreina, Heidelberg (DE)
Assigned to NEC CORPORATION, Tokyo (JP)
Appl. No. 16/650,389
Filed by NEC Laboratories Europe GmbH, Heidelberg (DE)
PCT Filed Sep. 21, 2018, PCT No. PCT/EP2018/075692
§ 371(c)(1), (2) Date Mar. 25, 2020,
PCT Pub. No. WO2020/057757, PCT Pub. Date Mar. 26, 2020.
Prior Publication US 2020/0228318 A1, Jul. 16, 2020
Int. Cl. H04L 29/06 (2006.01); H04L 9/06 (2006.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC H04L 9/0637 (2013.01) [H04L 9/3236 (2013.01); H04L 9/3297 (2013.01); H04L 9/50 (2022.05)] 7 Claims
OG exemplary drawing
 
1. A method for mining and validating a new block in a blockchain of a distributed blockchain consensus network (DBCN) based on a proof-of-stake protocol, the method comprising:
generating, by a peer of the blockchain, a new transaction including reference information of a most recent block of the blockchain;
validating, by a mining computing entity (MCE) with a trusted execution environment entity (TEEE), the new transaction by checking whether the most recent block refers to an active blockchain branch of the MCE;
upon successful validation of the transaction, initiating, by the MCE, a request for new block generation;
comparing, by the MCE, block height information of the block saved in the TEEE from a last block generation request with the block height information of the block of the actual block generation request;
providing, by the TEEE of the MCE, trusted elapsed time;
computing, by the MCE, a block signature using secret signing information of the TEEE of the MCE;
computing, by the MCE, the new block, wherein the new block includes the block signature, the provided trusted elapsed time, and transaction information of the transaction;
validating, by the peer, the new block by computing a difference between the trusted elapsed time of the new block and an elapsed time of the new block, wherein the trusted elapsed time of the new block is determined using a trusted time provider and a registration timestamp indicating an initial time of registration of the MCE in the blockchain, and wherein the elapsed time of the new block is determined based on an interval between when the new block was received and the initial time of registration of the MCE in the blockchain;
comparing, by the peer, the computed difference with one or more predefined security parameters; and
adding, by the peer, the new block to the blockchain based on the computed difference being less than the one or more predefined security parameters.