IP Library › Granted Patent US 12,693,998
Granted Patent B2
US 12,693,998 · App. 16/176,982 · Granted Jul 28, 2026

Systems and methods for implementing a programming model for smart contracts within a decentralized computer network

Inventors: Lukasz Dobrek (Ossining, NY); Adam Krellenstein (New York, NY); Ouziel Slama (Bordeaux, FR); Pankaj Surana (New York, NY); Aaron Todd (New York, NY)
Assignee: Platonic Holdings, Inc.
G06F16/1834G06Q20/0655G06Q20/3829G06Q20/405H04L9/32H04L9/3236H04L9/3297H04L9/50H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,693,998
App. No.
16/176,982
Filed
Oct 31, 2018
Granted
Jul 28, 2026
Kind
B2
Art Unit
3698
USPC
705/51
Abstract

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

Claims (55)

1 . A computer-implemented method for implementing smart contracts on a decentralized network, the decentralized network configured to enable peer-to-peer connection amongst a plurality of nodes on the decentralized network, the computer-implemented method comprising:

executing, in a virtual machine execution environment of a first node of the plurality of nodes, a client-side functionality that (1) includes read access to storage of the first node and (2) excludes write access to the storage of the first node, based on client-side contract logic within a smart contract module of the first node;

in response to executing the client-side functionality, at the first node of the plurality of nodes:

retrieving a state of the first node from the storage of the first node, and

constructing an electronic message including commands that cause, when executed, execution of a server-side functionality of a second node to read from and write to a storage of a the second node of the plurality of nodes;

sending, to the second node of the plurality of nodes on the decentralized network, the electronic message to cause execution of the server-side functionality of the second node to modify a state of the second node;

receiving an electronic message (1) from a third node of the plurality of nodes and (2) including commands that cause, when executed, execution of a server-side functionality of the first node to read from and write to the storage of the first node, based on server-side logic within the smart contract module of the first node; and

in response to receiving the electronic message from the third node, executing, in the virtual machine execution environment of the first node, the server-side functionality of the first node to modify the state of the first node.

2 . The computer-implemented method of claim 1 , wherein:

execution of the server-side functionality of the first node further executes a heartbeat function at the first node, to cause the first node to return the state of the first node.

3 . The computer-implemented method of claim 1 , wherein:

the client-side functionality is implemented by client-side logic of a first smart contract; and

the server-side functionality of the second node is implemented by server-side logic of a second smart contract that is different from the first smart contract.

4 . The computer-implemented method of claim 1 , wherein:

the virtual machine execution environment of the first node includes a stateless virtual machine execution environment; and

the stateless virtual machine execution environment is isolated from any client-side execution function call not associated with the client-side functionality.

5 . The computer-implemented method of claim 1 , wherein:

the electronic message once sent to the second node is validated and executed independently of the execution of the client-side functionality.

6 . The computer-implemented method of claim 1 , wherein:

the retrieving the state of the first node excludes executing server-side functionality on any node on the decentralized network.

7 . The computer-implemented method of claim 1 , further comprising:

cryptographically signing the electronic message before sending the electronic message to the second node.

8 . The computer-implemented method of claim 1 , further comprising:

in response to sending the electronic message to the second node, executing the server-side functionality of the first node in the virtual machine execution environment of the first node to modify the state of the first node.

9 . The computer-implemented method of claim 1 , wherein at least a portion of the computer-implemented method utilizes Command Query Responsibility Segregation (CQRS).

10 . The computer-implemented method of claim 1 , further comprising:

broadcasting the electronic message to cause execution of the electronic message in an associated virtual machine of each node of the plurality of nodes in the decentralized network.

11 . A non-transitory, processor-readable medium storing instructions that, when executed by a processor, cause the processor to:

execute a client-side functionality of a smart contract module in a stateless virtual machine execution environment and in response to a request placed via an application programming interface (API), to perform a read-only query of a state stored in a persistent storage volume or a volatile system memory;

in response to executing the client-side functionality, construct an electronic message that represents a transaction, based on the state determined from executing the client-side functionality, the electronic message further encoding commands that, when executed, cause execution of server-side contract functionality on at least one first node of a decentralized network to read from and write to a storage of at least one additional smart contract module;

broadcast, on the decentralized network, the electronic message that includes an identifier associated with a server-side functionality to cause execution of the server-side functionality in at least one stateless virtual machine execution environment of the at least one first node of the decentralized network to modify a state of the at least one first node based on the transaction and a state of the storage of the at least one additional smart contract module;

