IP Library Granted Patent US 10,699,269
Granted Patent B1
US 10,699,269 · App. 16/422,707 · Granted Jun 30, 2020

System and method for smart contract publishing

Inventors: Aaron Blankstein (Chicago, IL); Jude Nelson (New Brunswick, NJ)
Assignee: Blockstack PBC
G06Q20/3829G06F9/45558G06F16/1824H04L9/0643G06F2009/45595H04L2209/38
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 10,699,269
App. No.
16/422,707
Granted
Jun 30, 2020
Kind
B1
Abstract

A Turing incomplete smart contracting source code for use in a blockchain network is disclosed that allows for static analysis of a smart contract at the time of publishing.

Claims (21)

1. A computing device in 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:

parse a smart contract implementing a Turing incomplete language,

wherein the smart contract comprises a data map and a set of one or more functions, the data map storing a state of the smart contract and comprising:

a map name,

a key associated with the map name, and

a value uniquely associated with the map name, the value having a first type and a static maximum size established by the first type,

the set of one or more functions defining at least one operation that invokes the map name to modify or obtain the value associated with the key;

determine a number of calls to the one or more functions in the smart contract based on the parsing;

determine a maximum size of an output of each of the one or more functions based at least in part on the static maximum size;

estimate a runtime or storage requirement to execute the smart contract based on the determined maximum size of the output of each of the one or more functions;

determine a fee based on the estimated runtime or storage requirement;

call an application program interface to start a virtual machine;

determine whether a user has provided a user fee that is at least equal to the determined fee; and

execute the smart contract using the virtual machine in response to a determination that the user fee is at least equal to the determined fee.

2. The computing device of claim 1 , wherein the smart contract is received as source code in a high-level language.

3. The computing device of claim 1 , wherein the first type comprises a tuple type.

4. The computing device of claim 3 , wherein the static maximum size is a numeric value associated with the tuple type in the Turing incomplete language.

5. The computing device of claim 3 , wherein the static maximum size is numerically defined in the data map.

Assignments (2)
CHANGE OF NAME Recorded Jun 24, 2021
From: BLOCKSTACK PBC
To: HIRO SYSTEMS PBC
Reel/Frame 056679/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2019
From: BLANKSTEIN, AARON; NELSON, JUDE
To: BLOCKSTACK PBC
Reel/Frame 049297/0093 →
Cited By (1)
US 12,278,821