CPC H04L 9/3247 (2013.01) [H04L 9/30 (2013.01); H04L 9/3239 (2013.01); H04L 9/3297 (2013.01); H04L 9/50 (2022.05); H04L 2209/805 (2013.01)] | 17 Claims |
1. A plurality of unenrolled lightweight nodes on a decentralized network with at least a trusted node and a plurality of peers that include at least one enrolled lightweight node, each respective unenrolled lightweight node and the peers running a lightweight blockchain consensus algorithm, each respective unenrolled lightweight node comprising:
circuitry for locally storing a T0 transaction in the respective lightweight node, the T0 transaction comprising:
a transaction body comprising a first identifier and a public key of the trusted node, the first identifier being associated with a public key of the trusted node;
a signature of the transaction body comprising the first identifier and the public key of the trusted node, all signed by the private key of the trusted node;
a header comprising a hash of the transaction body and the signature of the transaction body;
a genesis block comprising a block header and a block body;
the block header comprising at least metadata, a block identifier (block_id), a transaction Merkle root, and a data Merkle root;
the block body of the genesis block comprising the T0 transaction and a revocation list;
circuitry for broadcasting an authentication request for blockchain enrollment of the respective unenrolled lightweight node to the plurality of peers, including to the at least one enrolled lightweight node, the authentication request comprising a T1 transaction, the T1 transaction comprising:
a first field comprising a second identifier and the public key of the respective unenrolled lightweight node;
a T1 token comprising the second identifier, the public key of the respective unenrolled lightweight node, and a timestamp, all signed by the private key of the trusted node;
a second field comprising the second identifier and the public key of the respective unenrolled lightweight node, all signed by the private key of the respective unenrolled lightweight node;
a hash of the first field, the T1 token, and the second field;
each respective enrolled node verifying a respective received T1 transaction for enrollment of the respective unenrolled lightweight node by the lightweight blockchain consensus algorithm by:
verifying the associated T1 token using the public key of the trusted node;
verifying a signature of a the respective received T1 transaction second field using the public key from the received T1 transaction first field
whereby a change in the revocation list causes a Merkle root of the revocation list to be recomputed and the transaction Merkle root to be recomputed using the recomputed Merkel root of the revocation list, the recomputed transaction Merkle root stored in the genesis block.
|