A witness is a full node on the Obyte network. By definition, full nodes validate all transactions. Just like the other full nodes on the network, witnesses validate transactions. However, unlike other full nodes which are anonymous, witnesses are highly reputable users with real-world identities. Witnesses can be people, non profits, businesses, charities etc. The name witness refers to the Obyte address the witness is using as a unique identifier.
The functions are 1. be honest, and 2. be there. As their name implies, they acknowledge or ‘witness’ every transaction seen. Witnesses do not approve/reject transactions as that would make them gatekeepers.
There is no theoretical limit to the number of full nodes that can be run on the network. However, there are only 12 witnesses for every transaction. This number is large enough to protect against occasional failures (e.g. a witness going offline) but is not so large that users can't still know each witness.
Accountable and replaceable
To help make witnesses accountable, they are also replaceable. Each user, with every transaction, posts a list of 12 witnesses he/she trusts. The lists of witnesses used can be changed for every transaction from inside the Obyte wallet. This 59 second video shows how simple this is for users to do.
Witnesses versus miners
- Already exist in the real world, have various motives for being a witness
- Are accountable (have public real-world identities)
- Are not gatekeepers (they do not have the power to include or not include your transaction)
- Do not produce blocks (Obyte DAG contains no blocks, just transactions).
- Exist to make money
- Are not accountable (do not have have public real-world identities)
- Are gatekeepers (they do have the power to include or not include your transaction)
- Produce blocks.
The first decentralized witness candidate is Rogier Eijkelhof. See his video interview.
Why be a witness?
In exchange for the work involved, a witness collects part of the transaction fee (the payload fee). However, immediate financial reward is not the primary reason for being a witness. Witnesses will have their own reasons, but some examples could be to:
- Raise awareness of your real world organization
- Raise awareness of your personal name or business
- Be part of something new, important and never seen before
- Help keep the Obyte network secure for future financial reasons (witnesses could use the network for the settlement of real world contracts)
A witness is expected to:
- Have a publicly known real name (not be anonymous)
- Be well known in the community
- Be trusted
- Have a lot to lose (material and/or nonmaterial) in case of misbehavior. The loss would be your business (outside Obyte) and/or reputation
- Have enough technical expertise to ensure uninterrupted operation 24/7 and security of your private keys (they must not be stolen and used to post on your behalf)
- Be prepared to adapt your own witness list when you feel the community wants to change the list in some way and the new candidate satisfies the above rules. This includes removing yourself from the witness list.
Interested in being a witness?
If you meet the requirements above, then feel free to express interest in becoming one. Just make contact with a prominent community member or someone from the Obyte team and we will make sure to guide you through the process of announcing your candidacy.
Please note again that one of the requirements is that you must have a publicly known real name. If you do not want to be publicly known then you can still run a witness node, but you cannot under any circumstances be one of the 12 default witnesses. To illustrate this point, Oprah Winfrey could be a witness, but Satoshi Nakamoto could not (sorry).
The Obyte whitepaper (PDF) is the best single resource on Obyte that exists and contains a lot of information on witnesses.