Proposal to improving the EOS network (immutability and decentralization)

in #eos5 years ago (edited)

The original intention of arbitration is to enforce "Intention of Code is Law" to enable recovery of funds due to the result of bugs resulting in the lost of funds similar to the DAO hack case on Ethereum; and not to resolve individual lost funds as the results of bad habits with managing your crypto security.

If transactions are not immutable, then investing in EOS is no better compared to investing in Facebook or Paypal credits. I'm saying this as a holder of EOS myself hoping for EOS to improve into the future. EOS is my second largest investment (after Elastos) in my portfolio atm.

[My Proposal]
Other methods of ensuring securing your funds already exist, such as multi-sig, staking and multi-permission structures, and cold-storage with hardware wallet access. The best way forward is to make these security features more readily accessible and user-friendly, while protecting/enforcing the immutability of the EOS network.

In my view, on the base level, transactions should be immutable. A blockchain that is not immutable is worthless — nothing more than a typical cloud database system. What EOS needs is to block the arbitrators freezing and control of accounts unless the user op-in to the program via a smart-contract layer. To the users, it can be simply a flick of a toggle-switch on the wallet app + acceptance of a Ricardian contract.

BPs need to stake their EOS and attempt to manipulate transactions at the base level will incur significant financial cost (scaled to the amount of the transaction). Limiting the power of BPs is extremely important, just like limiting the power of governments as well, whether or not they are being good at this point in time."

Finally, to address the issue of the lack of arbitration power against hackers who didn't op-in to the arbitration process (via smart contracts) in the event that funds on an arbitration-protected account is being hacked: My proposal would be to simply disallow all transactions from a "protected" account to a "base-level" account that cannot be subjected to arbitration. The base-level accounts can then function as the immutable "cold-storage" layer, while arbitration "protected" accounts can serve as the "active" layer for more frequent transactions.

~Juni
cybernetwork@EOS

See also:
Introducing Proof-of-concept Tungsten for dApplication level Governance.
https://medium.com/@EosMetal/introducing-proof-of-concept-tungsten-for-dapplication-level-governance-fea8b0a452e9

Sort:  

The original intention of arbitration is to enforce "Intention of Code is Law" to enable recovery of funds due to the result of bugs resulting in the lost of funds similar to the DAO hack case on Ethereum

This is not true. "Intention of Code is Law" was invented by Dan Larimer after the blockchain was already launched. It wasn't included in the original designs.

Other methods of ensuring securing your funds already exist, such as multi-sig, staking and multi-permission structures, and cold-storage with hardware wallet access.

Yes, but this is not contrary to base-layer arbitration. We can have them all: base-layer arbitration plus all the nice security features. A blockchain which uses only some of the security features available will be always less secure than one which uses them all, including base-layer arbitration.

In my view, on the base level, transactions should be immutable. A blockchain that is not immutable is worthless — nothing more than a typical cloud database system.

Yes, and in EOS transactions are immutable. All transactions are immutably recorded to the blockchain: stealing tokens/accounts, ECAF's ruling and BPs enforcing it. Nobody is removing or altering any transactions in the blockchain. There are only added new transactions, and they are authorized and made in accordance to the rules of the network.

Limiting the power of BPs is extremely important, just like limiting the power of governments as well, whether or not they are being good at this point in time.

That's why we have ECAF. It helps us to separate powers. Without it, BPs would to both rulings and enforcement. That is usually very bad idea. Now we have ECAF which makes the rulings independently so it limits the powers of BPs.

My proposal would be to simply disallow all transactions from a "protected" account to a "base-level" account that cannot be subjected to arbitration.

This would create two totally different ecosystems on the blockchain. It doesn't make much sense. A better way would be to create another blockchain with different rules.

Yes, "Intention of Code is Law" is Dan's attempt to fix the flaws of the original design, and I do agree with him. It is nature that blockchain projects experiment, improves, and evolves over time -- especially so at its infancy.

My view on immutability is that transactions have to be immutable base on private key -- i.e. funds transferred cannot be reversed nor stopped by any other private keys.

I do not understand how making the EOS ecosystem more flexible doesn't make sense, perhaps you can elaborate the reasoning behind this.

[Excerpt of a discussion I had on the EOS NATION Facebook group]
Link: https://www.facebook.com/groups/EOSNation/permalink/2222677801312039/

David Adams:
Juni I know you have been involved with this since the very beginning. Do you think account holders should be entered into arbitration-enabled contracts by default? I think yes. Most people won't take the time look into arbitration until it is too late.

Me:
I don't think that is a bad idea for accounts to default with arbitration enabled, where more experienced users can then immediately choose to op-out (with a wait period of 3 days perhaps -- by removing all their funds from the contract). Those who op-out can transfer their funds to any accounts, while "safe-mode" or "protected" accounts are only able to transfer funds to another arbitration accounts. Will be helpful if people can have only a portion of their funds protected, and the unprotected funds can then be transferred to a different unprotected account under (hardware wallet) cold storage, etc.

David Adams:
No one would have a reason to complain with this kind of flexibility. The main reason people diss EOS, is because they think they have centralized control over freezing and reversing accounts. If users can opt in our out at will, it's the best of both worlds.

Juni:
A hybrid system can be very appealing.

  1. In a way the arb-protected-accounts can be viewed as our normal spending account in a bank.
  2. While accounts that have opted out of arbitration access/power (secured by multi-sig + hardware-wallet as one of the signatory) can be viewed as a longer-term fix-deposit account in a way (where those fraction of funds is rarely touched), and there is no concern by more paranoid individuals that their funds may be at risk of fluke arbitration or put at risk in case of bad governmental groups momentarily gaining power.

A further (very crude) idea I have also considered is if EOS and ETH can be linked in some way, such at individuals can opt in for further security where one of the multi-sig accounts is provided by an ETH private key.

Periodic "backups" of fund numbers on the EOS blockchain can be made on the ETH blockchain (with gas paid for with ETH of course); and for funds to be transferred beyond a certain limit out of this account/contract, the ledger on the ETH blockchain need to be updated first to enable the actual transfer on the EOS blockchain to go forth. i.e. If there are 500 EOS tokens secured and the amount updated on the ETH blockchain, and the threshold is set of 10%, then only 50 EOS tokens can be moved unless the ETH ledger is updated or the threshold is modified.

This allow the security level necessary for institutional level of custodians trying to operate on the EOS platform, while also keeping the large sort of funds on the EOS platform w/o having to trade them for something else that they might deem more secure (in terms of centralisation-risks).

Perhaps, alt-chain linking can be further expanded to include say Cardano (once their smart contract layer is up), or Nano, and so on.