EOS is a good example of permissioned blockchains masquerading as permissionless with kludgy governance and a poor reimagination of a time-matured and tested arbitration and legal processes. https://t.co/6gcOiNVHlY
Systems with punishments and blacklists are easier to think about. If centralized. In decentralized systems it's difficult to access the actual information of agents, and to know if they are truthful and if they did what they had to. It's not worth it. Example: https://t.co/2M7EniG7Pq
There is something I don't understand about EOS consensus protocol. I thought that as long as a transaction doesn't have the approval of 51% of the block producers, it would not complete. Here it seems that a fraudulent transaction only requires 1/21 of the block producers to be approved. I'm calling this transaction fraudulent because besides this one block producers all others block producers had this account blacklisted. My understanding of how EOS consensus protocol is supposed to work was that 1 BP produces a block and at least 14 others need to validate the block for it to be valid. What happened to the validation step by the other BPs? Can't the other BPs reject the transaction considering it is sent from a blacklisted account? If not what's the point of the validation step? If validators can't reject a block from a blacklisted account this opens the door to corruption. Maybe it was just negligence here but it is concerning that it would take a hacker to bribe only one block producer to get its transaction confirmed.
I could be wrong, but there may be a difference with how blockchain protocol works vs a blacklist config. At the protocol level it's a valid transactions. Validation is likely built with BFT in mind, not to check against a list?
However, this transactions would have been deemed invalid if processed by the other BPs. So basically the "opinion" of other BPs doesn't matter. I'm just curious which kind of transactions/block can be rejected if this one can't. Is there any example of transaction that ever been rejected by validating BPs following the production of the block by the producing BP?
The constitution is set to be replaced. It is not enforced and widely agreed to have been a failure. Here’s the front runner for its replacement. https://bloks.io/vote/referendums/eosuseragree
Edit: by “valid” we mean from the blockchain’s point of view. The right private key was used to transfer tokens so they were transferred.
“Valid” is objective, not subjective here. If you enter a permission (i.e. private key) that is correct and has the authority to do what you’re asking then the blockchain will comply. The blacklist is not a blockchain concern, it’s a BP concern.
>Edit: by “valid” we mean from the blockchain’s point of view. The right private key was used to transfer tokens so they were transferred.
thanks for the comments and explanations, I appreciate your clarifications!
Each BP gets a rotation to produce blocks. The blacklist that was used had a specific account. If the block producer without the list allowed the blacklisted account to send X amount of EOS to a non-blacklisted account, then funds could be sent from that non-blacklisted account by other BPs. Because of the speed of EOS, there wasn't anything that could be done.
That's what you're missing: It's not an invalid block. Again, the blacklist is for accounts submitting transactions. Had nothing to do with already submitted transactions. This is not a software failure. It's simply a failure of the mainnet, which [Block.one](https://Block.one) has nothing to do with, governing.
That is literally the decentralization though.
Centralization would mean that one BP could ***censor*** a transaction.
One BP being able to push a transaction through means that publishing transactions is decentralized.