Api and domain specific language for 1 to many, state-based, granular, terms and conditions acceptance
Abstract
Provided is a process that includes: determining whether to execute an asset based on records documenting requirements for the asset. A first one of the records published to a blockchain and implicating requirements published to the blockchain in at least one record, wherein determining whether record holders agree to execute the asset comprises: accessing the first record, verifying the first record published to the blockchain has not been tampered with subsequent to publishing, and identifying requirements and criteria of the first record; accessing the second record and identifying requirements and values of the second record; and verifying each of the requirements and the criteria in the first record are satisfied by respective criteria and values specified in the second record. Agreement to execution of the asset is published to the blockchain upon determining the requirements and criteria of the first record are satisfied by the second record.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of determining whether to execute an asset based on records documenting requirements associated with the asset and published to a tamper-evident, immutable, decentralized data store, the method comprising:
receiving, with one or more processors, a request to execute an asset between at least two record holders having documented one or more requirements from a set of requirements codified in a domain-specific language in respective records; determining, with one or more processors, whether to execute the asset based on a comparison of a first record documenting requirements associated with a given asset of a given type and a second record documenting accepted requirements associated with the type of asset, each record published to a tamper-evident, immutable, decentralized data store, wherein determining whether to execute the asset comprises:
accessing the first record, the first record including a hash digest based on requirements associated with the asset, the hash digest implicating a plurality of requirements published to the tamper-evident, immutable, data store in at least one record,
verifying the first record has not been tampered with subsequent to publishing by verifying that the first record is consistent with a set of cryptographic hash values based on the first record, at least some of the cryptographic hash values also being based on other records,
identifying, within the first record, one or more criteria associated with one or more of the requirements;
accessing the second record, the second record including a hash digest based on accepted requirements associated with the type of asset, the hash digest implicating a plurality of requirements published to the tamper-evident, immutable, data store in at least one record,
identifying, within the second record, one or more values associated with one or more of the requirements,
verifying, for each of the plurality of requirements implicated in the first record, that the second record implicates a same requirement to satisfying the plurality of requirements implicated in the first record,
verifying, for each of the criteria in the first record, that the second record includes a value satisfying the criteria specified in the first record, and
in response to the determination and the request, either:
causing, with one or more processors, one or more computing devices to publish to the tamper-evident, immutable data store an agreement to execution of the asset upon determining the requirements and the criteria of the first record are satisfied by the second record, or
causing, with one or more processors, one or more computing devices to not execute the asset upon determining the requirements and the criteria of the first record are not satisfied by the second record, wherein the one or more computing devices transmit a delta indicating at least one of a requirement or requirement and criteria of the first record not satisfied by the second record.
2 . The method of claim 1 , wherein:
the tamper-evident, immutable, decentralized data store comprises a directed acyclic graph of cryptographic hash pointers; at least some of the cryptographic hash pointers have cryptographic hash values based on content of adjacent nodes of the directed acyclic graph to which the cryptographic hash pointers point; and a subset of nodes of the directed acyclic graph have node content that includes at least part of the trust record or a hash digest of at least part of the trust record.
3 . The method of claim 1 , wherein:
the tamper-evident, immutable, decentralized data store comprises a blockchain.
4 . The method of claim 1 , wherein:
determining whether to execute the asset is performed by a smart contract executed by a plurality of computing nodes of a decentralized computing platform; and the plurality of computing nodes each execute an instance of the smart contract and then collectively determine an output of the smart contract with a consensus protocol.
5 . The method of claim 1 , further comprising:
receiving a second request to execute the asset, the second request including a digital signature and one or more accepted requirements and at least one value associated with a given one of the accepted requirements; verifying, based on the signature, the second request is authored by the holder of the second record; and determining, with one or more processors, whether to execute the asset based on a comparison of the first record and the one or more accepted requirements and at least one value associated with the given one of the accepted requirements in the second request.
6 . The method of claim 1 , further comprising:
receiving a second request to execute the asset, the second request including a digital signature, a hash digest based on accepted requirements associated with the type of asset, and at least one value associated with a given one of the accepted requirements, the hash digest implicating a plurality of requirements published to the tamper-evident, immutable, data store in at least one record; and determining, with one or more processors, whether to execute the asset based on a comparison of the first record and the one or more accepted requirements and at least one value associated with the given one of the accepted requirements in the second request.
7 . The method of claim 1 , further comprising:
receiving a second request to execute the asset, the second request including a digital signature and a second delta; verifying, based on the signature, the second request is authored by the holder of the second record; and determining, with one or more processors, whether to execute the asset based at least in part on the second delta.
8 . The method of claim 7 , wherein:
the first delta is published to the tamper-evident, immutable, data store in at least one record, the second delta indicates at least one of a requirement or requirement and value different from the second record, and determining whether to execute the asset comprises a comparison of the first delta and the second delta.
9 . The method of claim 7 , wherein:
determining, with one or more processors, whether to execute the asset based at least in part on the second delta comprises determining the second delta satisfies the first delta.
10 . The method of claim 9 , wherein the second delta satisfies the first delta in response to at least one of:
a match of a cryptographic hash of the second delta and a cryptographic hash of first delta, a comparison of the at least one of a requirement or requirement and criteria of the first record not satisfied by the second record indicated by the first delta and at least one of a requirement or requirement and value different from the second record indicated by the second delta, or a comparison of the first record and a modified version of the second record, wherein the modified version of the second record includes a change to at least one accepted requirement or accepted requirement and value indicated by the second delta.
11 . The method of claim 1 , wherein the request comprises:
a value written to a register of a hardware component of a computing device, the value corresponding to an address of the second record published to the tamper-evident, immutable, decentralized data store, and a signed value corresponding to a version or component of a software application and the first record, the signed value operable to identify an address of the first record published to the tamper-evident, immutable, decentralized data store.
12 . The method of claim 11 , further comprising:
monitoring, by the computing device, a blockchain for publication of the agreement to execution of the asset; and responsive to the publication, permitting execution of the version or component of the software application on the computing device.
13 . The method of claim 11 , further comprising:
monitoring, by a second computing device, a blockchain for publication of the agreement to execution of the asset; and responsive to the publication, activating the version or component of the software application on the computing device.
14 . The method of claim 12 , comprising determining whether to execute the asset with operations comprising:
reading a value written to a register of a hardware component of a computing device; based on the value, obtaining an address of the first record published to the tamper-evident, immutable, decentralized data store; and specifying the address of the first record in the request.
15 . The method of claim 1 , determining whether to execute the asset comprises:
accessing the plurality of requirements published to the tamper-evident, immutable, decentralized data store; verifying that the plurality of requirements are cryptographically signed by a trusted party corresponding to a public cryptographic key; verifying that the plurality of requirements have not been tampered with subsequent to publishing; and comparing the plurality of requirements to corresponding requirements in the set of requirements codified in the domain-specific language.
16 . The method of claim 1 , wherein:
the tamper-evident, immutable, decentralized data store is hosted by a permissionless, untrusted collection of network accessible computing devices; and the collection of network accessible computing devices are configured to determine a state of accepted requirements represented in records associated with users with operations including:
demonstrating proof of work, storage, or stake; and
among computing devices demonstrating proof of work, storage, or stake, executing a consensus protocol that designates an output version of the state of accepted requirements represented in records as authoritative.
17 . A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising:
receiving, with one or more processors, a request to execute an asset between at least two record holders having documented one or more requirements from a set of requirements codified in a domain-specific language in respective records; determining, with one or more processors, whether to execute the asset based on a comparison of a first record documenting requirements associated with a given asset of a given type and a second record documenting accepted requirements associated with the type of asset, each record published to a tamper-evident, immutable, decentralized data store, wherein determining whether to execute the asset comprises:
accessing the first record, the first record including a hash digest based on requirements associated with the asset, the hash digest implicating a plurality of requirements published to the tamper-evident, immutable, data store in at least one record,
verifying the first record has not been tampered with subsequent to publishing by verifying that the first record is consistent with a set of cryptographic hash values based on the first record, at least some of the cryptographic hash values also being based on other records,
identifying, within the first record, one or more criteria associated with one or more of the requirements;
accessing the second record, the second record including a hash digest based on accepted requirements associated with the type of asset, the hash digest implicating a plurality of requirements published to the tamper-evident, immutable, data store in at least one record,
identifying, within the second record, one or more values associated with one or more of the requirements,
verifying, for each of the plurality of requirements implicated in the first record, that the second record implicates a same requirement to satisfying the plurality of requirements implicated in the first record,
verifying, for each of the criteria in the first record, that the second record includes a value satisfying the criteria specified in the first record, and
in response to the determination and the request, either:
causing, with one or more processors, one or more computing devices to publish to the tamper-evident, immutable data store an agreement to execution of the asset upon determining the requirements and the criteria of the first record are satisfied by the second record, or
causing, with one or more processors, one or more computing devices to not execute the asset upon determining the requirements and the criteria of the first record are not satisfied by the second record, wherein the one or more computing devices transmit a delta indicating at least one of a requirement or requirement and criteria of the first record not satisfied by the second record.
18 . The medium of claim 17 , further comprising:
receiving a second request to execute the asset, the second request including a digital signature and one or more accepted requirements and at least one value associated with a given one of the accepted requirements; verifying, based on the signature, the second request is authored by the holder of the second record; and determining, with one or more processors, whether to execute the asset based on a comparison of the first record and the one or more accepted requirements and at least one value associated with the given one of the accepted requirements in the second request.
19 . The medium of claim 17 , further comprising:
receiving a second request to execute the asset, the second request including a digital signature, a hash digest based on accepted requirements associated with the type of asset, and at least one value associated with a given one of the accepted requirements, the hash digest implicating a plurality of requirements published to the tamper-evident, immutable, data store in at least one record; and determining, with one or more processors, whether to execute the asset based on a comparison of the first record and the one or more accepted requirements and at least one value associated with the given one of the accepted requirements in the second request.
20 . The medium of claim 17 , further comprising:
receiving a second request to execute the asset, the second request including a digital signature and a second delta; verifying, based on the signature, the second request is authored by the holder of the second record; and determining, with one or more processors, whether to execute the asset based at least in part on the second delta.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.