US 11,991,298 B2
Method for the execution of an instance of a smart contract by means of a blockchain
Fausto Spoto, Zug (CH); Iris Dimni, Zug (CH); Francesco Pasetto, Zug (CH); and Giovanni Antino, Zug (CH)
Assigned to AILIA SA, Zug (CH)
Appl. No. 17/618,522
Filed by AILIA SA, Zug (CH)
PCT Filed Jun. 15, 2020, PCT No. PCT/IB2020/055582
§ 371(c)(1), (2) Date Dec. 13, 2021,
PCT Pub. No. WO2020/250206, PCT Pub. Date Dec. 17, 2020.
Claims priority of application No. 102019000008991 (IT), filed on Jun. 14, 2019; and application No. 102019000020476 (IT), filed on Nov. 6, 2019.
Prior Publication US 2022/0247583 A1, Aug. 4, 2022
Int. Cl. G06F 21/62 (2013.01); H04L 9/00 (2022.01)
CPC H04L 9/50 (2022.05) [G06F 21/6218 (2013.01)] 11 Claims
OG exemplary drawing
 
1. A method for executing an instance of a smart contract by a blockchain shared between a plurality of nodes, comprising
a first step of serialization in the blockchain of the smart contract and generation of a pointer to the smart contract,
a second step of generating the instance of the smart contract and a first execution of at least one method of the instance,
and comprising the following steps in a cyclic succession:
a third step of serialization in the blockchain of a plurality of status files, wherein each of the plurality of status files contains a state that defines the instance only by at least one internal variable of the instance that is altered by a most recent execution of the at least one method of the instance at an end of a respective plurality of executions of the at least one method of the instance, each of the plurality of the status files omitting a value of any internal variables of the instance that are unaltered, wherein the plurality of status files are temporally ordered according to the respective plurality of executions of the instance,
a fourth step of deserialization in a RAM of a last state of the instance deserializing at least one last status file from the blockchain,
a fifth step of deserialization of the instance valuing a state of the instance according to a last deserialized state, and
a sixth step comprising a further execution of the at least one method of the instance,
wherein in the each of the plurality of status files only internal variables affected by a change in the respective plurality of executions of the instance are saved, and wherein, if a call to a new instance is marked as invalid, creation of the new instance is automatically aborted,
wherein the internal variables of the deserialization are valued on a request, only when necessary to perform one or more methods of executing the instance to obtain an executed instance,
the method further comprising a step of deserializing the plurality of status files recursively from a last to an oldest up to deserialize the internal variables necessary for an execution of the one or more methods of the executed instance,
wherein a plurality of requests for executing the instance of the smart contract are grouped together and executed serially in a predetermined order and an arbitrary execution order indicated as a Delta-group, and wherein a node executing the Delta-group presents results of execution in a single bundle of the results and serializes the single bundle of the results in a single blockchain transaction.