How can I use FairCoin for?
- storing value in a wallet
- buying goods and services
- exchanging to FIAT money (Euro, USD, ...) and other currencies
1. FairCoin has a limited supply of exact 53,193,831.47 FAIR. No additional coins are generated. This makes FiarCoin an ideal store of value for individuals and groups close to the ecosystem. As the ecosystem grows and becomes widely appreciated and accepted as an actual Bitcoin alternative, this will also be reflected in the value of FairCoin.
2. We would like to see many micro businesses to build a circular economy and use FairCoin as a barter system like this example: Merchant A sells coffee to a vegan restaurant B with FairCoin. The coffee farmer can order a video production at designer C to document how they work, and the video producer can pay all or a part of the bill in the restaurant with FairCoin.
3. Until a complete circular economy is achieved, it will always be necessary to exchange for certain products and services into other currencies.This can be done at centralized online exchanges for crypto & fiat or at local groups that also use mutual credit systems. In particular, the exchange and expansion of the network with mutual credit systems is supported.
How was FairCoin started?
50 million FairCoins were initially distributed by an "airdrop" to 49,750 addresses on March 2014 by an unknown creator. Each person was able to claim 1000 FAIR per hour. Automated airdrop claiming methods had no effect, as each IP address could register once per hour, and 2 different captchas had to be solved. These security precautions were hidden until the day of distribution. FairCoin's vast distribution method allowed a good portion of the cryptocurrency community to claim a little bit of the 50,000,000 FairCoins, each.
With the combined Proof-of-Work (PoW) and Proof-of-Stake (PoS) mechanism some additional 50.000 FairCoins per month have been given to various minters until 17th of July 2017 as a reward for being online with their wallets. With the introduction of the FairCoin Proof-of-Cooperation mechanism (PoC) on July 18th, 2017, no more mining and minting is possible.
Since this moment the max supply = total supply is = 53,193,831.47 FAIR , which means that there will never be more Faircoins created than that. 10 million of these FairCoins are locked for future use in the Global South fund, the Commons fund and the Technical infrastructure fund.
Where can I see the amount per address?
As the blockchain is a public ledger, everybody can see the amount at each address (=accounts) at the block explorer. It shows all transactions and the flow of FairCoins. All addresses for funds are listed in this table.
Who takes care of FairCoins?
FairCoin is - like most other blockchain technologies - an independent mathematical model which can not be stopped. It is a "common distributed database" and is available to every wallet for adding transactions. Algorithms control, how transactions are confirmed.
In the case of FairCoin, the algorithm was changed on July 18th, 2017 from Proof-of-Stake (PoS) to Proof-of-Cooperation (PoC). It required wallet holders simply to upgrade their software. All coins have been transferred.
Instead of thousands of computers competing to solve difficult validation puzzles (and thereby making the rich richer), cooperatively validated nodes (CVNs) do that job with cooperation in FairCoin. The big difference in FairCoin compared to other crypto currencies is that we have introduced a certain level of trust and democratic values even at the technical level. FairCoin is not trust-less in terms of block creation, but trust-less in terms of transactions.
We are discussing the development of FairCoin in a chat group. In monthly General Assemblies 2017-2020 strategic topics, and decisions to add validated nodes or tasks for chain servants have been decided. In 2021 the governance is being transferred to the fair ecosystem group.
Chain servants can only adjust some parameters, but not stop or split the blockchain. You can compare it to an equalizer on an amplifier that adapts to the acoustics of the particular room, but does not stop playing the music. Only in case that all chain servants quit their commitment to execute decisions by the fair ecosystem group, the assembly might opt for a hard fork, which would allow to onboard a new group of chain servants under the supervision of all blockchain users.
What is the Proof-of-Cooperation innovation?
Instead of competing to solve a difficult puzzle in order to legitimize a block, the CVNs cooperate in a round-robin way. This reduces energy costs tremendously and no longer requires mining. The CVN operators get a very small fee in order to prevent spam and to cover a part of the electricity and connectivity costs. Furthermore, chain servants are obliged to adapt some parameters in the blockchain to allow for smooth operations for decades, without the need of every participant to update the wallet. This way we may fine tune certain blockchain parameters like block spacing, which may be necessary over a long time. Any change needs to be based on a decision in the fair ecosystem goup by using Loomio and is being executed by chain servants with a multi-signature procedure.
A CVN gets its 'permission' to generate a block from all other CVNs in that they sign a piece of data that contains its CVN ID (=chain signature). This is the actual proof of cooperation. After it creates its block it then signs that block to proof that indeed the respective CVN created that block. That is the purpose of the block signature.
Who runs the cooperatively validated nodes (CVNs)?
If you are active in the Fair ecosystem network you are kindly invited to run a CVN. The CVNs collaboratively sign to legitimise the next block creator. More technically, they don't sign any following block except the next CVN ID.
Candidates should fill out the application form. Your wallet should be online 24/7 and you should have read the FairCoin White Paper. More information about technical and socio-political preconditions to run a CVN can be found here. If you would like to run a CVN you can also send an email to cvn [ät] fair-coin.org
Why does the FairCoin Network charges a small fee per transaction?
Short answer: To secure the smooth operation of the blockchain network we have built in a fee of about 0,3 Euro-Cents per transaction. So for example if you want to empty a wallet with 250 Fair, you can transfer not more than 249,997 Fair.
Long answer: In June 2016 the community decided to set the fee at 0,1 FAIR, but revised in the FairCoin assembly in June 2017 that CVN operators only get 0,01 FAIR per 1000 Bytes transaction size to cover expenses for electricity and connectivity. This still prevents people from spamming the blockchain with many small transactions, which would take up a lot of disk space on every node of the FairCoin network. A 'standard' transaction needs ~226 bytes so the fee is 0,00226 FAIR ~ 0,00 3 EUR = 0,3 Euro-Cents. A transaction with two inputs (=parents) needs ~373 bytes thus 0,00373 FAIR ~ 0,004 EUR.
In contrast to Bitcoin (where you can be charged at least some of the time up to hundreds of Euros per transaction), we decided to use an equal mandatory transaction fee for everybody instead of creating a so-called fee market, in which the rich can pay more fees to get their transactions processed quicker than others. In FairCoin everybody contributes to the blockchain with the same amount of fees per transaction size. The community could decide that CVN operators transfer the fees to a common fund, e.g. for basic income. That is really fair, isn't it?
To be honest: We are not a fan of fees, we would rather see zero fees. But we have to avoid a potential "tragedy of the commons". We are working on a micro-transaction framework in the FairChain project that could potentially be integrated into FairCoins. This will take some time to implement and test.
Do I have to pay taxes with FairCoin?
According to a decision of the European Court in Luxembourg, exchanging fiat money to cryptocurrencies or vice versa is not subject to value added taxes. However, if you do business with FairCoins, you should treat them like a foreign currency in your books and add the trade value to your accounts or profit and loss statements, from which you calculate all taxes. Taxation rules may vary in detail (rules e.g. for Austria). It is at your own risk if you do tax disobedience with cryptocurrencies.
Are FairCoin payments anonymous?
Only to some degree. The blockchain is a public ledger, where all transactions can be seen by everybody. As soon as you reveal an address, you can be tracked, e.g. when buying or exchanging it to fiat money. In 2016, a U.S. tax authority has enforced an online bank to hand over all addresses.
Why is the transaction volume on exchanges rather low?
FairCoin is designed and used for value exchange with real goods and services, not for speculation. Thus the trade volume on crypto - exchange markets is low compared to other crypto - currencies in relation to its market capitalization.
What are the tasks of the FairCoin chain servants?
FairCoin chain servants activate nodes after cooperatively validating the operators and may adjust some technical parameters in the FairCoin blockchain. This happens seldom and is designed like that because of the very long lifecycle of a cryptocurrency. The FairCoin community prepares the decisions in Loomio and the chain administrators are the operators that are executing the decisions (see detailled technical instructions). At least 5 out of 8 chain admins need to agree when performing one of the following tasks:
- add a CVN
- delete a CVN
- change admins list
- change transaction fee (min 0, max 1 FAIR per kB)
- change technical parameters
- block spacing (default is 3 minutes)
- block spacing grace period (default is 1 minute)
- minimum successive hash signatures (default is 10 = minimum half hour online, so that CVN may create a block)
In any blockchain based model, more than 51% nodes are needed to do a software update, in case the algorithm needs to be adapted. With FairCoin, some operation parameters can be set by storing them in the blockchain, if at least five administrators sign within three minutes. A maximum of eleven chain admins can be assigned. At the assembly on 15th of September 2016, eight people have fulfilled the criteria. Therefore 5 of the 8 need to sign each modification. Modifications can not stop the blockchain, but make it run smoother, e.g. if the number of transactions per second is reaching a certain limit (default blocksize is 1,5 MB, which can hold max. 3000 transactions = max. 10,6 transactions per second - FairCoin is the only (!) blockchain which can adjust such a limit, which is always a compromise between speed and storage consumption).
Compare it with an equalizer: if you adjust some frequencies, the sound will be better, depending on the room and music you play. The song may distort if you do not take care, but it does not fade away.
Requirements for FairCoin chain servants?
A chain admin must fulfill the following criteria:
- availability within days, in an emergency case within a day
- they need to co-sign within the block spacing time frame
- secure communication channel (now with pgp or Telegram, in future maybe via core wallet blockchain)
- technical skills for Linux terminal handling
- active in the FairCoin community
- must have read the FairCoin White Paper latest version and be able to answer questions on the Proof-of-Cooperation mechanism
- must be proposed by two people, who have to have met the new chain admin at least once in person (web-of-trust), but without revealing the real identity
- should agree to values such as fairness, cooperation, circumspection, justice, equality, ecology.
The chain servants use two chat channels on two different platforms. They may know each other from their activities in the Fair ecosystem, but most have never met in person. The real identities or IP addresses of the chain admins are not known. There is no centralised address book, as the Fair ecosystem is not a registered organization nor has a headquarter.
How much power do the chain servants have?
The most harmful thing chain servants could do is trying to earn FairCoins by increasing the transaction fee for CVNs they control (the upper limit of this parameter is 0,2 FAIR per standard transaction). However, if it became known that more than five chain servants wanted to break out and not follow the decisions of the FairCoin community, a new wallet could be issued, re-establishing the rules decided democratically. FairCoin users would need to change their wallet, though, but this is the way all other cryptocurrencies patch any severe or unforeseen problem which may occur during their lifecycle anyway. With chain servants being able to fine-tune some parameters with the move to FairCoin, we likely will never need to change the algorithm again, as they are able to fine-tune operational parameters.
Where and when does the FairCoin community meet?
Currently, the Faircoin community meets every month on the 3rd Thursday by chatting on Telegram in the FairCoop Assembly Group mirrored to fairchat (which offers an automatic translation). Here is a list of all chat groups. Due to banning of Telegram in some coutries (Iran, Russia) we are mirroring some chat channels to fairchat, which is a self-hosted service.
Why did you choose blockchain as technology?
FairCoin is the first blockchain with a human touch and clear values in mind. While some may consider this a contradiction to the paradigm of trustlessness in blockchain technology, we think it is an advantage, as we do not need to force users to upgrade the software, if some minor technical parameters need to be adjusted. Using a database like Cyclos instead was not an option, as it has one single point of failure, whereas FairCoin uses a distributed verification mechanism and works also without chain admins.
How are attacks handled?
The peer-to-peer mechanism of blockchain frameworks is very failure proof. Each node (in FairCoin any wallet or CVN is a node) checks the behavior of other connected nodes and ranks them. If the bad behavior of a node exceeds a certain level, then it is disconnected for 24 hours. This also helps to prevent from DDoS attacks.
As CVNs behave like any other nodes. Their IP addresses are not listed, they can not be easily identified. The only means to find a potential CVN is to connect to a huge number of nodes and monitor all the packages and determine where you got the block/signature/nonce pool first. This becomes increasingly harder when the number of nodes grows to some thousand.
To make the network even more resilient, in future we could establish a network of full nodes at trusted partners that are very well connected. Selected CVNs could connect to these nodes only, to make them totally invisible.
If you want to analyse the block signing mechanism, have a look at the code and raise an issue in Github for comments.
Is there a risk, that CVNs get attacked to interrupt the blockchain?
You can not easily distinguish regular full nodes from CVNs because both run the exact same software and do the same thing except that CVNs also create blocks. Thus, there is no easy way to directly target a particular CVN. Proof-of-cooperation only defines what node ID is to create the next block and not what IP address it has or where it is located.
Almost all P2P crypto-currencies are vulnerable to DOS attacks. Because the IP addresses of all nodes is public information. Thus, you can flood all the known nodes and interfere with the network. There are currently about 10000 Bitcoin nodes and about 100 FairCoin nodes active. For a serious attacker it wouldn't make any difference if 10000 or 100 nodes are to be attacked.
Nevertheless, we have been discussing this issue. If we'd face such a situation one day we'd inter-connect CVNs directly and/or use well connected proxy nodes on some VPS. This would keep the blockchain running. Remember, the worst case is that an attacker could bring the blockchain to a temporary halt, that's it. It simply would continue when the attack is over.
The PoC-Blockchain needs 70% from all CVNs to be online, what happens if this number cannot be achieved?
The 100% to reach is actually the mean number of signatures over the last 10 blocks. So if we have one long-failing node the 95% become the new 100%. This way we make sure to keep the blockchain running even if we experience several long-failing nodes.
Can the FairCoin blockchain be forked?
It's almost impossible. Forking means that the chain splits up at a certain point. This happens to Bitcoin once in a while when miners create a new block at almost the same time. But in FairCoin, the consensus algorithm determines exactly one CVN which has priority to create the next block. Any block occurring on the network that does not comply with those rules will not be accepted by any other node.
What happens if a CVN fails?
We have three parameters that determine which CVN ID should create the next block.
1. The order (which one has created its last block the furthest in the past)
2. The time since the last block in the blockchain
3. The mean number of signatures contributed to each block since 10 blocks
Each CVN has got 60 seconds to actually create its block. This time span is dynamically adjustable and is called: Block spacing grace period. If a CVN did not make it then the next in the line has to create a block and the one that failed to create its block is skipped.
If a CVN failed to create enough partial signatures within the last 10 block (dynamic parameter: Blocks to consider for signature check) it is also skipped until it has co-signed enough blocks.
As you see, Proof-of-Coperation is much more than just a simple round-robin system.
How does signature validation work?
Now some answers for the crypto geeks: How do CVNs know who should have what key? The list of CVNs is actually embedded in the blockchain. For each one you have its ID and its public key (see the CVN payload blocks and browse to the earliest one). A CVN just happen to have the private key corresponding to its ID. Both pieces of information are embedded in the FASITO. Private keys are generated on the FASITO and are not retrievable.
Why is double spending impossible?
Even if it takes up to 3 minutes, until a transaction is in the blockchain, any transatcion is valid immediately. If anybody would try to duplicate a transaction within the block period timeframe, it would be still rejected by the mempool. Each node has a copy of that mempool and before entering the blockchain the time when a transaction has entered it will be compared with others. In case there is a difference, the CVN that creates the next block will confirm the one it received first. The second one will be stripped off all mempools once the confirming block is received. (txn-mempool-conflict - Transaction rejected by network rules).
To sum up: FairCoin does not support instant transaction confirmation, but we have a very strong additional mechanism to avoid any double spending. Even if we could not think of a hypothetical case of double spending, we recommend to wait at least two confirmations if you transfer big amounts. Watch the block explorer to see your transactions in the unmutable blockchain.
What is a FASITO?
The FAircoin SIgnature TOken is a small hardware device of dedicated wallets connected to a fulll node wallet via a USB cable. A FASITO may serve as a private key storage and for chain signature creation for CVNs and chain admins. The TEENSY board needs a special firmware and we initialize it with a six digit PIN and put three public keys from device admins on it, who could unlock it, if it is locked by entering the wrong password PIN when logging into the wallet. We also put a device private key on the FASITO for authorization requests. The firmware is certainly open source and the FairCoin developers offer to CVN operators delivering it pre-seeded. All keys are generated with an initialisation sequence by the CVN operator himself/herself.
Which digital signatures schemes are being used?
We now use EC-Schnorr signatures for two aspects of FairCoin:
1. chain signatures - which legitimise the next creator to create its block
2. block signatures - proof that an actual CVN created the block and not some malicious entity
In this context the current EC-Schnorr implementation is safe to use. It is very efficient and generates shotz signatures. But it can not be used for transaction signing. Here we still use the same elliptic curve signature scheme as Bitcoin does: ECDSA. We are currently looking also at Curve25519.
How resilient are the Cooperatively Validated Nodes CVNs)?
CVNs behave like any FairCoin node, they create the blocks and bundle them when signed and commit them to the chain. We could say that CVNs are secretaries, who do not know each other. The consensus is created from the history, so it is clear which CVN is next. The one that creates the block is the furthest in the past. If a CVN is not online (grace period 60 seconds), it is skipped, and all nodes agree to try the next CVN. Each full node validates all messages. 70% of the CVNs need to sign. If fewer than this sign, then no blocks are generated, but non-functioning CVNs that have not answered to more than ten blocks are not taken into account in the 70% ratio.
A malicious CVN can not really harm, it can't do double spending etc, it could not accept a block but other nodes will do, it has not more power than a mining pool in Bitcoin. The FairCoin blockchain will not stop if minimum 3 CVNs are online.
Any blockchain or p2p network can be threatened by DDoS (a few hundred nodes are easy to calm down with some effort, but such an attack may not last longer than some hours or days if you have a lot of budget for renting CPU power). After such an attack, the node network will automatically recover and continue. In case of a massive DDoS attack, the CVN operators could connect directly with parameter -connect=IP1 -connect=IP2 .
How differs Proof-of-Cooperation (PoC) to Proof-of-Authority (PoA)?
In PoA you define a set of keys which are able to sign new blocks, these initial keys are written in the Genesis (when the blockchain starts). In Ethereum, the addition/removal of keys might be done using a SmartContract living in the same chain. With FairCoin, the private key is in the FASITO, which is much more safe, as it can not be retrieved from there. Ethereum is using energy intense PoW, now migrating to unfair PoS. PoC simply does not need mining, as it facilitates round-robin. And chain admins supervise in a multi-signature procedure the on and offboarding of CVNs based on democratic desions of active FairCoin users.