EthOn - An Ethereum Ontology

The EthOn Ethereum ontology, described using W3C RDF Schema and the Web Ontology Language. It is closely aligned with Gavin Wood's Ethereum yellow paper.

IRI
http://ethon.consensys.net/
Version IRI
http://ethon.consensys.net/0/
Version Info
0.2
Creators
Johannes Pfeffer
Contributors
Alex Beregszazi, Casey Detrio, Herman Junge, Joseph Chow, Marian Oancea, Maurycy Pietrzak, Shahan Khatchadourian, Stefano Bertolo
Preferred prefix
ethon
Term status
testing
Imports
http://www.w3.org/2003/06/sw-vocab-status/ns
See also
https://github.com/ConsenSys/EthOn
https://github.com/ethereum/wiki/wiki/White-Paper
https://github.com/ethereum/yellowpaper

Table of contents

Illustrations

Simplified EthOn model
This is a simplified illustration of how EthOn models Ethereum.

More illustrations can be found in the EthOn_illustrations.md file.

Concept hierarchies

Class descriptions 46

Account

Accounts are identified by their address. They have an intrinsic ethereum balance and a transaction count (accountNonce) maintained as part of the Ethereum state. Contract Accounts also have (possibly empty) EVM Code and a (possibly empty) Storage State associated with them.

Status unstable
URI http://ethon.consensys.net/Account
Suggested string Account
Superclasses AccountConcept
Subclasses ContractAccount ExternalAccount ProtocolAccount
Properties include address hasCurrentState hasState
Used with hasBeneficiary refunds controlsAccount loggedBy

AccountConcept

Groups EthOn concepts related to Accounts.

Status unstable
URI http://ethon.consensys.net/AccountConcept
Suggested string AccountConcept
Superclasses EthOnConcept
Subclasses Account AccountState AccountStorage ExternalActor
Properties include AccountDataProperty

AccountState

State of an Ethereum Account. It is comprised on four pieces of information: nonce, balance, storage root and code hash. The data is stored in a Merkle Patricia tree as a mapping between addresses and Account states. The Account State is part of the World State, as it resembles the state of exactly one Account.

Status unstable
URI http://ethon.consensys.net/AccountState
Suggested string AccountState
Superclasses AccountConcept State
Subclasses ProtocolState
Properties include accountBalance accountNonce
Used with hasCurrentState hasState

AccountStorage

A Merkle Patricia tree that encodes the storage contents of an Account. It is not used to store an Account's code, but the execution state of the code. The Account's code is stored in the

Status unstable
URI http://ethon.consensys.net/AccountStorage
Suggested string AccountStorage
Superclasses AccountConcept ModifiedMerklePatriciaTree
Properties include storageRoot
Used with hasAccountStorage

Block

A Block is the basic element of a Blockchain. It functions as a journal, recording a series of transactions together with a reference to the previous Block. A Block is chained to its preceeding Block by a cryptographic hash as a means of reference. Blocks contain an identifier for the final state after all transactions contained in it are validated. There is an incentive mechanism that provides incentives to generate new Blocks ("mine Blocks") that comply to the rules of Ethereum by issuing a reward to an Account specified by the miner.

Status unstable
URI http://ethon.consensys.net/Block
Suggested string Block
Superclasses BlockConcept StateTransition
Subclasses GenesisBlock
Properties include hasParentBlock blockBeneficiaryReward blockSize createsPostBlockState hasBeneficiary hasTxTrie containsTx
Used with hasParentBlock spawnsBlock

BlockConcept

Groups EthOn concepts related to Blocks.

Status unstable
URI http://ethon.consensys.net/BlockConcept
Suggested string BlockConcept
Superclasses EthOnConcept
Subclasses Block ReceiptsTrie TxTrie Uncle
Properties include BlockDataProperty

Blockchain

An Ethereum Blockchain is a distributed database that maintains a continuously-growing list of records called *Blocks* secured from tampering and revision. Each Block contains a timestamp and a link to a previous Block in a Merkle tree structure.

Status unstable
URI http://ethon.consensys.net/Blockchain
Suggested string Blockchain
Superclasses NetworkConcept
Properties include startBlockNumber hasFork
Used with hasFork minesFor

CallContractMsg

A Call Contract Message is a Contract Message that calls a function in another Contract.

Status unstable
URI http://ethon.consensys.net/CallContractMsg
Suggested string CallContractMsg
Superclasses ContractMsg
Properties include msgOutput

CallTx

A type of Transaction that is directed towards a Contract Account and calls a method in the Contract's code.

Status unstable
URI http://ethon.consensys.net/CallTx
Suggested string CallTx
Superclasses Tx

ContractAccount

A notional object existent only within the hypothetical state of Ethereum. Has an intrinsic address and thus an associated Account; the Account will have non-empty associated EVM Code. Incorporated only as the Storage State of that Account.

Status unstable
URI http://ethon.consensys.net/ContractAccount
Suggested string ContractAccount
Superclasses Account
Properties include accountCode accountCodeHash refunds
Used with creates

ContractMsg

A Contract Message is passed between a Contract Account and any other Account (External or Contract). It is the result of an execution chain originally triggered by an External Account.

Status unstable
URI http://ethon.consensys.net/ContractMsg
Suggested string ContractMsg
Superclasses Msg
Subclasses CallContractMsg CreateContractMsg SelfdestructContractMsg ValueContractMsg
Properties include msgError msgErrorString msgGasUsed hasOriginatorTx
Used with triggersMsg

CreateContractMsg

A Create Contract Message is a subtype of a Contract Message that results in creation of a new Contract Account.

Status unstable
URI http://ethon.consensys.net/CreateContractMsg
Suggested string CreateContractMsg
Superclasses ContractMsg

CreateTx

A type of Transaction that results in creation of a new Contract Account.

