@Jeff “We decided to create a new version of FairCoin which corrects issues we encountered. The current version of FairCoin relies on PoS (proof-of-stake) which cannot be considered fair, because it confer an advantage on the already rich. Therefore we needed to come up with a new way to secure the network. We call it PoC (proof-of-cooperation). This innovation will finally make FairCoin fair, secure, and sustainable.”
This file has been truncated.
# On proof-of-cooperation
by Thomas König, firstname.lastname@example.org, 0x21792bf5
Two years ago I became aware of the enormous demand for energy and the concentration of power around some pool operators in the Bitcoin network. I thought that there must be a better way to do it. Why not try to let nodes cooperate instead of competing to generate blocks. In many thought experiments I tried to eliminate mining and replace it with something different that serves the same purpose. A profound assumption of the new system is that cooperation is more efficient than competition. The concept of proof-of-cooperation was born and I started work on the white paper.
Proof-of-cooperation (in short PoC) is implemented in FairCoin2, which is a fork of the Bitcoin 0.12 branch. All mining related code has been removed and replaced by PoC code. Block generation is performed by so-called Cooperatively Validated Nodes (CVNs). CVNs are appointed in a democratic process which is out of the scope of this technical document. CVNs can be added or removed from the network dynamically. CVN information is stored in the blockchain. The mandatory transaction fees go to the respective block creators to compensate their efforts for running a CVN. Certain chain parameters, e.g. the time between blocks, the amount of the transaction fee, etc. are dynamically adjustable without the need of releasing a new wallet version. These dynamic chain parameters are also stored in the blockchain. The appointed FairCoin blockchain administrators (not the developers) take on the task of managing these parameters. The FairCoin2 network is comprised of a virtually unlimited number of full nodes and a limited number of CVNs. The maximum hard coded value is 100 but the actual target is 40-50 CVNs.
## The 3 major building blocks
1. The logic to find out which CVN ID (unsigned 32bit) should create the next
block in a deterministic way by examining the blockchain history.
2. All CVNs achieve consensus about this CVN ID by signing a piece of data
comprised of the hash of the last chain tip and the CVN ID of the next block
3. Create the blocks and incorporate transactions, the proof data, and optional
additional chain data into it.
### Who's next
We start searching backwards through the chain to find out which CVN has created its last block the furthest in the past. Once we've identified that node ID, we make sure that it was recently actively collaborating in the network by checking for the signatures of that node in the last couple of blocks. If the node was active, it will be chosen as the next block creator - the next CVN ID. Although this might sound like a simple round robin system complexity is introduced by handling exceptional cases. E.g. a CVN could go offline at any time, or a split-brain situation could occur in the network, etc...
25 Agosto, 2020 02:58
lo que me pregunto es qué tanto resistirá cuando los nodos no cooperan. Podría ser muy fácil parar la generación de moneda si muchos se vuelven deshonestos.
25 Agosto, 2020 02:59
Teresa me puso en contacto con el desarrollador.
Van a hacer el lanzamiento el lanzamiento el 27 y ocupan gente para probar la red.
también ocupan full nodes y operadores de CVN:
¡ayuden! así aprenden de blockchain y economía solidaria. Avisenme si ocupan una mano para compilarlo.
25 Agosto, 2020 03:00
Si lo tienen en docker puede levantar un node…
Tal vez ahora más tarde
Hay algún problema con que sea en contabo?
Creo que los servidores están en Alemania
25 Agosto, 2020 03:00
no veo por qué sería problema.
The hardware must provide a USB 2.0 port which takes up the Fasito USB token. Please avoid using a USB-hub for the token.