Smart contracts, (blockchains, distributed ledgers) and rights management broadly construed are the themes of today's Spotlight Patents. Assigned to eBay, the first of today's patents addresses adaptive security for smart contracts using high granularity metrics. Assigned to ANT (KY), the second patent addresses techniques for traversing a smart contract database through a logic map.
11,405,182, "Adaptive security for smart contracts using high granularity metrics," assigned to eBay.
Abstract
Technologies are shown for HGM based control for smart contract execution. HGM control rules control function calls at a system level utilizing function boundary detection instrumentation in a kernel that executes smart contracts. The detection instrumentation generates a call stack that represents a chain of function calls in the kernel for a smart contract. The HGM control rules are applied to HGMs collected from the call stack to allow or prohibit specific HGMs observed in functions or function call chains. HGM control rules can use dynamic state data in the function call chain. If the dynamic state data observed in function call chains does not meet the requirements defined in the HGM control rules, then the function call can be blocked from executing or completing execution. The HGM control rules can be generated by executing known sets of acceptable or vulnerable smart contracts and collecting the resulting HGMs.
11,403,344, "Traversing smart contract database through logic map," assigned to Advanced New Technologies Co., Ltd.
(KY)Abstract
Implementations of the present disclosure include determining a first number of an index corresponding to one of a first one or more key-value pairs (KVPs) of a Merkle Patricia Tree (MPT) used by a smart contract database; determining, based on the first number of the index, a first key of a first KVP of a second one or more KVPs of a map for traversing the MPT; determining a first value corresponding to the first key of the first KVP; determining a second key of a second KVP of the second one or more KVPs; and retrieving the second value corresponding to the second key of the second KVP.