Status unstable
URI http://ethon.consensys.net/CreateTx
Suggested string CreateTx
Superclasses Tx

EthOnConcept

Groups al EthOn concepts.

Status unstable
URI http://ethon.consensys.net/EthOnConcept
Suggested string EthonConcept
Subclasses AccountConcept BlockConcept MessageConcept ModifiedMerklePatriciaTree NetworkConcept StateConcept
Properties include suggestedStringRepresentation conformsTo

ExternalAccount

An Account owned by an External Actor.

Status unstable
URI http://ethon.consensys.net/ExternalAccount
Suggested string ExternalAccount
Superclasses Account
Properties include accountPublicKey

ExternalActor

A person or other entity able to interface to an Ethereum node, but External to the world of Ethereum. It can interact with Ethereum through depositing signed Transactions and inspecting the Blockchain and associated state. Has one (or more) intrinsic Accounts. While it is assumed that the ultimate External actor will be human in nature, software tools will be used in its construction and dissemination.

Status unstable
URI http://ethon.consensys.net/ExternalActor
Suggested string ExternalActor
Superclasses AccountConcept Agent
Properties include controlsAccount

FullNode

A Full Node is a participant in an Ethereum Network that keeps a record of the full Blockchain, the full state and engages in mining.

Status unstable
URI http://ethon.consensys.net/FullNode
Suggested string FullNode
Superclasses Node

GenesisBlock

A Genesis Block is the unmined, deliberately created, very first Block in a Blockchain. It has no predecessors, i.e. no parent Block.

Status unstable
URI http://ethon.consensys.net/GenesisBlock
Suggested string GenesisBlock
Superclasses Block

LightNode

A light node is a participant in an Ethereum Network that does not completely do any of the following: store the complete Blockchain, store the complete world state, engage in mining.

Status unstable
URI http://ethon.consensys.net/LightNode
Suggested string LightNode
Superclasses Node

LogEntry

A LogEntry is the result of an Event in a smart contract, emitted during creation or execution of a ContracAccount's code. It is related to the TxReceipt it was created in, the ContractAccount that had the Event, a series of 32-bytes Log Topics and a number of bytes of data.

Status unstable
URI http://ethon.consensys.net/LogEntry
Suggested string LogEntry
Superclasses MessageConcept
Properties include logData hasLogTopic loggedBy
Used with hasLogEntry

LogTopic

A 32-bytes long topic of a LogEntry. The LogTopics of a LogEntry have an order given by a topicIndex value.

Status unstable
URI http://ethon.consensys.net/LogTopic
Suggested string LogTopic
Superclasses MessageConcept
Properties include logTopicData logTopicIndex
Used with hasLogTopic

MessageConcept

Groups EthOn concepts related to Messages.

Status unstable
URI http://ethon.consensys.net/MessageConcept
Superclasses EthOnConcept
Subclasses LogEntry LogTopic Msg ReceiptsTrie TxReceipt TxTrie
Properties include MessageDataProperty

ModifiedMerklePatriciaTree

Merkle Patricia trees provide a cryptographically authenticated data structure that can be used to store all (key, value) bindings, although for the scope of this paper we are restricting keys and values to strings (to remove this restriction, just use any serialization format for other data types). They are fully deterministic, meaning that a Patricia tree with the same (key,value) bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash, provide the holy grail of O(log(n)) efficiency for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black trees.

Status unstable
URI http://ethon.consensys.net/ModifiedMerklePatriciaTree
Suggested string ModifiedMerklePatriciaTree
Superclasses EthOnConcept
Subclasses AccountStorage ReceiptsTrie TxTrie WorldState

Msg

Data (as a set of bytes) and value (specified as Ether) that is passed between two Accounts, either through the deterministic operation of an autonomous object (Contract Account) or the cryptographically secure signature of an External Account.

Status unstable
URI http://ethon.consensys.net/Msg
Suggested string Msg
Superclasses MessageConcept StateTransition
Subclasses ContractMsg Tx
Properties include msgGasLimit msgPayload value to
Used with to

Network

An Ethereum network is the group of all Nodes that conform to a certain Protocol Variant.

Status unstable
URI http://ethon.consensys.net/Network
Suggested string Network
Superclasses NetworkConcept

NetworkConcept

Groups all EthOn Network concepts.

URI http://ethon.consensys.net/NetworkConcept
Suggested string NetworkConcept
Superclasses EthOnConcept
Subclasses Blockchain Network Node ProtocollVariant

Node

A participan in an Ethereum Network.

Status unstable
URI http://ethon.consensys.net/Node
Suggested string Node
Superclasses NetworkConcept
Subclasses FullNode LightNode
Properties include clientVersion minesFor spawnsBlock

PostBlockState

URI http://ethon.consensys.net/PostBlockState
Superclasses PostTxState
Properties include nextBlockState
Used with nextBlockState

PostMsgState

URI http://ethon.consensys.net/PostMsgState
Superclasses WorldState
Subclasses PostTxState
Properties include nextMsgState
Used with nextMsgState

PostTxState

URI http://ethon.consensys.net/PostTxState
Superclasses PostMsgState
Subclasses PostBlockState
Properties include nextTxState
Used with nextTxState

ProtocolAccount

A Protocol Account is an Account whose initial balance or other properties are defined in the protocol specification (ProtocolVariant) of the Blockchain. E.g. in the initial Ethereum Blockchain those that participated in the crowd funding received Accounts prefunded with their investment. However, Protocol Accounts could be added with any protocol change.

Status unstable
URI http://ethon.consensys.net/ProtocolAccount
Suggested string PrefundedAccount
Superclasses Account
Properties include accountBalancePrefunded

ProtocolState

This is a special state that can be created after specification of the protocol or any protocol change. It allows for setting balances of Accounts, e.g. for prefunded Accounts, creating predefined Contract Accounts with storage or setting any other state property as part of the protocol specification.

