Bitshares Drama

image.png

This is a translation, Russian original: https://golos.id/ru--blokcheijn/@akledirs/khroniki-dramy-v-bitshares

There always is, was and will be a place for drama in Bitshares, as it is a blockchain with DPoS DPoBS consensus, where “meat bags” play an important role. In the last year the scale of the drama reached mythica sizes. Recently in Russian community there was a request for coverage of the events that split the community and resulted in the launch of two new blockchains. This request was answered by Alexey Petrov (@tnam0rken) with his article “Split in the Bitshares community. How it happened…” (article is in Russian)

Below is my attempt to cover some facts and events during this period in more detail, gather all the scattered pieces of information and all the changes that affected the chain of events. I am doing this for all who are interested in the history of the project, and would like to understand these events better. Some of the details that were covered by Alexey’s article will be omitted here for the sake of brevity.

HF 4.0

image.png

30 June 2020 a new version of Bitshares-core was released, which included a significant upgrade of the protocol (hardfork) to version 4.0. Release was planned for November 2019, but due to changes in votes for the core worker and disruption in financing that resulted the release was delayed.

Protocol activation happens with a delay of 1 month, which means that the changes will come into effect on 30 July 2020. To get details about the changes in the release you can check the release page. Here I will list the most significant.

Economic model changes

BSIP-74 — Introduction of a Margin Call Fee Ratio

In addition to the Maximum Short Squeeze Ration (MSSR), which is the premium that goes from the borrower that allowed a margin call to happen to MPA holder that sells their assets to fill that call, an additional fee is introduced, that can be set by the asset owner, and that is paid by the borrower — Margin Call Fee Ration (MCFR).

Info about this fee is not displayed in the UI.

BSIP-75 — Asset Owner Defines MCR and MSSR Values

Now the owner of the asset can define who can change those parameters (asset owner or blockchain witnesses, before the change only witnesses could change them). Additionally the owner can freeze the values, and permanently decline the access to change it, which results in lower control over the smartasset, but higher level of trust, that results from the lowering of the amount of vectors for manipulation.

BSIP-77 — Require Higher CR When Creating / Adjusting Debt Positions

A new parameter is added to all MPAs — Initial Collateral Ration (ICR), that is defined by the smart asset owner or witnesses. It allows the blockchain to require from the borrower to put up higher collateral in relation to the Maintenance Collateral Ration (MCR).

BSIP-81 — Simple Maker-Taker Market Fees

Now the asset owner can define different market fees for the asset buyer, depending on whether the order is filled from the market (Taker), or is added to the order book (Maker). By default the fees are equal.

UI does not reflect the difference in the fees.

BSIP-85 — Maker order creation fee discount

In essence this proposal is similar to BSIP-81, but in this case it talks about fees in BTS and their size is defined by the blockchain committee.

BSIP-86 — Share market fees to the network

This inconspicuous name hides a tax on the revenue of the asset owner from the market fees. Committee can now set a ratio of up to 30% that the asset owner must pay to the committee account vesting balance. The idea to call things as they are and rename the BSIP to “Share market fees to the committee” got a negative reaction from Abit.

BSIP-87 — Force Settlement Fee

In addition to static MPA Force Settlement fee and Force Settlement Offset (FSO), that is paid by the user requesting the settlement to the borrower, this BSIP adds an ability to specify a percentage fee from the amount of amount being settled (Force Settlement Fee Percentage (FSFP)). The size of the fee is set by the asset owner and is paid from the user requesting Force Settlement to the asset owner when the MPA is settled. The change was suggested by bitcrab (Jerry Lee) and supported by Abit.

This adds a new risk for smartcoin holders: the asset owner can at any point specify a 100% fee, in effect taking the collateral without an ability to control it until the settlement request. The risk is made more severe by the fact that the information about the fee amount is not displayed in UI.

Governance model changes

These changes were not announced — they were added by the auditor (abit) despite no consensus decision on them. These changes were announced after the fact.

BTS in collateral are no longer counted for voting purposes.

Why was this decision made? Let us use Abit’s explanation:

The past flaw was simply that BTS in locked collateral would retain voting power. So when those holders found the market against them, were easily corrupted to vote against the common good. In other words, give everyone a free vote, and a majority will always form to use it for ‘themselves’.

The result of a group of holders doubling power through collateral, then locking price feeds through block producers, held the blockchain ‘hostage’ since 2019 – destroying the standing reputation of a product with highest demand in 2020.
BitShares BitAssets Reloaded | Committee Owned True StableCoins

Indeed a group of borrowers, who were also holders of BTS, used collateralized borrowing to increase their stake in the project to a significant level. They had an interest to protect their capital, influence and also enough influence to elect witnesses who would provide feeds that would satisfy their interest. And they used that tactics for a long time to provide fake feeds, promote BSIP-42 and price feed level freeze at a set level for bitUSD and bitCNY. A conflict of interest is apparent, and talks about it were ongoing since 2018. Something had to change, but the borrowers facing margin call liquidations of all of their leveraged positions were clearly against it.

Automatic vote weight decrease for sleeping accounts

