Byteball Witnesses - the Basics

in #byteball6 years ago (edited)

Intro

This article is to explain the puzzling topic of Byteball Witnesses. Only the basics because it is a complicated topic.
As you may know, in the Byteball network there are 12 "predominant" witnesses, and they take an important role in the network, but it is not easy to understand what are they doing exactly, why are they important, and what happens if they are not doing their job properly?
So let’s get started!

What are witnesses in Byteball and what are they doing?

By definition, the Byteball Witnesses basically are just regular Full Nodes, but have some required behaviour.
First, they have to post transactions (“units” in Byteball) regularly in the DAG. This is easy, nothing special.
Second, they have to do it such way, that each of their last (that means the newest) transaction is referencing their “newest before”. That will result in a single chain of transactions. Actually this is also nothing special, it is fine automatically by the full node software.
There is also a third duty of the witnesses which is more complicated and I will explain it later.

OK, But why are they doing these things? Why are they important?

The Main Chain

One of the main tasks of the cryptocurrency systems is to determine the order of the transactions, so the so-called double spending attempts can be prevented.
In Bitcoin, order of the transactions is determined by the mining procedure. In Byteball, the order of transactions is determined by the so called Main Chain, that is simply an emphasised/outlined series of transactions in the DAG. Important to note that the Main Chain is not created arbitrarily by the Witnesses. It is created by the protocol rules (by mathematical rules), such way that it is gravitating to the transactions issued by Witnesses.

MainChain3.png

In the image: the outlined series of transactions is the Main Chain. The units marked with 'W' are the units issued by the predominant witnesses.

So the Witnesses do not decide the Main Chain by any means, but without the transactions created by the predominant Witnesses, the Main Chain cannot be determined.

Why do the witnesses have to post their transactions regularly?

Because the new transactions become final only if the Main Chain is growing, progressing. And the Main Chain is only progressing if the predominant Witnesses are posting new transactions. At least 6 out of the 12 predominant witnesses have to post regularly, and it means that some of them can go down or become unavailable for some time without causing any problems.

Why do the witnesses have to post their transactions in a single chain as I mentioned in the second rule?

Because the Byteball protocol cannot determine the Main Chain if at least 6 of the predominant witnesses are breaking this rule.

And this leads to the third duty I mentioned at the beginning of this video.

Observe other witnesses

Each witness has 12 witnesses set up in the wallet software (the same way as any regular Byteball wallet).
So the 3rd duty is that the witness has to monitor his 12 witnesses, and in case he detects other witnesses breaking the 1st or 2nd rules above, the misbehaving witnesses have to be kicked out and replaced with new ones.

These are the basics of witnesses.

Conclusion

So the witnesses are helping the Byteball network working and healthy, but they are not gatekeepers nor validators or miners. They have to do very simple stuff, but they can harm the network serouusly if they collude to break the rules.

This is why they are important.
Of course there are plenty of things that I did not cover here in this video because the topic is complex. Please make your notes and questions in the comment section!

See all info in the White Paper: https://byteball.org/Byteball.pdf

Sort:  

and if the Byteball Whitepaper is too complicated then there is Q&A about witnesses in Byteball wiki https://wiki.byteball.org/Witness

Congratulations @milcsix! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - The results, the winners and the prizes

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

@milcsix, you are interesting to read!

Indeed. This just makes me want to become a byteball witness now. But presumably I don't have enough bytes to start considering I have literally just performed a couple of attestations today.

Congratulations @milcsix! You received a personal award!

1 Year on Steemit

Click here to view your Board of Honor

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @milcsix! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.030
BTC 58211.02
ETH 2483.87
USDT 1.00
SBD 2.37