Status unstable
URI http://ethon.consensys.net/ProtocolState
Suggested string ProtocolState
Superclasses AccountState

ProtocollVariant

A variant of the Ethereum protocol. Changes in the protocol result in a hard or soft fork.

Status unstable
URI http://ethon.consensys.net/ProtocollVariant
Suggested string EthereumProtocolVariant
Superclasses NetworkConcept

ReceiptsTrie

A trie structure that stores transaction receipts. Each Block has a reference to the root hash of a receipts trie that stores the receipts of the transactions included in the Block.

Status unstable
URI http://ethon.consensys.net/ReceiptsTrie
Suggested string ReceiptsTrie
Superclasses BlockConcept MessageConcept ModifiedMerklePatriciaTree
Properties include receiptsRoot

SelfdestructContractMsg

A Selfdestruct Contract Message is a Contract Message that deletes the originating contract and refunds its balance to the receiver of the Message.

Status unstable
URI http://ethon.consensys.net/SelfdestructContractMsg
Suggested string SelfdestructContractMsg
Superclasses ContractMsg
Properties include msgRefundBalance

State

The concept of a state in a generic state transition system.

Status unstable
URI http://ethon.consensys.net/State
Suggested string State
Superclasses StateConcept
Subclasses AccountState WorldState
Properties include stateRoot
Used with createsState

StateConcept

Groups EthOn concepts related to state.

Status unstable
URI http://ethon.consensys.net/StateConcept
Superclasses EthOnConcept
Subclasses State StateTransition
Properties include StateDataProperty

StateTransition

The concept of a transition in a state transition system.

Status unstable
URI http://ethon.consensys.net/StateTransition
Suggested string StateTransition
Superclasses StateConcept
Subclasses Block Msg
Properties include createsState

Tx

Transactions are Messages between two Accounts that may transfer Ether and may contain a payload. Transactions always originate from an External Account that is controlled by an External Actor by means of a private key. The execution of a Transaction creates a 'Transaction Receipt'.

Status unstable
URI http://ethon.consensys.net/Tx
Suggested string Tx
Superclasses Msg
Subclasses CallTx CreateTx ValueTx
Properties include cumulativeGasUsed logIndex msgCallDepth txGasPrice txGasUsed txHash txIndex txLogsBloom txNonce txR txS txV createsPostTxState hasLogEntry hasReceipt
Used with containsTx hasOriginatorTx

TxReceipt

The transaction receipt is a tuple of four items comprising the post-transaction-state, the cumulative gas used in the block containing the transaction receipt as of immediately after the transaction has happened, the set of logs created through execution of the transaction and the bloom filter composed from information in those logs.

Status unstable
URI http://ethon.consensys.net/TxReceipt
Suggested string TxReceipt
Superclasses MessageConcept
Used with hasReceipt

TxTrie

A trie structure that stores transactions. The header of a Block contains a reference to the root of a Tx trie with all transactions contained in the Block.

Status unstable
URI http://ethon.consensys.net/TxTrie
Suggested string TxTrie
Superclasses BlockConcept MessageConcept ModifiedMerklePatriciaTree
Properties include transactionsRoot
Used with hasTxTrie

Uncle

An Uncle is the direct child of the k'th generation ancestor of a Block B, where 2<=k<=7 but not a direct ancestor of B. Uncles are blockchain blocks found by a miner, when a different miner has already found another block for the corresponding place in the blockchain. They are also known as “stale blocks”. The parent of an Uncle is an ancestor of the inserting block, located at the tip of the blockchain.

Status unstable
URI http://ethon.consensys.net/Uncle
Suggested string Uncle
Superclasses BlockConcept
Properties include uncleBeneficiaryReward

ValueContractMsg

A Value Contract Message is a Contract Message that does not call a function in a smart contract and doesn't create a new smart contract. Even though it is called "value" Contract Message, it can have a value of 0 Ether. Value Contract Messages can have a payload as long as that payload doesn't trigger the execution of a function in a smart contract.

Status unstable
URI http://ethon.consensys.net/ValueContractMsg
Suggested string ValueContractMsg
Superclasses ContractMsg

ValueTx

A Value Transaction is a Transaction that does not call a function in a smart contract and doesn't create a new smart contract. Even though it is called "value" Transaction, Transactions with a value of 0 Ether can be Value Transaction. Value Transactions can have a payload as long as that payload doesn't trigger the execution of a function in a smart contract.

Status unstable
URI http://ethon.consensys.net/ValueTx
Suggested string ValueTx
Superclasses Tx

WorldState

The world state, is a mapping between addresses (160-bit identifiers) of all Accounts and their States (a data structure serialised as Recursive Length Prefix). The mapping is not stored on the Blockchain itself but in a modified Merkle Patricia tree. An individual state is identified by the root hash of the trie.

Status unstable
URI http://ethon.consensys.net/WorldState
Suggested string State
Superclasses ModifiedMerklePatriciaTree State
Subclasses PostMsgState
Properties include nextState
Used with createsPostBlockState createsPostTxState nextState

Agent

URI http://xmlns.com/foaf/0.1/Agent
Subclasses ExternalActor
Is defined by http://xmlns.com/foaf/0.1/

Object Property descriptions 40

hasParentBlock

Relates a Block to its parent in the chain. It always points to the Block with a number that is decreased by one, compared to the Block it originates from. The relation is asymmetric because if Block A is parent to Block B then Block B can not be parent to Block A. It is also irreflexive because a Block cannot be parent to itself.

Status unstable
URI http://ethon.consensys.net/hasParentBlock
Suggested string hasParentBlock
Superclasses BlockObjectProperty
Implies being a Block
Every value is a Block

createsPostBlockState

Relates a Block to the global state of the system after all Transactions in the Block have been executed.