After each vote the vote weight would return to 100%. First 360 days of inactivity it is lowered by 12.5%, and then for 315 day the weight is decreased by additional 12.5% points every 45 days. On day 675 of inactivity the vote weight is 0.

One vote principle

If the holder of BTS votes for more than one committee member, then the sum of their stake weight is split among the number of votes for committee members. Before the change every voted member would receive full stake weight of the voter.

Staking based voting

This change requires freezing BTS for them to be eligible for voting with 4 durations: 180/360/720/∞ days. Depending on selected duration a multiplier of x2/x4/x8/x0 is applied respectively. x0 multiplier for permanent freeze is explained below. Fee for this transaction type is 50 BTS and not subject to change by committee.

In the case of the permanent blocking of BTS the blocked amount loses its vote weight and can not be used ever, which is equal to burning of BTS, but the equivalent sum staked has a multiplier of x8 applied to it. The multiplier is temporary, it decreases every 180 days by half, and in 720 days its influence is over. The maximum multiplier possible using the staking rules is capped at x32.

After the staking transaction the multiplier comes into effect gradually in stages, with a delay after every stage, each stage comes into effect in 15 more days. The staking can be canceled in 15 days, but tokens will stay staked for 7 more days.

Unstaking transaction removes the multiplier immediately, but the funds will stay staked for the period chosen by the user during staking. In case of the permanent token lock, the funds will stay blocked.

A user can have more than one staked position, with duration of the staked positions tracked separately.

After the first permanent staked position...

New rules come into the effect:

  1. Accounts that do not have at least 1 BTS staked do not participate in the voting;
  2. BTS used as an MPA collateral no longer have voting power;
  3. BTS in the order books no longer have voting power.

DPoBS — new consensus algorithm and its justification

This new model where voting preference is given to those who stake, and even effectively burn their tokens by permanently blocking them, which results in deflation Abit has called DPoBS — Delegated Proof of Burn and Proof of Stake

CustomMiner has suggested back in 2017 the implementation of BSIP-0024 that gives voting preference for those who stake their BTS.

You can get the most detailed view on Abit’s stance on voting by reading this article on Github from 2018 New BSIP or BSIP24 discussion: stake lock-up mechanism, count only real "locked" stake as voting stake .

On 30th July 2020 the hardfork with all the changes described above has come into effect. A curious fix was also added, that corrected the displayed maximum supply of Bitshares. The actual supply was higher by 250 million coins higher, than any of the blockchain explorers showed, including what was displayed on Coinmarketcap.

CNVOTE reaction -> New Bitshares

image.png

  • On 31st of July first people who noticed the non standard behavior of the voting page, and some committee members started asking questions about the changes to the voting model to the developers. As a result it was discovered who was behind those non consensus changes, and votes were removed from Abit.
  • On 2nd of August the CNVOTE team started developing a fix that would affirm the existing consensus from before the hardfork. During the fix development a heated debate was happening, with defenders of abit’s changes arguing that there is some value to the changes, and since it happened it would be better not to change anything.
  • By 10th of August the fix was ready, but to deploy it CNVOTE needed to convince the witnesses to apply it, which encountered some difficulties.
  • On 16th of August Abit was approached with a request to relinquish the control over the official Github repository to committee, but he declined
  • On 17th of August after deciding that further effort in applying the patch is hopeless the CNVOTE team decided to create a new blockchain BTS4.0 upgrade tampering code incident | NewBitshares [CN]
    Announcement on Implementation of BTS CNVOTE Patch | BitsharesTalk [CN, EN]
  • On 30th of August 2020 the chinese community unhappy with the changes and coming transition to a harsher voting model announces a new blockchain based on BTS 4.0 code, but without changes to the voting model added by Abit. Many call this a fork, but only the codebase was forked with the blockchain formed from a new genesis.
  • On 10th of September the network was launched named NewBitshares, and the token with NBS ticker.

Next Hardfork — Splash (5.x)

image.png

On 22nd of September a new Bitshares core was released, with the hardfork planned for 28th of September.

This hardfork included two main changes — the support for AMM liquidity pools, and another change to the governance model — now unstaked BTS do not have any voting weight at all.

On the next day everything came tumbling down. Abit consolidates the control over the network by staking his funds. Due to effectively sole control over the network he elects loyal witnesses and committee members. The committee (aka Abit) disables MPA borrowing (block 51860407) for bitCNY and bitUSD, the blockreward for witnesses is lowered to 0.1 BTS, and order placement fee is raised 20 times, MSSR for bitUSD is raised to 1.1, which results in the global settlement for bitUSD (block 51889804). Here we need to remind you, that fake oracle feeds were in effect which were against the borrowers of bitUSD. As a result bitUSD holders could get less than 70% of the tokens used as a collateral going by the spot prices at that time. bitCNY situation was similar, but Abit decided against doing the same there.

In addition now the committee decides who can provide bitasset feeds. Witnesses can not provide feeds without committee approval.

As a result of those news XCHNG announces closing of their Tre-Fund (market ticker XCHNG.FUND).

image.png

