US 12,143,496 B1
Block validation using authenticated index data structure
Jude Nelson, New Brunswick, NJ (US); and Aaron Blankstein, Chicago, IL (US)
Assigned to Hiro Systems PBC, New York, NY (US)
Filed by Blockstack PBC, New York, NY (US)
Filed on Nov. 25, 2020, as Appl. No. 17/105,297.
Claims priority of provisional application 62/946,229, filed on Dec. 10, 2019.
Int. Cl. H04L 9/00 (2022.01); H04L 9/32 (2006.01)
CPC H04L 9/3236 (2013.01) [H04L 9/3263 (2013.01); H04L 9/3297 (2013.01); H04L 9/50 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A computing device of a decentralized network comprising:
a network interface configured to couple the computing device to the decentralized network;
a hardware processor; and
a non-transitory computer readable storage medium storing program instructions for execution by the hardware processor in order to cause the computing device to:
transmit a request for a value associated with a key, wherein a hash of the value is stored in a first adaptive radix trie (ART) associated with a first block in a fork in a blockchain, and wherein the first block is an ancestor of a current block in the fork in the blockchain;
transmit a second request for a proof that the hash of the value received in response to transmission of the request is valid;
determine an ART root hash of the first block using a head shunt proof and a first segment proof received in response to transmission of the second request, wherein the head shunt proof is based on a hash of data derived from a second ART different than the first ART that is associated with a second block in the fork in the blockchain that precedes the first block, wherein the second block is another ancestor of the current block in the fork in the blockchain;
determine a second ART root hash of the current block using a second shunt proof received in response to transmission of the second request, a second segment proof received in response to transmission of the second request, and the determined ART root hash of the first block;
compare the determined second ART root hash of the current block to a third ART root hash provided by a second computing device; and
validate that a third ART associated with the current block represents an accurate digest of a materialized view of the fork in response to a determination that the determined second ART root hash matches the third ART root hash.