Status unstable
URI http://ethon.consensys.net/createsPostBlockState
Suggested string createsPostBlockState
Superclasses createsState
Implies being a Block
Every value is a WorldState

createsPostMsgState

Relates a Message to the global state of the system after all the Message has been executed.

Status unstable
URI http://ethon.consensys.net/createsPostMsgState
Superclasses createsState

createsPostTxState

Relates a Transaction to the global state of the system after the Transaction has been executed.

Status unstable
URI http://ethon.consensys.net/createsPostTxState
Suggested string createsPostTxState
Superclasses createsState
Implies being a Tx
Every value is a WorldState

hasAccountStorage

Relates an Account to the Merkle Patricia tree that encodes its storage contents at a certain Account State. This property is Functional because an Account State can have only one Instance of Account Storage and Inverse Functional because an Account Storage can have only one associated Account State.

Status unstable
URI http://ethon.consensys.net/hasAccountStorage
Suggested string hasAccountStorage
Superclasses AccountObjectProperty
Every value is a AccountStorage

hasBeneficiary

Relates a Block to the Account to which all fees collected from the successful mining of this Block are transferred.

Status unstable
URI http://ethon.consensys.net/hasBeneficiary
Suggested string hasBeneficiary
Superclasses BlockObjectProperty
Implies being a Block
Every value is a Account

hasReceiptsTrie

Relates a Block to the Trie that contains the Block's receipt data.

Status unstable
URI http://ethon.consensys.net/hasReceiptsTrie
Suggested string hasReceiptsTrie
Superclasses BlockObjectProperty

hasTxTrie

Relates a Block to the trie that contains the data of the transactions contained in the Block.

Status unstable
URI http://ethon.consensys.net/hasTxTrie
Suggested string hasTxTrie
Superclasses BlockObjectProperty
Implies being a Block
Every value is a TxTrie

refunds

Relates a SelfdestructContractMsg to the ContractAccount it sends its refund balance to.

Status unstable
URI http://ethon.consensys.net/refunds
Suggested string refunds
Superclasses to
Implies being a ContractAccount
Every value is a Account

containsTx

Relates a Block to a Transaction included in it. All containsTx relations of a Block comprise the Block's transaction list. The order of the transactions is determined by their index value. The property is inverse functional because a Transaction can only be included in one Block.

Status unstable
URI http://ethon.consensys.net/containsTx
Suggested string containsTx
Superclasses BlockObjectProperty
Implies being a Block
Every value is a Tx

hasCurrentState

This property relates an EthOn concept to its most current state.

Status unstable
URI http://ethon.consensys.net/hasCurrentState
Suggested string hasCurrentState
Superclasses hasState
Implies being a Account
Every value is a AccountState

hasOriginatorTx

Relates a Contract Message to the Transaction it originated from.

Status unstable
URI http://ethon.consensys.net/hasOriginatorTx
Suggested string hasOriginatorTx
Superclasses MessageObjectProperty
Implies being a ContractMsg
Every value is a Tx

hasState

This property relates an EthOn concept to a state. It is inverse functional because a state can only belong to one single EthOn concept.

Status unstable
URI http://ethon.consensys.net/hasState
Suggested string hasState
Superclasses StateObjectProperty
Subclasses hasCurrentState
Implies being a Account
Every value is a AccountState

AccountObjectProperty

Groups all EthOn Account Object Properties

Status unstable
URI http://ethon.consensys.net/AccountObjectProperty
Superclasses EthOnObjectProperty
Subclasses hasAccountStorage controlsAccount

BlockObjectProperty

Groups all EthOn Block Object Properties

Status unstable
URI http://ethon.consensys.net/BlockObjectProperty
Superclasses EthOnObjectProperty
Subclasses hasParentBlock hasBeneficiary hasReceiptsTrie hasTxTrie containsTx knowsOfUncle

EthOnObjectProperty

Groups all EthOn Object Properties

Status unstable
URI http://ethon.consensys.net/EthOnObjectProperty
Subclasses AccountObjectProperty BlockObjectProperty MessageObjectProperty NetworkObjectProperty StateObjectProperty partOf

MessageObjectProperty

Groups all EthOn Message Object Properties.

Status unstable
URI http://ethon.consensys.net/MessageObjectProperty
Superclasses EthOnObjectProperty
Subclasses hasOriginatorTx createsState from hasLogEntry hasLogTopic hasReceipt loggedBy to triggersMsg

NetworkObjectProperty

Groups all EthOn Network Object Properties.

Status unstable
URI http://ethon.consensys.net/NetworkObjectProperty
Superclasses EthOnObjectProperty
Subclasses conformsTo hasFork minesFor spawnsBlock

StateObjectProperty

Groups all EthOn State Object Properties.

Status unstable
URI http://ethon.consensys.net/StateObjectProperty
Superclasses EthOnObjectProperty
Subclasses hasState createsState hasTransition nextState

conformsTo

Relates an Ethereum concept to the Ethereum Protocol Variant it conforms to.

Status unstable
URI http://ethon.consensys.net/conformsTo
Suggested string conformsTo
Superclasses NetworkObjectProperty
Implies being a EthOnConcept

controlsAccount

This property connects an External Actor an Account that it controls. This means the External Actor has control over the private Key for the Account. The control is not necessarily legitimate.

Status unstable
URI http://ethon.consensys.net/controlsAccount
Suggested string controlsAccount
Superclasses AccountObjectProperty
Implies being a ExternalActor
Every value is a Account

creates

Relates a create transaction to the ContractAccount it creates.

Status unstable
URI http://ethon.consensys.net/creates
Suggested string creates
Superclasses to
Every value is a ContractAccount

createsState

Relates a Transition to the State it creates.