receive an electronic message (1) from a second node of the decentralized network and (2) including commands that cause, when executed, execution of a server-side functionality of the smart contract module to read from and write to the persistent storage volume or the volatile system memory, based on server-side logic within the smart contract module; and

in response to receiving the electronic message from the second node of the decentralized network, execute, in the stateless virtual machine execution environment, the server-side functionality of the smart contract module to modify the state stored in the persistent storage volume or the volatile system memory.

12 . The non-transitory, processor-readable medium of claim 11 , wherein the transaction once broadcasted is validated and executed independently of the execution of the client-side functionality.

13 . The non-transitory, processor-readable medium of claim 11 , wherein:

the electronic message is cryptographically signed.

14 . The non-transitory, processor-readable medium of claim 11 , wherein:

the stateless virtual machine execution environment is isolated from any client-side execution function call not associated with the client-side functionality.

15 . The non-transitory, processor-readable medium of claim 11 , wherein:

the smart contract module is associated with a first smart contract; and

the at least one additional smart contract module is associated with at least one second smart contract that is different from the first smart contract.

16 . A method, comprising:

executing, via a processor, a client-side functionality of a smart contract module in a stateless virtual machine execution environment and in response to a request placed via an application programming interface (API), to perform a read-only query of a state stored in a persistent storage volume or volatile system memory;

in response to executing the client-side functionality, constructing, via the processor, an electronic message that represents a transaction, based on the state determined from executing the client-side functionality, the electronic message further encoding commands that, when executed, cause execution of server-side contract functionality on at least one first node of a decentralized network to read from and write to a storage of at least one additional smart contract module;

broadcasting, via the processor and on the decentralized network, the electronic message that include an identifier associated with a server-side functionality to cause execution of the server-side functionality in at least one stateless virtual machine execution environment of the at least one first node of the decentralized network to modify a state of the at least one first node based on the transaction and a state of the storage of the at least one additional smart contract module;

receiving, at the processor, an electronic message (1) from a second node of the decentralized network and (2) including commands that cause, when executed, execution of a server-side functionality of the smart contract module to read from and write to the persistent storage volume or the volatile system memory, based on server-side logic within the smart contract module; and

in response to receiving the electronic message from the second node of the decentralized network, executing, via the processor and in the stateless virtual machine execution environment, the server-side functionality of the smart contract module to modify the state stored in the persistent storage volume or the volatile system memory.

17 . The method of claim 16 , wherein the transaction once broadcasted is validated and executed independently of the execution of the client-side functionality.

18 . The method of claim 16 , wherein:

the electronic message is cryptographically signed.

19 . The method of claim 16 , wherein:

the stateless virtual machine execution environment is isolated from any client-side execution function call not associated with the client-side functionality.

20 . The method of claim 16 , wherein:

the smart contract module is associated with a first smart contract; and

