Bitcoin Unlimited: The Dictatorship of the Bitcoin Proletariat
All over the world varieties of states make claims to have governments very properly or even ideally devoted to the interests of the citizens or nationals of those states and always an externally located critic can argue that the government is actually a sort of despotism.~John Nash, Ideal Money
A Shared Meaning for Communism
a political theory derived from Karl Marx, advocating class war and leading to a society in which all property is publicly owned and each person works and is paid according to their abilities and needs.
Communism is the idea that that the people might rise up in revolt against their rulers and distribute the otherwise concentrated wealth (bounty) among themselves. It’s not hard to see how such an idea would spread among an impoverished class of (uneducated) people or how such an idea could easily spread beyond national borders (although on the other hand it probably wouldn’t be very well received by patriotic nations).
Marx’s view was that capitalism was the great evil that stole the ability to own the means of production from the common person. The only cure was for the people (the proletariat) to rise up and usurp the rulers (the bourgeois). The intermediate step, known as the “dictatorship of the proletariat”, was the “temporary” de facto government that would lead the people to the new found socialist freedom:
In between capitalism and communism there is the dictatorship of the proletariat, a democratic state where the whole of the public authority is elected and recallable under the basis of universal suffrage;
Dictatorship of the proletariat-In Marxist sociopolitical thought, the dictatorship of the proletariat refers to a state in which the proletariat, or the working class, has control of political power.
Lenin defines dictatorship from his Marxist view:
…Dictatorship does not necessarily mean the abolition of democracy for the class that exercises the dictatorship over other classes; but it does mean the abolition of democracy (or very material restriction, which is also a form of abolition) for the class over which, or against which, the dictatorship is exercised.
— Vladimir Lenin https://en.wikipedia.org/wiki/Dictatorship_of_the_proletariat
How does Bitcoin Unlimited Governance Work?
The creator(s) behind Bitcoin Unlimited created their own articles of federation as the foundation for the new governance system they propose. The introduction is eerily similar to the Communist Manifesto. The lower class (the users aka Proletariat) has decided that the upper class (the ACTIVE Bitcoin Developers aka Core aka Bourgeoisie) is a corrupt centralized authority that must be usurped in the name of freedom and decentralization. There is a deceleration that the existing rules will be overturned in favor of newer more flexible rules designed to favor the suppressed user. It is stated that the intentions of the current developers is irrelevant. Bitcoin unlimited claims to remove the existing barriers in the name of new found freedom for the people:
The Bitcoin Unlimited project seeks to provide a voice, in terms of code and hash power, to all stakeholders in the Bitcoin ecosystem. As a foundational principle, we assert that Bitcoin is and should be whatever its users define by the code they run and the rules they vote for with their hash power. This project seeks to remove existing practical barriers to stakeholders expressing their views in these ways.
In the Bitcoin Core variant, we do NOT see a venue for these actors to formally express their desires in regards to the evolution of the network. Instead we see a project controlled by a small group of developers employed by finance-oriented for-profit startup companies, and the emergence of corporate products (Lightning network, Side-chains and permissioned ledgers) that would materially benefit from a Bitcoin network that is incapable of handling the transactional demand required for a worldwide public good.
Whether these corporate developers are intentionally acting against the long term success of Bitcoin is irrelevant.
Bitcoin Unlimited perceives itself as an important element in the Bitcoin ecosystem. We believe our founding statutes are firmly based on Satoshi’s original vision. However, we acknowledge that Bitcoin is fundamentally a decentralized system and thus we will not assert centralized ownership of the protocol. And within the Bitcoin Unlimited client, we aim to help people assert and express their own freedom of choice.
Why is a formal Bitcoin Unlimited Articles of Federation necessary?
From the Bitcoin Unlimited Faq’s
When you switch to the Bitcoin Unlimited client, the Articles of Federation will ensure that your voice is heard, and your vote counted.
Proposals are made, debated, and then resolved (voted on) and the Proposer and BU officers have the power to force this process to occur in a timely fashion.
Your voice is heard, and your vote is counted, and then the BU officers have the power (if they so choose) to force this process to occur and in a timely fashion.
Bitcoin Unlimited: Articles of Federation
Let’s look at the Articles of Federation that make up Bitcoin Unlimited’s governance structure.
Bitcoin Unlimited claims to lift limations on the peoples preferences however there are a few caveats that must be noted. Firstly bitcoin is to be scaled by the BU interpretation’s vision:
I. Satoshi’s original vision: a scalable Bitcoin
Bitcoin Unlimited adheres to Satoshi Nakamoto’s vision for a system that could scale up to a worldwide payment network and a decentralized monetary system.
The second article is contradicted by the first, however, and the BU federation itself by stating that the software…should not be, controlled by any single governance entity, as the BU proposal itself is to be the sole controlling entity:
II. Governed by the code we run
Bitcoin only maintains its intrinsically valuable properties of being permissionless, uncensorable, trustless, and uninflatable, precisely because the software is not, and should not be, controlled by any single governance entity.
The 3rd article solidifies BU’s political stance, making it impossible for the users to choose a block-size limit:
III. What makes a valid block?
A block cannot be invalid because of its size.
The 4th article simply re-iterates this political statement:
IV. Values and beliefs: adoption is paramount
Bitcoin should freely scale with demand through a market-based process.
The 5th is an appeal to the user which claims to put them in control. Notice the statement “we believe that the free market and dynamic network will eliminate bad actors…” This is clearly a dangerous assumption but the rest of the statement is at least equally as alarming, “ differing implementations and behavior make the network more robust against attackers…” since Satoshi has be often quoted as suggesting that differing implementations is NOT a good idea for bitcoin. The last part of this statement is just as interesting since BU developers created a backlash when BU crashed recently crying that Core developers were mocking BU code and not helping to fix the bugs. Later it was released that the bug WAS previously discovered but ignored:
V. Technical: put the user in control
Any software can join the Bitcoin network because it is a permissionless decentralized ledger. If adding code that allows users to easily change the behavior of their node puts the entire network at risk, than the network is at risk today. But we reject this idea. Instead we believe that the free market and dynamic network will eliminate bad actors, that differing implementations and behavior make the network more robust against attackers, and that a heterogenous network will allow “good actors” to discover and fix potential problems before the bad actors do.
Number 6 is an article that seems to have a hidden exemption for Core and any other proponent of Core or person that does not support the BU federation:
VI. Politics: Bitcoin is interdisciplinary
The voices of scientists, scholars, developers, entrepreneurs, investors and users should all be heard and respected.
So with the basic ethos formed (usurp the existing authority and eliminate the network’s ability to to restrict block-size) what is left is a governance structure to hold the constitution in place and manage proposals (annoyances) from the users external to the stated mandate.
In order to guard the above framework, 5 roles are created: A President, A Secretary, A Developer, A Pool Operator (yes for the single pool), and a Member role to be held by inaugurated members.
The President, as we will see later, elected himself with impunity, and the rest are (allegedly) chosen by quorum/voting. The problem is, and we will see this later, the president chose all of the initial members.
One thing to note is that each of the President, Security, Developer, and Pool Operator positions, rather than creating a secure separation of duties, each divisions actually (obviously) creates its own centralized security leak in relation to their own specialized duties.
Article 2: Confederation
I. All Bitcoin Unlimited (henceforth BU) activities shall be recorded and be publicly accessible.
II. BU roles shall consist of:
President: a publicly identified (real-life identity is known) BU Member who is responsible for the ongoing activities of the confederation.
Secretary: a publicly identified BU Member who is responsible for recording activities and vote results, and making this information publicly available. The Secretary is responsible for creating, maintaining and moderating a public forum where discussion can be held.
Developer: a publicly identified BU Member who is responsible for maintaining the BU code repository, choosing which committers have access to the software repository, reviewing and merging patches, and periodically releasing BU software.
Pool Operator: a publicly identified BU member who is responsible for running the BU Mining pool as specified in Article 4.
We can note in the member section, non-publicly identified members can have their voting restricted. On the one hand this prevents Sybil type attacks, multiple accounts being created to out-vote legitimate accounts. However this also gives power to the President’s chosen member field to be able to restrict the rights of any anonymous participant, and therefore forcing an identity reveal from any member application that wishes to participate in a relevant fashion. The ruling power thus can restrict certain individuals from gaining member with full participation:
Member: an individual who is invited (by BUIP) to join the Confederation, signs this document, and has joined or voted within the last 1 year. Non-publicly identified members may have restricted voting or other restrictions as determined by subsequent BUIPs — this measure may be needed to restrict duplicate accounts.
The next clause is designed to look sincere and would be if the first election was properly democratic. However since the President is self elected (and elected the first members around him), the 2 year office term actually serves to up hold a dictatorship:
Officer term is for two years. For continuity, elections shall be staggered by 6 months and take place 1 week prior to responsibility transfer. Beginning with the President on Jan 15, 2018, then Secretary, Developer, and Pool Operator. This means that the initial officer term may exceed 2 years. Voting for all the initial officers shall occur on Jan 15, 2016.
Only members can submit proposals and such proposals must first go through the President (or Secretary or Developer) who has 2 weeks to review it privately to “suggest” modifications. Again the idea is specialization of duty, but when the controlling elite are self-appointed this simply serves as a vetting process for the “BU ideal”:
Decisions shall be made via the following procedure:
Any member can propose a “Bitcoin Unlimited Improvement Proposal” (the Proposer). The Proposer can submit a proposal on behalf of another non-member. The president or secretary shall assign this Proposal a number and make it publicly accessible. The President, Secretary, or Developer has a 2 week opportunity to review the proposal and suggest modifications, within their own domain. That is, the President reviews proposals related to the operation of the Bitcoin Unlimited Confederation, the Secretary reviews proposals for adherence to BUIP standards, and the Developer reviews proposals related the the Bitcoin Unlimited code.
Then there are the consensus and quorum numbers for acceptance, which on the surface seem standard provided the initial remembers were chosen in a democratic fashion. As it standard these numbers simply serve as thresholds to hold the current BU elite in place:
This package shall be presented to all members and opened for discussion for a minimum of a 2 week period. The Proposer may choose to extend this period for a maximum of 6 months. At the end of the public discussion period, members shall vote whether to adopt the BUIP. A BUIP is adopted if accepted by a majority of voters (51%) with at least 50% of members voting OR a 75% super-majority of voters with at least 25% of members voting, unless otherwise indicated in this document (BUIPs that change these articles or remove officers).
This document can be modified via a greater than 66% majority vote on a BUIP with at least 75% of the members voting.
It is explicitly stated that the same person CAN hold two roles, IF appointed by the President. This statement in itself destroys the intention of checks and balances that a separation of duties is supposed to uphold in the first place. In the American constitutional framework it is very specifically stated that the President cannot create laws which allows the legislative or judiciary to over step their mandate (nor are they allowed to do so). Here we see the President of BU preach this limitation before the constitutional framework was even passed (but by himself):
In the case of abrupt departure, an interim person may be appointed by the President, including someone currently holding another role. In that case s/he will not vacate the originally elected role.
As long as 25% of the votes uphold the current elite then they cannot be removed, and in order for the vote to count the parties wishing to remove the officer must make up at least 33% of the total membership. It seems such a proposal would have to be proposed to the secretary in order to be publicly debated which gives the residing authority another checkpoint for control:
An officer can be removed via a “no confidence” BUIP. This BUIP follows the normal schedule, however it must pass with a 75% super-majority of voters, with at least 33% of members voting. A BUIP advocating for the removal of a particular officer may not be occur within 4 months of a prior unsuccessful proposal advocating for the removal of that officer
The ideal is for BU to become a non-profit organization although there is no surety for this. Funds are held in a 2 of 3 multi-sig account, which normally provides some form of security, however in regard to the centralized power, such a system assures the power resides with the President and his appointed authorities.
This article provides guidelines for operations assuming that Bitcoin Unlimited becomes a non-profit corporation. Yet it also provides instructions for operations before that event occurs.
I. Any unallocated funds raised shall be held in a 2-of-3 multi-signature account with the President, Secretary, and Developer holding the keys.
Funds donated to Bitcoin Unlimited may be applied to any purpose (including the Bitcoin Unlimited Pool) that furthers the project’s goals and is authorized by majority vote via line items in a President’s “Operational BUIP”
Donations cannot be paid out except that they can depending on who is assigned to complete which projects. So the President and his appointees, and the membership, can choose the pay themselves based on their own chosen goals:
Donations may not be used to pay salaries, bonuses, etc. for the President, Secretary, Developer or Pool Operator. These volunteer roles are unpaid, with the expectation that these individuals will benefit from Bitcoin’s success.
However, the people fulfilling these roles may be paid upon completion of particular tasks that exceed their stated role.
The source repository administrative account shall be held by the President. But the President may only add and remove committers on the recommendation of the Developer. Additionally, the President may not use his administrative account to directly commit software to the source repository. Instead, these contributions must be submitted as a fork or patch and be reviewed and merged by the Developer or another committer.
All domain name registrations shall be controlled by the Developer.
Public Forum infrastructure shall be controlled by the Secretary.
Committers must work respectfully with independent submitters to ensure coding, testing, documentation, and formatting standards are met as defined by the Developer.
Article 4: The Bitcoin Unlimited Mining Pool
The mining pools is expected to received donations as well that are to be controlled in a 2 of 3 multi-sig that the President and 2 of his appointees control. Such donations are to be used in relation to proposals vetted by the President, his appointees, and the membership.
I. The Pool will be run by the Bitcoin Unlimited Pool Operator and other real-identity-known Bitcoin Unlimited members as designated by the Pool Operator
Users, companies, and other ecosystem stakeholders will be incentivized to contribute to this pool as long as it supports their values.
In the ideal case, donations will exceed operational cost, and therefore the Bitcoin Unlimited Pool will offer an overlay payout to participant miners, specifics to be decided by BUIP.
Donations can be made for the specific purpose of supporting the Pool, as opposed to donations to the general Bitcoin Unlimited fund, and will be managed in a 2 of 3 (President, Secretary, Pool Operator) multi-sig account separate from Bitcoin Unlimited general purpose funds.
What is most alarming is the response to the 51% risk (ie BU federation mining pool controls the majority hash rate). The pool is simply to separate into two entity, CLEARLY creating a de facto divide allowing BU elite to control 51% of the network hash-rate while somehow claiming its just 25.5% + 25.5% of the hashrate:
To alleviate real or perceived risk of this pool gaining more than 50% of total network hash power, if the pool’s hash power exceeds an average of 30% for more than 30 consecutive days, it must disband into two completely separate entities with no personnel overlap.
The last paragraph is a passive aggressive statement against and BU defectors. An admission that defection is a dissenting opinion is an attack on all BU members and supporters:
I, the undersigned, substantially agree with the Bitcoin Unlimited Vision as defined in Article 1 and agree to work towards the success of Bitcoin as defined by Article 1. I agree to follow the rules outlined in Articles 2,3, and 4 for all matters pertaining to Bitcoin Unlimited. I further recognize that becoming a member of the Bitcoin Unlimited Federation and simultaneously working to undermine the Bitcoin Unlimited Vision will inflict substantial harm on the other members of the Bitcoin Unlimited Confederation, including but not limited to, loss of Member’s time quantified by the average hourly wage of a principal engineer in the USA, loss of member monetary donations, and loss of opportunity.
How the President and Members of Bitcoin Unlimited were “Chosen” (Appointed)
Here is where the Presidency of BU started and how the initial membership was chosen. Again, notice the urgency:
I am soliciting members of the Bitcoin Unlimited effort. Please read the Articles here: http://www.bitcoinunlimited.info/articlesOfFederation
Please excuse the state of this web site; things are moving fast now.
Reply to this message if you would like to be a member, and please describe why you want to be a member and how you can help the effort.
There is no democratic way to kick something like this off so I am just going to be autocratic about it. I’m defining myself judge, jury and executioner (with the valuable input of those who have been interacting with me of course!) with the power to appoint the initial members. These initial members will then proceed to invite new members.
Here is the definition of autocratic:
relating to a ruler who has absolute power.
“the constitutional reforms threatened his autocratic power”
taking no account of other people’s wishes or opinions; domineering.
“an autocratic management style”
despotic, tyrannical, dictatorial, totalitarian, autarchi
Here we have the first proposal, no doubt passed with overwhelming support. Notice time and speed are observably important to the President:
It is important that we make an initial, simple Bitcoin Unlimited release to get things going. Please do not bikeshed this proposal with small modifications and new features
One of the members sympathizes with the existing network users yet suggests malware style annoyances that would push the users towards a BU setup and away from the Core status quo:
Perhaps there could be a dialog on startup basically saying that the default is as with Core but the recommended setting is as @theZerg specified in the BUIP above. Maybe even check a box at launch to start with Core defaults or BU recommended defaults. Force the user to notice, recommend changing the settings, have a recommended BU setup, but leave the default if they just click “Next” be Core settings. Maybe even include a warning if they click onward, saying something like, “Really use 1MB blocksize limit with no fork depth tolerance? WARNING: Client may not track longest chain consensus as blocks increase in size.” Nag quite a bit, but make it so that it’s still very easy for people to choose Core defaults if that’s what they truly want.
Another member agrees but calls for a more subtle approach:
A check-box which needs manual action to use Core defaults.
Unbeknownst to each of them, the President has already decided, if adopted, BU users could no longer choose the status quo. Like stated in the articles a block size limit is no longer a choice:
Just to be clear, when you run BU you can’t configure it to behave exactly the same as Blockstream Core ;-).
Patterns of Integrity — Separation of Duties
Lastly we turn to Nick Szabo for a refresher on the importance and purpose of the Separation of Duties:
Pattern — Separation of Duties
1. Start with a function that (a) is too valuable to dispense with, and (b) to be performed, requires power that can be abused.
2. Divide the function into separate steps, each necessary for the function to work or for the power that enables that function to be abused. A function so divided can be called a cycle, and corresponds to a formal mathematical model called a state machine. (You do not need to know this mathematics to follow this discussion; just follow the cycle step by step).
3. Assign each step to a different person or organization. The different entities perform their particular roles in the cycle, and monitor and constrain each other, using interparty integrity constraints, to perform just their respective roles.
This pattern can also be called the strategy of required conspiracy, since abusing the power requires two or more of the separated entities to collude — no entity can on its own abuse the power required by the function.
The separation of duties pattern is most useful for dangerous functions — functions that entail having powers that can be abused. For such functions, the cost of abuse is substantially greater than the cost of sometimes failing to perform the function. This pattern improves the integrity (correctness) of the function, and the trustworthiness of the institution holding the required power, at the expense of its efficiency, timeliness, and reliability (that is, the odds the function will even get performed). Thus the two biggest examples of the separation of duties pattern — structuring governments, and handling money within organizations.
Example — Handling Money
In a large business, transactions are divided up so that no single person can commit fraud. This is often called “segregation of duties.”
Example — Statutory Laws
In constitutional law the separation of duties pattern is often called “separation of powers.” The dangerous power of being able to make and enforce statutes is divided into several branches, each responsible for only certain steps in the lawmaking and/or law implementation cycles.
BU is built on a framework that gives total power and authority to one person the President of it. It does not properly separate the duties and function of government in order to secure the users from tyranny from it. Rather it centralizes the power of governance over bitcoin and ensures that power can never be taken away from the Dictatorship of the Bitcoin Proletariat.
…in the end the “dictatorship of the proletariat” seemed to become rather exposed as simply the dictatorship of the regime.~John Nash, Ideal Money