Status unstable
URI http://ethon.consensys.net/createsState
Suggested string createsState
Superclasses MessageObjectProperty StateObjectProperty
Subclasses createsPostBlockState createsPostMsgState createsPostTxState
Implies being a StateTransition
Every value is a State

from

Relates a Message with the Account it originates from.

Status unstable
URI http://ethon.consensys.net/from
Suggested string fromAccount
Superclasses MessageObjectProperty

hasFork

Relates a Protocol variant to a forked version of it. It is inverse functional because a forked Blockchain can have only one Blockchain it forked from. It is Transitive because if a Blockchain C that was forked from Blockchain B that in turn was forked from Blockchain A, Blockchain C was also forked from Blockchain A. It is assymetric because if Blockchain A is forked from Blockchain B, B cannot be also forked from A. It is irreflexive because a Blockchain cannot be a fork of itself.

Status unstable
URI http://ethon.consensys.net/hasFork
Suggested string hasFork
Superclasses NetworkObjectProperty
Implies being a Blockchain
Every value is a Blockchain

hasLogEntry

Relates a Transaction to a Log Entry it creates.

Status unstable
URI http://ethon.consensys.net/hasLogEntry
Suggested string hasLogEntry
Superclasses MessageObjectProperty
Implies being a Tx
Every value is a LogEntry

hasLogTopic

Relates a Log Entry to a Log Topic.

Status unstable
URI http://ethon.consensys.net/hasLogTopic
Suggested string hasLogTopic
Superclasses MessageObjectProperty
Implies being a LogEntry
Every value is a LogTopic

hasReceipt

Relates a transaction to its receipt.

Status unstable
URI http://ethon.consensys.net/hasReceipt
Suggested string hasTransactionReceipt
Superclasses MessageObjectProperty
Implies being a Tx
Every value is a TxReceipt

hasTransition

Relates a State to a Transition (i.e. a Message) that creates a new State.

Status unstable
URI http://ethon.consensys.net/hasTransition
Suggested string hasTransition
Superclasses StateObjectProperty

knowsOfUncle

Relates a Block to a known Uncle.

Status unstable
URI http://ethon.consensys.net/knowsOfUncle
Suggested string knowsOfUncle
Superclasses BlockObjectProperty

loggedBy

Relates a Log Entry to its logger's Account.

Status unstable
URI http://ethon.consensys.net/loggedBy
Suggested string loggedBy
Superclasses MessageObjectProperty
Implies being a LogEntry
Every value is a Account

minesFor

Relates a mining Node to the Blockchain it mines for. Mining is the process of dedicating effort (working) to bolster one series of Transactions (a Block) over any other potential competitor Block. It is achieved thanks to a cryptographically secure proof.

Status unstable
URI http://ethon.consensys.net/minesFor
Suggested string minesFor
Superclasses NetworkObjectProperty
Implies being a Node
Every value is a Blockchain

nextBlockState

Relates a Post Block State to the following Post Block State.

Status unstable
URI http://ethon.consensys.net/nextBlockState
Suggested string nextBlockState
Superclasses nextTxState
Implies being a PostBlockState
Every value is a PostBlockState

nextMsgState

Relates a Post Message State to the following Post Message State.

Status unstable
URI http://ethon.consensys.net/nextMsgState
Suggested string nextMsgState
Superclasses nextState
Subclasses nextTxState
Implies being a PostMsgState
Every value is a PostMsgState

nextState

Relates a State to the following State. In EthOn the state transition system has no branches.

Status unstable
URI http://ethon.consensys.net/nextState
Suggested string nextState
Superclasses StateObjectProperty
Subclasses nextMsgState
Implies being a WorldState
Every value is a WorldState

nextTxState

Relates a Post Transaction State to the following Post Transaction State.

Status unstable
URI http://ethon.consensys.net/nextTxState
Suggested string nextTxState
Superclasses nextMsgState
Subclasses nextBlockState
Implies being a PostTxState
Every value is a PostTxState

partOf

This is a general relation to express part of relationships. The classic study of parts and wholes, mereology, has three axioms: 1. the part-of relation is Transitive - "parts of parts are parts of the whole" - If A is part of B and B is part of C, then A is part of C Reflexive - "Everything is part of itself" - A is part of A Antisymmetric - "Nothing is a part of its parts" - if A is part of B and A != B then B is not part of A.

Status testing
URI http://ethon.consensys.net/partOf
Suggested string partOf
Superclasses EthOnObjectProperty

spawnsBlock

Relates an Ethereum Node to a valid Block it has transmitted to the network. This does not specify the proofing algorithm (e.g. proof of work or proof of authority).

Status unstable
URI http://ethon.consensys.net/spawnsBlock
Suggested string spawnsBlock
Superclasses NetworkObjectProperty
Implies being a Node
Every value is a Block

to

Relates a Message with the Account it is sent to.

Status unstable
URI http://ethon.consensys.net/to
Suggested string toAccount
Superclasses MessageObjectProperty
Subclasses refunds creates
Implies being a Msg
Every value is a Msg

triggersMsg

Relates a Message that was direct to a Contract Account to the Contract Messages that result from the call to the Contract Account. The chain of triggersMsg relations represents a call graph.

Status unstable
URI http://ethon.consensys.net/triggersMsg
Suggested string triggersMsg
Superclasses MessageObjectProperty
Every value is a ContractMsg

Datatype Property descriptions 58

AccountDataProperty

Groups all Data Properties that are specific to an Account.

Status unstable
URI http://ethon.consensys.net/AccountDataProperty
Superclasses EthOnDataProperty
Subclasses accountBalance accountBalancePrefunded accountCode accountCodeHash accountNonce accountPublicKey address storageRoot
Implies being a AccountConcept

BlockDataProperty

Groups all Data Properties that are specific to a Block. These properties are usually functional because a Block can only be associated with a single instance of them.

