Is byteball really trustless?
Byteball is a distributed database with twelve user chosen nodes that help network to reach consensus.
That twelve nodes form a single point of failure… or at least is what I thought.
But the real fact is that twelve nodes NEVER EVER could alter or delete a confirmed transaction, even if all collude.
Regarding to confirmed transactions, there are not a single point of failure. If they collude obviously would create a small chaos until community agrees on reputed users again. It’d affect temporary to the network, but harm could never be done to confirmed units (balls).
Funds are safe, balls are indestructible
Byteball achieves finality in an oddly manner, so oddly that it has to be explained in an oddly way too.
Please remember this story is worth only for describing superficially the finality aspect of Byteball
You’re on the space, but not ours. There are no stars at all. You, as a user, sends a marble cryptographically chained with the last known marble you have just seen.
In the view of a marble
As a marble floating, you are alone. You only known the marble before you is valid. You can move a bit, so you can see around. You have a list, a 12 lighthouses list. List says where you have to look.
You look on that points, and you realize they are very tiny lights, almost unnoticeable on whole dark space. Also you realize that all lighthouses form a lane, a lane you are within, moving to their end at a variable and chaotic speed. Eventually, you reach it and then….
You see the brightest light you have ever seen before, and everything changes. You aren’t floating anymore, instead you feel like in a hole which fits perfectly to you. The whole space is white instead of black (like in matrix white room), and you still being a marble, but with a rubber band covering around, impossible to break.
Also you realize on this universe, all is very clear and perfectly defined. You follow a very long cryptography chain until a rubbered marble with no parent, and a text: “Let there be light”. It’s interesting ;)
So that is byteball, a platform which dresses marbles with rubber suits in order to achieve marble indestructibility xD
In the previous article, I said a common sense reason for only allowing 1 witness change. But it is a justification. Real reason is immunize network against some kind of attacks but that is beyond the scope of this article.
Byteball needs witnesses. With a fixed list it would work too. In any case, the way of changing the list, determines who has the power over the system.
In byteball, Users as a Whole have the power over the system, because each unit contains a modifiable witnesses list under unit author control, but he as an individual can only modify one witness from UaaW list.
And here is where I fully agree describing byteball consensus system as a “decentralized UaaW”. Both core concepts fits very nice:
- Users as a Whole
- User as a Witness/User adds a Witness
Byteball consensus system relies on cryptography (first) and users (second). This means the users/witnesses/robots running a node with an ESP32/ESP8266 cannot do anything against cryptographic rules. Reverting confirmed transactions is one of those things.
UaaW defines the official witnesses list, but not each individual user. UaaW has the power over the system.
The protocol simply tells to UaaW: “Agree on 11 of 12 of your witnesses or GTFO”.
In sum, this means that any user in order to use the system in a trustless manner have to set up a full node and simple see how the dag grows. If transactions gets confirmed, can safely put their unit chained together with the last seen unit using their witnesses list, and it will be confirmed and on that white space described before.
So yes, byteball definitely is a trustless system.