What Is Semantic Ethereum? Multi-Purpose Ethereum
What Is Semantic Ethereum?
Last modified on January 12, 2017
Disclaimer: The views and opinions voiced in this article are those of the authors and do not necessarily reflect the official policy or position of Blockgeeks
EthOn — introducing semantic Ethereum
EthOn is a multi-purpose Ethereum ontology. It takes all these blockchain terms you might have heard of (Blocks, Transactions, Contracts, Nonce, …) brings them into relation with each other and gives brief and clear definitions.
Back in the days of the DAO, its heist and the subsequent analysis of what happened, I spent a lot of time understanding Ethereum and its concepts. I read the white and the yellow papers (I truly did!), crawled through stack exchange, devoured anything there was about Ethereum on Reddit and still many concepts of how it worked were truly hard to figure out. Don’t get me wrong; there is no doubt that Ethereum is well defined, but the problem was that the information was not always available in a format that permitted me to comprehensively understand the concept I was interested in.
Since I love the idea of the Semantic Web and have a background in creating formal models, my natural treatment is to describe Ethereum as an ontology.
These are some of the benefits that come for free with EthOn:
- With EthOn dumb data turns into clever data — if a dataset references EthOn terms, it becomes self-explanatory
- EthOn provides an automatically generated extensive glossary of Ethereum terms
- by providing unambiguous terms, EthOn is a means to improve communication among developers, technical and non-technical people
- EthOn is a learning resource for understanding how Ethereum works and for reading the yellow paper
- EthOn provides a way to formally describe Ethereum artifacts in a machine readable format
- EthOn provides the capability to semantically annotate content provided by Ethereum based instruments and dApps (e.g. block explorers, analysis implements, markets, IPFS, …)
- semantic reasoning about partially described Ethereum artifacts to infer fresh skill
- … use it for YOUR project!
What is an ontology?
Ontologies are formal and schematic descriptions of an area of skill. The concepts of the domain are collected into a curated vocabulary and then organized. It can be explicitly defined how concepts relate to each other and what rules there are for their existence and the relations inbetween them. The conclusiveness of concepts and their relations is a function of the desired area of application of the ontology.
Why should there be an ontology for Ethereum?
Ethereum is an ideal field of application for ontologies because a consensus about the semantics of the involved concepts is a prerequisite for reaching consensus about the state of the network. Any deviation from this consensus results in a fork. An Ethereum ontology may serve as a semantic specification of its concepts that complements its technical specification. It is also a learning resource for those attempting to understand the yellow paper and a foundation for semantic annotation of Ethereum artifacts.
As an example, in Ethereum there is the concept of a Block. All Blocks must have a parent and child Block. This is true with the exception of the very very first block, which only has a child and the newest Block for which the child has not yet been found. Also, a Block contains a list of Transactions (which may be empty). Blocks have an associated miner, who receives the Block prize.
In an ontology, these domain concepts are formalized in an ontology language (e.g. OWL) so that they can be referenced, queried and used for inference. Referencing an ontology can be useful in many scripts. An Ethereum block explorer could, for example, reference the Block concept of the ontology to state that the term Block used in its user interface is identical to the one defined in the ontology. An API, be it from an Ethereum client or a wallet service, can reference ontological concepts to state compliance with a standard. Then, the ontology can be used to verify that the API actually conforms with it. Querying an ontology can be useful to retrieve definitions of technical terms, in order to create a glossary. If a lump of data is retrieved from an API that identifies it as a Block, the ontology can be queried to find out about its structure, ranges of values and relations to other concepts. An ontology can also be used to infer skill. If a Block doesn’t have a parent, it can be concluded that it must be the very first Block of a blockchain.
What Is Semantic Ethereum? A very brief example
This example shows how EthOn can be used to describe Ethereum artifacts. Besides this, there are many other uses for EthOn.
This is how EthOn models an Ethereum Block:
According to the above model, a Block can now be described as Linked Data using the Turtle notation:
The Future of EthOn
EthOn is released using CC BY Four.0. Contributions are very much appreciated! Please have a look at the contribution guidelines.
When Ethereum switches, e.g. to Proof of Stake, this will be reflected in EthOn. If the ontology switches in an incompatible way, the version number will be enlargened.
EthOn could in future reuse or reference concepts from a project called BLONDiE, a more general blockchain ontology.
These links may be useful if you want to learn more about EthOn: