Byteball is an open source software to store arbitrary data, which can be of transferrable nature like for example currencies, in a decentralized manner. Data is stored in units which are published to the network by every participant. Transaction fees for a unit’s required storage are paid in bytes, Byteball’s native currency, in a one-to-one relationship, as the name implies. These fees for a unit are collected by the first units to include this unit as a parent and as such, no new bytes can be generated; the supply is fixed to a total amount of 1015 bytes. By referring to one or more parent units, a directed acyclic graph, instead of a chain, is formed. Consensus is achieved by building a main chain which contains most units published by witnesses. Witnesses are trusted and ideally real-world verified addresses which are expected to regularly publish sequential units. Every user includes a list of twelve witnesses with every unit published to the network so that witnesses whose blocks will become part of the main chain are trusted by a large fraction of the whole network. Additionally, attempted misbehaviours of witnesses are easily addressable by excluding them from future witness lists. Byteball provides easy-to-use conditional transactions, bound payments, which can even depend on official on-chain oracles 1. These arbitrary asset transactions, the arbitrary storage which could be used for the content identifier database and the resource-conserving and network time independent consensus mechanism make Byteball an interesting candidate for some applications of the content blockchain project. Most of the information presented here in a summarized form has been extracted from Byteball’s technical whitepaper. While the overall approach is promising, the project is very young and has a small developer community. We might revisit it in more detail at a later time if it gains more traction.

Byteball’s bound payments (Source)