Status unstable
URI http://ethon.consensys.net/BlockDataProperty
Superclasses EthOnDataProperty
Subclasses blockBeneficiaryReward blockCreationTime blockDifficulty blockExtraData blockGasLimit blockGasUsed blockHash blockHeader blockLogsBloom blockMixHash blockNonce blockSize number uncleBeneficiaryReward
Implies being a BlockConcept

EthOnDataProperty

Groups all Data Properties specific to EthOn.

Status unstable
URI http://ethon.consensys.net/EthOnDataProperty
Subclasses AccountDataProperty BlockDataProperty MessageDataProperty NetworkDataProperty StateDataProperty

MessageDataProperty

Groups all EthOn Message Data Properties.

URI http://ethon.consensys.net/MessageDataProperty
Superclasses EthOnDataProperty
Subclasses cumulativeGasUsed logData logIndex logTopicData logTopicIndex msgCallDepth msgError msgErrorString msgGasLimit msgGasUsed msgOutput msgPayload msgRefundBalance receiptsRoot transactionsRoot txGasPrice txGasUsed txHash txIndex txLogsBloom txNonce txR txS txV value
Implies being a MessageConcept

NetworkDataProperty

Groups all EthOn Network Data Properties.

Status unstable
URI http://ethon.consensys.net/NetworkDataProperty
Superclasses EthOnDataProperty
Subclasses clientVersion startBlockNumber

StateDataProperty

URI http://ethon.consensys.net/StateDataProperty
Superclasses EthOnDataProperty
Subclasses stateRoot
Implies being a StateConcept

accountBalance

A scalar value equal to the number of Wei owned by an Account at a given Account state.

Status unstable
URI http://ethon.consensys.net/accountBalance
Suggested string accountBalance
Superclasses AccountDataProperty
Implies being a AccountState
Every value is a http://www.w3.org/2001/XMLSchema#integer

accountBalancePrefunded

The amount of Wei an Account was prefunded with in a Protocol Variant. In the case that an Account receives multiple prefunds in multiple Protocol Variants, the amounts are summed. In contrast to the regular Account balance it is a property of the Account itself and not of its state.

Status unstable
URI http://ethon.consensys.net/accountBalancePrefunded
Suggested string accountBalancePrefunded
Superclasses AccountDataProperty
Implies being a ProtocolAccount
Every value is a http://www.w3.org/2001/XMLSchema#integer

accountCode

The immutable EVM bytecode of the Contract Account.

Status unstable
URI http://ethon.consensys.net/accountCode
Suggested string accountCode
Superclasses AccountDataProperty
Implies being a ContractAccount
Every value is a http://www.w3.org/2001/XMLSchema#base64Binary

accountCodeHash

The immutable Keccak-256 hash of the EVM code of an Account.

Status unstable
URI http://ethon.consensys.net/accountCodeHash
Suggested string accountCodeHash
Superclasses AccountDataProperty
Implies being a ContractAccount
Every value is a http://www.w3.org/2001/XMLSchema#base64Binary

accountNonce

A scalar value equal to the number of transactions sent from this Account or, in the case of Accounts with associated code, the number of Contract-creations made by this Account.

Status unstable
URI http://ethon.consensys.net/accountNonce
Suggested string accountNonce
Superclasses AccountDataProperty
Implies being a AccountState
Every value is a http://www.w3.org/2001/XMLSchema#integer

accountPublicKey

The public key of an ExternalAccount.

Status unstable
URI http://ethon.consensys.net/accountPublicKey
Suggested string accountPublicKey
Superclasses AccountDataProperty
Implies being a ExternalAccount
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

address

A 160-bit identifier for Accounts.

Status unstable
URI http://ethon.consensys.net/address
Suggested string address
Superclasses AccountDataProperty
Implies being a Account
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockBeneficiaryReward

The reward the beneficiary receives for mining a block. It is comprised of the base reward (5ETH), rewards for including uncles (1/32 of block reward per uncle) and the fees of the Tx in the block.

Status unstable
URI http://ethon.consensys.net/blockBeneficiaryReward
Suggested string blockBenficiaryReward
Superclasses BlockDataProperty
Implies being a Block
Every value is a http://www.w3.org/2001/XMLSchema#integer

blockCreationTime

This Block's inception date and time.

Status unstable
URI http://ethon.consensys.net/blockCreationTime
Suggested string blockCreationTime
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#dateTime

blockDifficulty

A scalar value corresponding to the difficulty level of this Block. This can be calculated from the previous Block's difficulty level and the timestamp.

Status unstable
URI http://ethon.consensys.net/blockDifficulty
Suggested string blockDifficulty
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#integer

blockExtraData

An arbitrary byte array containing data relevant to this Block. This must be 32 bytes or fewer.

Status unstable
URI http://ethon.consensys.net/blockExtraData
Suggested string blockExtraData
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockGasLimit

A scalar value equal to the current limit of gas expenditure per Block.

Status unstable
URI http://ethon.consensys.net/blockGasLimit
Suggested string blockGasLimit
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#integer

blockGasUsed

A scalar value equal to the total gas used in transactions in this Block.

Status unstable
URI http://ethon.consensys.net/blockGasUsed
Suggested string blockGasUsed
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#integer

blockHash

The Keccak 256-bit hash of the Block's header, in its entierty.

Status unstable
URI http://ethon.consensys.net/blockHash
Suggested string blockHash
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockHeader

Relates a Block to its Block header data. The Block header data contains 15 pieces of information: 1. the parent hash, 2. the Uncle hash, 3. a beneficiary address, 4. a state root hash, 5. a transactions root hash, 6. a receipts root hash, 7. a log bloom filter, 8. the difficulty value, 9. the Block number, 10. the gas limit of the Block, 11. the gas used by all transactions in the Block, 12. a scalar timestamp in unix time() format, 13. a byte array containing extra data, 14. a mix hash and 15. the Block nonce. The property is functional because a Block can have only exactly one Block header.

