Impossible triangle: A distributed accounting system cannot be scalable, secure, and decentralized.

  1. Scalability: Performance, or concurrency
  2. Security: refers to consistent ledger
  3. Decentralization: This is the most confusing, because people use decentralization as an end in itself. But the purpose of decentralization is to improve survivability, and the more complete the decentralization, the better survivability.

How to choose bitcoin

Bitcoin, for example, has chosen security and decentralization at the expense of performance. But it is a reasonable choice considering its time and purpose. Ten years after the release of the Bitcoin white paper, an optimistic prediction can be made that bitcoin will not be wiped out as long as there are computers and networks. For example, you can now take out a computer with a 1-terabyte hard drive and Internet access and download the bitcoin client and the entire ledger. You can create a wallet, accept and send Bitcoin, and participate in mining without anyone’s approval or spending another dollar. If the world’s pools and professional miners give up, your laptop can keep digging.

Not only bitcoin, but also Ethereum, Zcash, Monero, Dash and other public chains based on POW algorithms have a very low probability of complete death, and even DogeCoin.

trend

There will be more POW-based blockchains, and there will be POW-based blockchain projects that will die out. Successful blockchain projects will try to provide quick confirmation mechanisms, such as Bitcoin Lightning network and Liquid, as well as The sharding technology of Ethereum. There will also be new distributed ledger systems that provide fast validation schemes.

What kind of lightning network is relatively safe

We think some of the innovations in the lightning network direction are safe and some are dangerous.

Safe innovation

We know that the performance of the exchange itself does not affect the companies listed on the exchange. Because the exchange is just a high-speed trading platform, it only provides bookkeeping itself, and thus generates revenue. Even as exchanges wither, people can choose to deposit their shares elsewhere. Companies can also choose to list elsewhere.

Bitcoin, Ethereum and other assets that have survived at present can be defined as certain assets, exchanges that only provide opportunities for asset trading. The lightning network is safe, because even if exchanges or lightning networks gradually decline, people’s assets themselves are not affected and can still be referred to other places.

Dangerous innovation

Some lightning networks are trying to create a new asset in exchange for an outside digital currency asset at a certain price, which we think is dangerous because the asset is an acceptance bond. When a business gets into trouble (which is, by chance, the case for all businesses), all those who have invested in the lightning network become creditors, often at a time when the business is already in trouble and cannot honour. Even if the business is not in trouble, it is very difficult to close down because the bonds it has issued are already in circulation and in other people’s wallets. The business is always in debt.

The choice of a Mixin

Mixin is very aware that any product has a life cycle. From the perspective of respecting user choice and protecting user assets, it is very reasonable to abandon ultimate decentralization and pursue scalability and security in order to achieve one-second validation and super throughput as the design goal. Based on this premise, the physical basis of Mixin nodes can only be high-speed, high-performance servers. This is an important assumption that will be discussed later.

Specific ideas:

  1. Discard the account idea and use UTXO

    Implementing accounts means that there is a consensus on account balances or other properties that can change, resulting in the account being a state machine. Operations on accounts must be performed in a certain order, otherwise different results will be generated on different nodes. For example, if a merchant, by selling virtual goods to 1,000 customers, gains 1,000 Ethereum, suppose the merchant now needs to pay 1 Ethereum each to another 1,000 customers, the merchant’s account can generate 1,000 transaction requests and then send them to 50 full nodes to speed things up, Even if all these transactions are correct, they cannot be identified simultaneously under the account model; they must be identified sequentially, one at a time, or in batches.

    Based on UTXO, this account already has 1000 valid UTXOs. It can generate 1000 valid transactions and these transaction requests are sent directly to 50 nodes. All transactions are confirmed immediately because UTXO does not require an account. Uxto data is characterized by no state and can’t even be considered a database because there are only add operations, not delete and modify operations. There is no state sharing, so it can be processed asynchronously and concurrently.

  2. Use daGs instead of blocks to store ledgers.

    DAG itself is a very mature storage technology solution. Byteball, IOTA, NANO. Nonlinear storage is realized through DAG, storage blocks are no longer arranged in a single order, but can be inserted at any time. The UTXO transaction model itself has removed the dependence of transaction order, and combined with DAG, the storage unit without sequential dependence can be realized.

    And because subsequent transactions in the DAG structure refer to previous transactions, it is extremely difficult to tamper with old transaction records. Because this requires me to be able to get the cooperation of all the people who quote my trade.

  3. Use the BFT to confirm transactions, rather than relying on designated witnesses or references.

    The problem to be solved in using DAG as a ledger is how to identify double flower and shadow chain attacks. Byteball’s scheme is to introduce the mechanism of trusted witnesses. If both transactions are judged reasonable, the transaction with more trusted witnesses will be regarded as a reasonable transaction. IOTA uses algorithms to select witnesses. NANO is a balance-weighted-voting DPOS voting to handle double flowers. A Hashgraph is a node that votes on whether a transaction on a stored record is valid based on the BFT algorithm.

    Mixin’s way of preventing double flowers and shadow chains is that only transactions signed by the BFT are logged to the DAG.

  4. Based on BFT and UTXO, the transaction can be confirmed in 1 second

    The client sends the transaction to a node, which signs first after verification, and then broadcasts the transaction in the node group. Other nodes receive the broadcast for checking, and the transaction that passes the check is signed with its private key, and then sent back to the source node. The source node can verify whether the transaction is valid according to the BFT statistics node signature result, and the valid signature result will be sent to all nodes for persistent synchronization. According to the requirement, all nodes will verify that the transaction in the block has sufficient signatures when receiving the persistent synchronization block. If the transaction has the wrong signature, it will be considered as an attack block. Reviewing the process, we can see that Mixin nodes only verify that UTXO is valid and do no other checks when verifying transactions, and the workload is almost fixed. The cost of time depends only on CPU performance, and the size of the disk read speed. Remember our hypothesis? Mixin is all about high-speed, high-performance servers. Mixin tests show that the maximum round-trip time for a server to validate a single transaction is 300 milliseconds, and the fastest is 40 milliseconds. Therefore, it is completely possible for 50 nodes to confirm transactions in one second.

conclusion

Through these four measures, combined with our goals and design premise, we can achieve a trading system limited only by physical performance, improve network speed, increase memory, improve CPU performance, improve disk read and write speed can effectively improve the overall performance.

Degree of decentralization/Viability comparison:

The viability of Mixin network is weaker than that of bitcoin network, and the lack of approval mechanism makes its viability higher than that of high-speed transfer network with DPOS mechanism.