On the same day a batch of new bitassets is created by committee — bitassets 1.0. By the announcement of the committee the MSSR, MCR, delay and force settlement price offset will not be changed in the future [BitsharesTalk][News Bitshares].

RuDEX/BLCKCHND reaction -> Graphene

image.png

  • Blckchnd witness has publicly denounced Abit’s actions everywhere they could, and as a result was banned in the main english BitsharesDAC chat.
  • Team RuDEX supported CNVOTE fix patch
  • On 16th of September RuDEX launched an NBS gateway on bitshares, as well as a public access point for the new network.
  • On 29th of September in the RUDEX Trollbox chat Dima BLCKCHND (@blockchained) announced a fork based on BTS 3.0 codebase named Graphene
  • On 12th of November 2020 team RuDEX announced an all win lottery to get the initial distribution and form a genesis block for the new chain
  • On 23rd of December the results of the lottery were published, and all participants were given a stake and their funds were returned, possibly as a result of my critical comments on the lottery mechanics

image.png

  • On 12th of April 2021 a new chain was launched with GPH token ticker, and the maximum supply of 100 million tokens.

UPD
- On 27th of May 2021 RuDEX have migrated to Graphene from Bitshares.

And now you are here...

image.png

On 19th of May the private Honest.USD smartcoin honestly went into global settlement state. In the next 24 hours ⅔ of all coins in circulation during the black swan event were settled. Such a significant reduction in debt, small volume and price bounce allowed @Chibchombia (BTS: imm-ortal) to revive the asset on the very next day.

On 22th of May during the price safety margin of bitUSD was not enough, which resulted in a global settlement (“black swan event”). Selected witnesses abruptly stopped providing feeds for this assets, and despite the fact that the declared life time of the price feed is 24 hours, the mechanisms depending on the price feed stopped. After some time 2 feeds appeared, but the minimum required number is 3. Without feeds a manual asset revival is impossible, even if enough people want to bid on collateral for required amount. Abit announced that the collateral bids will be ignored, and he will revive the asset himself. Apparently he disabled witnesses feeds from being accepted, so they would not interfere with his plans.

It is worth noting that once bitUSD encountered a black swan, hourly feeds for HERO private MPA were also stopped by terradacs-bp and liondani witnesses. It is not clear yet if that was manipulation, or reliance on bitUSD feeds.

image.png

Authors position

If you try to become a committee member, you will get a message that the position is unpaid.

Screenshot 2021-06-21 at 13.14.28.png

Abits actions resulted in a creation of a funding stream towards committee account fueled by new fees. On one hand only BSIP-86 directly creates revenues for the committee, and is probably not in effect right now, however most of the trading happens in committee bitassets, so the fees paid to MPA owners go to committee in most cases.

Despite the lack of paid workers for development, updates of the core software are being developed, yet the display of the new fees in the UI are being delayed with responses in the vein of “we are not paid for it”.

In essence under the pretense of increasing the revenue of Bitshares as a DAC (Decentralized Autonomous Company) via the fee burn that would result in deflatory pressure, which is similar to the shares buyback by a company, that would result in the appreciation of BTS holders assets, the value flows were reformed in such a way, that most of the share (Market Fee) comes under control of the committee, that can be spent as they see fit. Where is the guarantee that the committee doesn’t block and unvote current members, to keep the status quo? Previous track record shows that on bitcrab’s suggestion under pretense of bitasset liquidity they have lost a lot of money by participating in margin trading. What will happen this time we are yet to see.

If we view Bitshares as a company, the committee as a Board of Directors, and BTS holders as stakeholders, then the stakeholders stock as unilaterally converted to preferred equity shares (non voting), and the Board of Directors is milking the company, leaving miniscule remainder of the market and transfer fees that go into reserve pool. The revenue of those “directors” is based on the hidden fees, that most users are not aware of yet.

Such a situation in a real company is nonsense and such activity is illegal in most countries. Abit and his team got scot free so far.

That is one side of the situation.

On another hand shareholders themselves (lets call them majority holders) before all this mess were methodically scamming the users (mainly bitasset holders) by not having enough collateral against their debt obligations (bitassets) effectively stealing from them. To stop this fraud shareholders themselves would have to accept losses and lose their voting assets. If we take into the account that most users did not understand the intricacies of the platform the HODLers weren’t paying enough attention to the situation, such an abuse from major debt holders did not result in BTS price decline that was adequate to the outrageousness of the situation. The status quo with fake asset feeds (BSIP-42) and milking the reserve through the workers were a gainful strategy for them.

But as they say there is more. The author of BSIP-42 is not bitcrab, but Abit. Everything he could reply when that was pointed out was “That is in the past”.

My opinion on the NewBitshares is only that the new blockchain received mainly the cunning chinese as its community, which were fine with feed manipulation on Bitshares, and I was and still am against such methods, I did not have the inclination to follow them there.

In closing

Since the new chain parameters are still not displayed in BitsharesUI, I decided to create a table with current parameters of main committee MPA’s including the new 1.0 ones.

Current bitasset parameters with “hidden” fees

H2
H3
H4
3 columns
2 columns
1 column
Join the conversion now