Status unstable
URI http://ethon.consensys.net/blockHeader
Suggested string blockHeader
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockLogsBloom

The Bloom filter composed from indexable information (logger address and log topics) contained in each log entry from the receipt of each transaction in the transactions list.

Status unstable
URI http://ethon.consensys.net/blockLogsBloom
Suggested string blockLogsBloom
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockMixHash

A 256-bit hash which proves combined with the nonce that a sufficient amount of computation has been carried out on this Block.

Status unstable
URI http://ethon.consensys.net/blockMixHash
Suggested string blockMixHash
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockNonce

A 64 bit hash which proves combined with the mix-hash that a sufficient amount of computation has been carried out on this Block.

Status unstable
URI http://ethon.consensys.net/blockNonce
Suggested string blockNonce
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

blockSize

The size of the the Block header in RLP format in bytes.

Status unstable
URI http://ethon.consensys.net/blockSize
Suggested string blockSize
Superclasses BlockDataProperty
Implies being a Block
Every value is a http://www.w3.org/2001/XMLSchema#integer

clientVersion

Relates a Node to a string identifying the Ethereum client version it runs. It composed of the client name (e.g. Geth) and a version identifier (e.g. v1.5.4).

Status unstable
URI http://ethon.consensys.net/clientVersion
Suggested string clientVersion
Superclasses NetworkDataProperty
Implies being a Node
Every value is a http://www.w3.org/2001/XMLSchema#string

cumulativeGasUsed

The cumulative gas used in the block containing the Transaction as of immediately after the Transaction has happened.

Status unstable
URI http://ethon.consensys.net/cumulativeGasUsed
Suggested string cumulativeGasUsed
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

logData

Relates a Log Entry to its data.

Status unstable
URI http://ethon.consensys.net/logData
Suggested string logData
Superclasses MessageDataProperty
Implies being a LogEntry
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

logIndex

Relates a Log Entry to its index in the transaction reciept of a Transaction. The log index defines the order of the Log Entries of a Transaction.

Status unstable
URI http://ethon.consensys.net/logIndex
Suggested string logIndex
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

logTopicData

Relates a Log Topic to the 32 bytes of data it contains.

Status unstable
URI http://ethon.consensys.net/logTopicData
Suggested string logTopicData
Superclasses MessageDataProperty
Implies being a LogTopic
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

logTopicIndex

Relates a Log Topic to its index in the Log Entry. The Log Topic index defines the order of the Log Topics of in Log Entry.

Status unstable
URI http://ethon.consensys.net/logTopicIndex
Suggested string logTopicIndex
Superclasses MessageDataProperty
Implies being a LogTopic
Every value is a http://www.w3.org/2001/XMLSchema#integer

msgCallDepth

A scalar value equal to the depth of the Contract Message. A Contract Message is represented as a Call in the Ethereum EVM. This value represents the number of CALL or CREATE opcodes being executed at the time of the Message execution.

Status unstable
URI http://ethon.consensys.net/msgCallDepth
Suggested string msgCallDepth
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

msgData

An unlimited size byte array specifying the input data of the call.

Status unstable
URI http://ethon.consensys.net/msgData
Suggested string msgData
Superclasses msgPayload
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

msgError

A boolean value indicating whether the ContractMessage execution resulted in an error. A "true" value indicates an error.

Status unstable
URI http://ethon.consensys.net/msgError
Suggested string msgError
Superclasses MessageDataProperty
Implies being a ContractMsg
Every value is a http://www.w3.org/2001/XMLSchema#boolean

msgErrorString

A string informally describing an error that occured during the execution of a ContractMessage. Only exists if msgError is true.

Status unstable
URI http://ethon.consensys.net/msgErrorString
Suggested string msgErrorString
Superclasses MessageDataProperty
Implies being a ContractMsg
Every value is a http://www.w3.org/2001/XMLSchema#string

msgGasLimit

A scalar value equal to the maximum amount of gas that should be used in executing this transaction. This is paid up-front, before any computation is done and may not be increased later. If used with Contract Messages it represents the fraction of the original Transaction gas limit still available for execution of the Contract Message. After all resulting computations are done, excess gas is returned to the sender of the original Transaction.

Status unstable
URI http://ethon.consensys.net/msgGasLimit
Suggested string msgGasLimit
Superclasses MessageDataProperty
Implies being a Msg
Every value is a http://www.w3.org/2001/XMLSchema#integer

msgGasUsed

The amount of gas that was used for processing a single Message, regardless of which type of Message it may be.

Status unstable
URI http://ethon.consensys.net/msgGasUsed
Suggested string msgGasUsed
Superclasses MessageDataProperty
Implies being a ContractMsg
Every value is a http://www.w3.org/2001/XMLSchema#integer

msgInit

An unlimited size byte array specifying the EVM-code for the Contract Account initialisation procedure.

Status unstable
URI http://ethon.consensys.net/msgInit
Suggested string msgInit
Superclasses msgPayload
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

msgOutput

The reulting output data from a CallContractMsg.

Status unstable
URI http://ethon.consensys.net/msgOutput
Suggested string msgOutput
Superclasses MessageDataProperty
Implies being a CallContractMsg
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

msgPayload

An unlimited size byte array specifying the data payload of the Message.

Status unstable
URI http://ethon.consensys.net/msgPayload
Suggested string msgPayload
Superclasses MessageDataProperty
Subclasses msgData msgInit
Implies being a Msg
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

msgRefundBalance

A scalar value equal to the number of Wei that will be refunded in result of the SelfdestructContractMsg.

Status unstable
URI http://ethon.consensys.net/msgRefundBalance
Suggested string msgRefundBalance
Superclasses MessageDataProperty
Implies being a SelfdestructContractMsg
Every value is a http://www.w3.org/2001/XMLSchema#integer

