manaflow
posted on 26 Nov 2019Manaflow is a transaction architecture and processing engine that validates in logarithmic parallel time like Bitcoin while enabling user-defined, consensus-validated state transitions like Ethereum.
This applies to batches of transactions, an entire block, or even the entire chain.
Additionally, state is optionally merkelized in an Ethereum-like merkle patricia trie so that miners can prove “necessarily unspent” for a given output at a given block, which can be accomplished without sacrificing log-time validation.
State threading through UTXO is achieved by granting output scripts access to the entire contents of the input and output transactions. By constraining the form of this pair of transactions (one pair for each consumed output), outputs effectively act as setters at transaction build time. If outputs can set the scripts of subsequent outputs, they can model stateful continuations.
To make this model viable for application programming (for example, presenting the illusion of a persistent object identifier), the scripting language is not only concatenative as in Bitcoin, but also homoiconic.
Concatenative continuations are stack snapshots. In a homoiconic language, code is easily manipulated as data. An appropriate set of abstractions can hide the details of analyzing code of other UTXO in the evaluated pair and simplify the programming model to resemble familiar synchronous and asynchronous runtime environments. In a concatenative language, code “analysis” often reduces to prefix comparison.
Manaflow software will always be open-source and protected by a strong copyleft license like GPL3.
(Note: This post was written two weeks prior to the author being shown a certain technique…).