Home Patent Forecast® Sectors Log In   Contact  
How it works Patent Forecast® Sectors Insights
Menu
Enjoy your FREE PREVIEW which shows only 2022 data and 25 documents. Contact Patent Forecast for full access.        

Z-ARCHIVE-Cryptocurrency

Search All Patents in Z-ARCHIVE-Cryptocurrency


Patent US10146792


Issued 2018-12-04

Systems And Methods For Implementing A Programming Model For Smart Contracts Within A Decentralized Computer Network

Computer-implemented methods and systems for implementing smart contract modules on a decentralized network are disclosed.



Much More than Average Length Specification


View the Patent Matrix® Diagram to Explore the Claim Relationships

USPTO Full Text Publication >

1 Independent Claim

  • 1. A computer implemented method for implementing a smart contract module on a decentralized network, the decentralized network configured to enable peer-to-peer connection amongst a plurality of nodes, the computer-implemented method comprising: publishing, via at least one node in the plurality of nodes, the smart contract module to the decentralized network, the smart contract module including at least one function comprising client-side functionality to be run on a single node in the plurality of nodes and server-side functionality to be run on the single node and on one or more other nodes in the plurality of nodes, the publishing comprising communication of an electronic message either point-to-point or within a distributed consensus protocol, communication of the electronic message using the distributed consensus protocol comprising appending the electronic message to a log structure accessible by other network nodes; at a first node in the plurality of nodes only and not at any other nodes in the plurality of nodes: triggering execution of the client-side functionality in the at least one function, the client-side functionality being triggered in response to a request placed via the first node's Application Programming Interface (API), the execution of the client-side functionality comprising read-only queries of a state of the first node, wherein the state of the first node is stored in a persistent storage volume or volatile system memory in electronic communication with the first node, wherein the client-side functionality is executed in a stateless virtual machine environment isolated from all other client-side execution function calls, the execution of the client-side functionality occurring on only the first node and the execution of the client-side functionality having no effect on a state of any node except through construction and broadcast of one or more transactions to the decentralized network, the one or more transactions once broadcasted being validated and executed independently of the execution of the client-side functionality; and in response to the execution of the client-side functionality on the first node: accessing a state of the first node from a storage associated with the smart contract module using the virtual machine environment for the execution of the client-side functionality, constructing/defining one or more transactions as electronic messages based at least in part on the state of the first node determined from executing the client-side functionality the electronic messages comprising commands that trigger server-side contract functionality with contract functionality arguments based on client-side contract logic, the commands invoking the server-side functionality to be executed in a virtual machine environment on at least one node within the decentralized network, and broadcasting the one or more transactions on the decentralized network to generate a broadcasted transaction, thereby constructing/defining and broadcasting the one or more transactions on the decentralized network based at least in part on the state of the first node determined from executing the client-side functionality on the first node and without executing the server-side functionality that is part of the smart contract module on any node on the decentralized network; for each node in the plurality of nodes on the decentralized network, including the first node and one or more other nodes on the decentralized network: in response to the broadcasted transaction, executing the server-side functionality in the at least one function, the server-side functionality enabling each node in the plurality of nodes, including the first node, to read from and write to the storage associated with the smart contract module, the broadcasted transaction including an identifier for the server-side functionality; and in response to executing the server-side functionality: constructing/defining one or more transactions as electronic messages comprising commands that trigger server-side contract functionality with contract functionality arguments based on server-side contract logic, the commands invoking the server-side functionality to be executed in the virtual machine environment on at least one node within the decentralized network; broadcasting the transaction(s); and reading a node state by accessing in a read/write mode within the virtual machine execution environment on at least one node within the decentralized network; and one or more of: triggering execution of one or more heartbeat functions that have been registered previously according to specified triggers; changing a corresponding state of at least a portion of the node; or generating other side effects; wherein each of the plurality of nodes comprises one or more computer systems having one or more processors and one or more electronic storage medium.