Mimblewimble

in #steem5 years ago

Mimblewimble is a blockchain-based distributed registry design that differs in many ways from that of Bitcoin. It offers interesting differences from the point of view of the confidentiality of transactions and "scripting" at the cost of a sacrifice in terms of functionality or even transaction throughput per second. However, the operating principles of Lightning Network, in a simplified version, could apply to Mimblewimble which reduces the importance of the latter disadvantage in terms of loss of flow.

Mimblewimble builds on the ideas of Blockstream Confidential Transaction and adds the ability to combine transactions with each other, remove the "outputs" that are no longer expendable (UTXO) to keep only the unspent "outputs" that reduce that makes the total size of the chain considerably.

This ability to reduce the size of the blockchain over time is important, especially in the context of confidential transactions: in fact, the fact of masking the amount of the transactions is accompanied by an increase in information that is related to the transaction and ensure that the amount of the output does not behave like a negative amount which would lead to an attack to create money from scratch. To give an order of magnitude, if the bitcoin blockchain implemented the confidential transaction technology of "Ct Element" the total size of the string would exceed 1 Tera byte.

MimbleWimble therefore allows newcomers to the network not to download the history of past (spent) outputs and to suppress the "inputs" to keep only "unspent outputs" and money creation inputs.

It is nevertheless impossible to claim that a transaction did not take place even if the input and output were erased because the combined transactions contain a cryptographic trace (sum of "Excess") of all the transactions including those which have been deleted.

This technology, in a first approach, seems to make the scripting impossible because they can not be the object of operation of addition or subtraction like the amounts and the keys. In addition, deleting the history of past transactions would not allow nodes to replay the scripts related to the outputs. But that nay! The magic of signatures ("magicking digital signatures" in the words of Andrew Poelstra) means that some of them can be created only through the good faith execution of a computer program. If we combine this capacity with the principles underlying Lightning Network's HTLCs, we then have funds that can only be released after the successful execution of a program, ie the publication of the signature. adequate. The scripts would no longer be executed by the nodes of the blockchain (as happens on Ethereum or Bitcoin) but only on the computers of the actors concerned: only the signature and the public key proving the execution of a program would be visible.

This is a considerable advance in terms of the confidentiality of the interactions between the actors of a contract because the "Scriptless Script" are stored and executed outside blockchain. These "scripts", however, have limitations. They will be the subject of a future study by project contributors.

To date, Mimblewimble is in the process of specification and development and is not yet usable. The implementation could be done in several ways in the future: an extension on the Bitcoin network via a softfork, a sidechain or in the form of an altcoin.