the at least one additional smart contract module is associated with at least one second smart contract that is different from the first smart contract.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: DOBREK, LUKASZ; KRELLENSTEIN, ADAM; SLAMA, OUZIEL; SURANA, PANKAJ; TODD, AARON
To: SYMBIONT.IO, INC.
Reel/Frame 069469/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: DOBREK, LUKASZ; KRELLENSTEIN, ADAM; SLAMA, OUZIEL; SURANA, PANKAJ; TODD, AARON
To: SYMBIONT.IO, INC.
Reel/Frame 069469/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: LM FUNDING AMERICA, INC.
To: PLATONIC HOLDINGS, INC.
Reel/Frame 069461/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: DOBREK, LUKASZ; KRELLENSTEIN, ADAM; SURANA, PANKAJ; TODD, AARON
To: SYMBIONT.IO, INC.
Reel/Frame 069469/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2023
From: SYMBIONT.IO, INC.
To: LM FUNDING AMERICA, INC.
Reel/Frame 063940/0290 →
Continuity (4)
Continuation 15994714 · May 31, 2018
Provisional Application 62512997 · May 31, 2017
Provisional Application 62512988 · May 31, 2017
Related Publication 20200050591A1 · Feb 13, 2020
References Cited (118)
US 5550976A · Henderson et al. · 1996 [cited by applicant]
US 9397985B1 · Seger, II · 2016 [cited by examiner]
US 9569771B2 · Lesavich et al. · 2017 [cited by applicant]
US 9722790B2 · Ebrahimi · 2017 [cited by applicant]
US 10135607B1 · Roets · 2018 [cited by applicant]
US 10146792B1 · Dobrek et al. · 2018 [cited by applicant]
US 10320843B1 · Dobrek et al. · 2019 [cited by applicant]
US 10476847B1 · Smith et al. · 2019 [cited by applicant]
US 11057353B2 · Smith et al. · 2021 [cited by applicant]
US 20050038732A1 · Sweeting et al. · 2005 [cited by applicant]
US 20050204128A1 · Aday et al. · 2005 [cited by applicant]
US 20060265259A1 · Diana et al. · 2006 [cited by applicant]
US 20070129958A1 · Wu et al. · 2007 [cited by applicant]
US 20090182667A1 · Parkes et al. · 2009 [cited by applicant]
US 20110320681A1 · Borntraeger · 2011 [cited by examiner]
US 20140156534A1 · Quigley et al. · 2014 [cited by applicant]
US 20150262176A1 · Langschaedel et al. · 2015 [cited by applicant]
US 20160210710A1 · Glennon · 2016 [cited by applicant]
US 20160342994A1 · Davis · 2016 [cited by applicant]
US 20160379013A1 · Ganesan et al. · 2016 [cited by applicant]
US 20170005804A1 · Zinder · 2017 [cited by applicant]
US 20170011460A1 · Molinari et al. · 2017 [cited by applicant]
US 20170017954A1 · McDonough et al. · 2017 [cited by applicant]
US 20170046689A1 · Lohe et al. · 2017 [cited by applicant]
US 20170046698A1 · Haldenby et al. · 2017 [cited by applicant]
US 20170075941A1 · Finlow-Bates · 2017 [cited by applicant]
US 20170085555A1 · Gisikalo et al. · 2017 [cited by applicant]
US 20170104731A1 · Baudoin et al. · 2017 [cited by applicant]
US 20170116693A1 · Rae et al. · 2017 [cited by applicant]
US 20170124556A1 · Seger · 2017 [cited by applicant]
US 20170155515A1 · Androulaki · 2017 [cited by examiner]
US 20170161829A1 · Mazier · 2017 [cited by applicant]
US 20170177898A1 · Dillenberger · 2017 [cited by applicant]
US 20170213221A1 · Kurian et al. · 2017 [cited by applicant]
US 20170230189A1 · Toll et al. · 2017 [cited by applicant]
US 20170236104A1 · Biton · 2017 [cited by applicant]
US 20170243193A1 · Manian et al. · 2017 [cited by applicant]
US 20170243209A1 · Johnsrud et al. · 2017 [cited by applicant]
US 20170279774A1 · Booz et al. · 2017 [cited by applicant]
US 20170289111A1 · Voell et al. · 2017 [cited by applicant]
US 20170300627A1 · Giordano · 2017 [cited by examiner]
US 20170330159A1 · Castinado et al. · 2017 [cited by applicant]
US 20170344988A1 · Cusden et al. · 2017 [cited by applicant]
US 20170352012A1 · Hearn et al. · 2017 [cited by applicant]
US 20170352116A1 · Pierce et al. · 2017 [cited by applicant]
US 20180005186A1 · Hunn · 2018 [cited by examiner]
US 20180018738A1 · Bernauer · 2018 [cited by applicant]
US 20180075686A1 · Campero et al. · 2018 [cited by applicant]
US 20180089641A1 · Chan et al. · 2018 [cited by applicant]
US 20180089761A1 · Stradling et al. · 2018 [cited by applicant]
US 20180101848A1 · Castagna et al. · 2018 [cited by applicant]
US 20180117447A1 · Tran et al. · 2018 [cited by applicant]
US 20180181309A1 · Miyamae · 2018 [cited by examiner]
US 20180183768A1 · Lobban · 2018 [cited by applicant]
US 20180225660A1 · Chapman · 2018 [cited by examiner]
US 20180253702A1 · Dowding · 2018 [cited by applicant]
US 20180254898A1 · Sprague et al. · 2018 [cited by applicant]
US 20180262493A1 · Andrade · 2018 [cited by applicant]
US 20180268386A1 · Wack et al. · 2018 [cited by applicant]
US 20180294966A1 · Hyun et al. · 2018 [cited by applicant]
US 20180375847A1 · Schropfer · 2018 [cited by applicant]
US 20190012662A1 · Krellenstein et al. · 2019 [cited by applicant]
US 20190013943A1 · Maim · 2019 [cited by applicant]
US 20190013948A1 · Mercuri · 2019 [cited by applicant]
US 20190019144A1 · Gillen · 2019 [cited by applicant]
US 20190052458A1 · Wright · 2019 [cited by examiner]
US 20190073666A1 · Ortiz et al. · 2019 [cited by applicant]
US 20190114706A1 · Bell et al. · 2019 [cited by applicant]
US 20190147532A1 · Singh et al. · 2019 [cited by applicant]
US 20190166095A1 · Tobin · 2019 [cited by applicant]
US 20190191293A1 · Nelson et al. · 2019 [cited by applicant]
US 20190305935A1 · Qiu · 2019 [cited by applicant]
US 20190373137A1 · Krukar et al. · 2019 [cited by applicant]
US 20200112545A1 · Smith et al. · 2020 [cited by applicant]
EP 2852121 · 2015 [cited by applicant]
KR 20180060044 · 2018 [cited by applicant]
WO WO2018209222 · 2018 [cited by applicant]
Cecchetti, Ethan, et al. “Solidus: Confidential distributed ledger transactions via PVORM.” Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2017. (Year: 2017). [cited by applicant]
Klems, Markus, et al. “Trustless intermediation in blockchain-based decentralized service marketplaces.” International Conference on Service-Oriented Computing. Springer, Cham, 2017. (Year: 2017). [cited by applicant]
International Search Report and Written Opinion issued in PCT App. No. PCT/US2020/027798, dated Jul. 24, 2020. [cited by applicant]
Neisse, Ricardo, Gary Steri, and Igor Nai-Fovino. “A blockchain-based approach for data accountability and provenance tracking.” Proceedings of the 12th International Conference on Availability, Reliability and Security… [cited by applicant]
R. Tonelli, M. I. Lunesu, A. Pinna, D. Taibi and M. Marchesi, “Implementing a Microservices System with Blockchain Smart Contracts,” 2019 IEEE International Workshop on Blockchain Oriented Software Engineering (IWBOSE),… [cited by applicant]
Zhang, Peng, et al. “Metrics for assessing blockchain-based healthcare decentralized apps.” 2017 IEEE 19th International Conference on e-Health Networking, Applications and Services (Healthcom). IEEE, 2017. (Year: 2017). [cited by applicant]
Christidis et al., “Blockchains and Smart Contracts for the Internet of Things”, IEEE Access 4, 2016, vol. 4, pp. 2292-2303. [cited by applicant]
“A Next Generation Smart Contract and Decentralized Application Program”, available at https://github/ethereum.com/wiki/White-Paper. [cited by applicant]
“Is Blockchain the Answer to E-voting? Nasdaq Believes So”, Market Insite, Jan. 23, 2017, availabe at https://business.nasdaq.com/marketinsite/2017/Is-Blockchain-the-Answer-to-E-voting-Nasdaq-Believes-So.html. [cited by applicant]
Bessani, Alysson “State Machine Replication for the Masses with BFT-SMaRt”, Jun. 23-26, 2014 IEEE Computer Society Washington, DC, USA. [cited by applicant]
“Counterparty introduces truly trustless games on the blockchain”, Jul. 2014, available at http://counterparty.io/news/introducing-fully-trustless-games-on-block. [cited by applicant]
Demirgas, M. and K. Kulkarni, Beyond True Time: Using Augmented Time for Improving Spanner, available at www.cse.buffalo.edu/~demirbas/publications/augmentedTime.pdf. [cited by applicant]
Egelund-Muller, B., Elsman, M., Henglein, F., and 0. Ross, 2016, “Automated Execution of Financial Contracts on Blockchains”, Working Paper, University of Copenhagen. [cited by applicant]
Eha, Brian Patrick, “Who owns what, really? In securities, Delaware may soon clear things up”, Jul. 5, 2017, available at https://www.americanbanker.com/news/who-owns-what-really-in-securities-delaware-may-soon-clear-th… [cited by applicant]
Finra, Distributed Ledger Technology: Implications of Blockchain for the Securities Industry, 2017, available at http://www.finra.org/sites/defualt/files/FINRA Blockchain Report.pdf. [cited by applicant]
Harvey, C., “Cryptofinance”, 2016, available at SSRN: https://ssrn.com/abstract=2438299. [cited by applicant]
International Search Report and Written Opinion issued in PCT App. No. PCT/US2018/041052, dated Nov. 16, 2018. [cited by applicant]
Irrera, Anna, “Norther Trust users blockchain for private equity record-keeping”, Feb. 21, 2017 available at https://www.reuters.com/article/nthern-trust-ibm-blockchain-idUSL1N1G61TX. [cited by applicant]
Irrera, Anna and Kelly, Jemima, “London Stock Exchange Group tests blockchain for private company shares”, Jul. 19, 2017, available at https://www.reuters.com/article/us-lse-blockchain/london-stock-exchange-group-tests-… [cited by applicant]
Kharpal, Arjun, “Nasdaq to trial blockchain voting for shareholders”, Feb. 12, 2016, available at https://www.cnbc.com/2016/02/12/nasdaq-to-trial-blockchain-voting-for-shareholders.html. [cited by applicant]
Klayman, Joshua Ashley, Pexk, Geoffrey R., and Wojciechowski, Mark S., “Why the Delaware Blockchain Initiative Matters to All Dealmakers”, Sep. 20, 2017, available at https://www.forbes.com/sites/groupthink/2017/09/20/w… [cited by applicant]
Lamport, Leslie, “Time, Clocks, and the Ordering of Events in a Distributed System”, Jul. 1978, available at https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/Time-Clocks-and-the-Ordering-of-Events-in-… [cited by applicant]
Metz, Cade, “SEC Approves Plan to Issue Stock via Bitcoin's Blockchain”, Dec. 15, 2015, available at https://www.wired.com/2015/12/sec-approves-plan-to-issue-company-stock-via-the-bitcoin-blockchain. [cited by applicant]
Mullin, Shepperd, “Taking Stock in Blockchains”, Venture Law Blog, Jun. 9, 2017, available at https://www.venturelawblog.com/other/blockchain. [cited by applicant]
Nakamoto, S., A Peer-to-Peer Electronic Cash System, White Paper, 2008, available at https://bitcoin.org/bitcoin. [cited by applicant]
The National Institute of Standards and Technology's (NIST) 2015 SHA-3 release http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf, the entirety of which is herein expressly incorporated by reference for all purpose… [cited by applicant]
Noether, Shen, “Ring Confidential Transactions”, Feb. 2016, Monero Research Lab, Research Bulletin. [cited by applicant]
Pinea, A and W. Ruttemberg, “Distributed ledger technologies in securities post-trading:Revolution or evolution?” Apr. 2016, Occasional Paper Series of the European Central Bank, available at https://www.ecb.europa.eu/p… [cited by applicant]
Rizzo, Pete, “Hands on With Linq, Nasdaq's Private Markets Blockchain Project”, Nov. 21, 2015, available at https://www.coindesk.com/hands-on-with-linq-nasdaqs-private-markets-blockchain-project. [cited by applicant]
Solidity Documentation, Release 0.4.4 dated Feb. 13, 2017, retrieved from: https://solidity.readthedocs.io/en/v0.4.4/ introduction-to-smart-contracts.html on Aug. 15, 2018. (Year: 2017). [cited by applicant]
Tinianow, Andrea and Long, Caitlin, “Delaware Blockchain Initiative: Transforming the Foundational Infrastructure of Corporate Finance”, Mar. 16, 2017, available at https://corpgov.law.harvard.edu/2017/03/16/delaware-bl… [cited by applicant]
Tinianow, Andrea, Smith, Mark, Long, Caitlin, and Santori, Marco, “Delaware's 2017 Resolution: Make Blockchain a Reality”, Jan. 3, 2017, available at https://www.coindesk.com/what-expect-delaware-blockchain-initiative-2… [cited by applicant]
Udris, Jonas, “Using Blockchain Technology for Limited Company Shares Management”, Miner One, Jan. 18, 2018, available at https://medium.com/@minerone.io/using-blockchain-technology-for-limited-company-shares-management… [cited by applicant]
UK Government Office for Science, 2016, Distributed Ledger Technology: Beyond the Block Chain, available at https ://www.gov.uk/ government/ ... data/ .. . / gs-16-1-di stributed-1 edgertechnology. Pdf. [cited by applicant]
Yermack, David, “Corporate Governance and Blockchains”, National Bureau of Economic Reasearch, Dec. 2015, available at https://www.nber.org/papers/w21802.pdf. [cited by applicant]
Dodis, Y., “Introduction of Cryptography—Lecture 14”, Apr. 25, 2012, pp. 1-14. [cited by applicant]
Ethereum Homestead Documentation, Release 0.1, Dated Mar. 1, 2017, Downloaded from: https://media.readthedocs.org/pdf/ ethereum-homestead/latest/ethereum-homestead.pdf on Aug. 20, 2017. (Year: 2017). [cited by applicant]
Mao, et al., “Towards Privacy-Preserving Aggregation for Collaborative Spectrum Sensing,” vol. 12, No. 6, Jun. 2017; 11 pages. [cited by applicant]
Aitzhan, Nurzhan Zhumabekuly, and Davor Svetinovic. “Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams.” IEEE Transactions on Dependable and Secure… [cited by applicant]
Fotiou, Nikos, and George C. Polyzos. “Decentralized name-based security for content distribution using blockchains.” 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). IEEE, 2016. [cited by applicant]
Zyskind, Guy, Oz Nathan, and Alex Pentland. “Enigma: Decentralized computation platform with guaranteed privacy.” arXiv preprint arXiv:1506.03471 (2015). [cited by applicant]