Social Choice in Blockchain

Published by Mario Oettler on

When talking about blockchains and consensus models, people think of proof of work, proof of stake, or delegated proof of stake.

But a blockchain network consists of many contributors. Miners and block producers create blocks and have the power to order transactions or reject them. Full Nodes validate blocks, relay them, and provide these data to users and services. Users use wallets to create transactions to interact with smart contracts or send coins. Exchanges accept coins and exchange them to fiat currency or other coins/tokens. Merchants accept coins and trade them for goods and services.

They all follow a protocol. The protocol states things like the block size, the transaction signature scheme, the consensus model, the OP Codes in a smart contract, the format of an address, etc. And since the protocol is the base layer, we will take a look at how to create such a protocol and how to maintain it.

The Bitcoin protocol was written down by Satoshi Nakamoto in the famous whitepaper and the first working client. But since then, many things have changed compared to the original version of the protocol. We saw new transaction types, new scaleability measures, etc. All these improvements and changes need to be coordinated among the community.

Depending on the blockchain, different people, groups, and organizations contribute to developing the protocol. If we just focus on technical development, researchers and programmers find and implement new solutions and ideas. They change the rules of the protocol. Sometimes, these ideas contradict each other. So, they must come to a conclusion on what the new rules should look like. Therefore, they need to combine their individual opinions, preferences, and interests. They also have to take the interests and perceptions of all other stakeholders (users, merchants, exchanges, media, etc.) into account. The result is a collective decision on what the protocol is. Vitalik Buterin calls this a social contract.

But Social Choice doesn’t only affect the blockchain protocol. It can also affect the development of dApps or being used inside smart contracts to aggregate opinions from different users.

Blockchain and social choice have connections in the following fields:

  • Maintenance and development of the protocol
  • Creation of applications
  • Voting inside Applications
  • Voting via blockchain