number

A scalar value equal to the number of ancestor Blocks. The genesis Block has a number of zero.

Status unstable
URI http://ethon.consensys.net/number
Suggested string number
Superclasses BlockDataProperty
Every value is a http://www.w3.org/2001/XMLSchema#integer

receiptsRoot

The Keccak 256-bit hash of the root node of the trie structure populated with the receipts of each transaction in the transactions list portion of the Block.

Status unstable
URI http://ethon.consensys.net/receiptsRoot
Suggested string blockReceiptsRoot
Superclasses MessageDataProperty
Implies being a ReceiptsTrie
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

startBlockNumber

The Block number of the first block in a new Blockchain after a hard fork.

Status unstable
URI http://ethon.consensys.net/startBlockNumber
Suggested string startBlockNumber
Superclasses NetworkDataProperty
Implies being a Blockchain
Every value is a http://www.w3.org/2001/XMLSchema#integer

stateRoot

The Keccak 256-bit hash of the root node of the state trie that represents this state.

Status unstable
URI http://ethon.consensys.net/stateRoot
Suggested string stateRoot
Superclasses StateDataProperty
Implies being a State
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

storageRoot

A 256-bit hash of the root node of a Merkle Patricia tree that encodes the storage contents of the Account (a mapping between 265-bit integer values), encoded into the trie as a mapping from the Keccak 256-bit hash of the 256-bit integer keys to the RLP-encoded 256-bit integer values.

Status unstable
URI http://ethon.consensys.net/storageRoot
Suggested string storageRoot
Superclasses AccountDataProperty
Implies being a AccountStorage
Every value is a http://www.w3.org/2001/XMLSchema#base64Binary

transactionsRoot

The Keccak 256-bit hash of the root node of the trie structure populated with each transaction in the transactions list portion of the Block.

Status unstable
URI http://ethon.consensys.net/transactionsRoot
Suggested string blockTransactionsRoot
Superclasses MessageDataProperty
Implies being a TxTrie
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

txGasPrice

A scalar value equal to the number of Wei to be paid per unit of gas for all computation costs incurred as a result of the execution of this Transaction.

Status unstable
URI http://ethon.consensys.net/txGasPrice
Suggested string txGasPrice
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

txGasUsed

The total amount of gas that was used for processing this Tx and all ContractMessages resulting from it. It is the sum of all msgGasUsed by this Tx and resulting ContractMessages.

Status unstable
URI http://ethon.consensys.net/txGasUsed
Suggested string txGasUsed
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

txHash

The Keccak 256-bit hash of the Transaction

Status unstable
URI http://ethon.consensys.net/txHash
Suggested string txHash
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

txIndex

The position of a Transaction in a Block.

Status unstable
URI http://ethon.consensys.net/txIndex
Suggested string txIndex
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

txLogsBloom

Relates a Transaction to the Bloom filter of its Log Entries.

Status unstable
URI http://ethon.consensys.net/txLogsBloom
Suggested string txLogsBloom
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

txNonce

A scalar value equal to the number of transactions sent by the sender.

Status unstable
URI http://ethon.consensys.net/txNonce
Suggested string txNonce
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#integer

txR

The values txV, txR and txS correspond to the signature of the transaction and are used to determine the sender of the transaction. The txR value is a Byte array of length 32.

Status unstable
URI http://ethon.consensys.net/txR
Suggested string txR
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

txS

The values txV, txR and txS correspond to the signature of the transaction and are used to determine the sender of the transaction. The value txS is a byte array of length 32.

Status unstable
URI http://ethon.consensys.net/txS
Suggested string txS
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#hexBinary

txV

The values txV, txR and txS correspond to the signature of the transaction and are used to determine the sender of the transaction. The value txV specifies the sign and finiteness of the curve point. Since EIP-155 it is used to realize a replay attack protection. It is calculated in the following way: txV = CHAIN_ID * 2 + 36

Status unstable
URI http://ethon.consensys.net/txV
Suggested string txV
Superclasses MessageDataProperty
Implies being a Tx
Every value is a http://www.w3.org/2001/XMLSchema#byte

uncleBeneficiaryReward

The reward the beneficiary of an uncle receives if a Block includes it. The reward amount depends how far up the Uncle is in the blockchain (the number of the Block in which it is included minus the Uncle's number). An uncle reward is only paid if the distance is smaller than 8. For a distance of 1 the reward is 7/8 of the block reward, for a distance of 7 the reward is 1/8 of the block reward.

Status unstable
URI http://ethon.consensys.net/uncleBeneficiaryReward
Suggested string uncleBenficiaryReward
Superclasses BlockDataProperty
Implies being a Uncle
Every value is a http://www.w3.org/2001/XMLSchema#integer

value

A scalar value equal to the number of Wei to be transferred to the Message call's recipient. In the case of Contract creation it is the initial balance of the Contract Account, paid by the sending Account.

Status unstable
URI http://ethon.consensys.net/value
Suggested string value
Superclasses MessageDataProperty
Implies being a Msg
Every value is a http://www.w3.org/2001/XMLSchema#integer

Annotation Property descriptions 4

DASE_RULE

URI http://ethon.consensys.net/DASE_RULE

EthOnAnnotationProperty

Superclass of all EthOn specific annotation properties.

Status unstable
URI http://ethon.consensys.net/EthOnAnnotationProperty
Subclasses suggestedStringRepresentation

suggestedStringRepresentation

This property relates an EthOn concept with a suggested string representation. It can be used to give the term a name, e.g. in program code.

Status unstable
URI http://ethon.consensys.net/suggestedStringRepresentation
Superclasses EthOnAnnotationProperty
Implies being a

isRuleEnabled

URI http://swrl.stanford.edu/ontologies/3.3/swrla.owl#isRuleEnabled