2014-12-11

Convenient bugs and arbitrary features

As with any software out there, Bitcoin and related cryptocurrency systems occasionally get bugs and change some features of the network. That's to be expected - one needs to adapt to the changing world or the software will become useless, especially so when we're talking about moving money around. However, in the recent times I've noticed a few Crypto 2.0s dealing with issues that could be an interesting study into the incentives of their developers.

Keep in mind, I will be speculating a bit in this post. It can be safely assumed that unless there is evidence to the contrary, the various development teams have everyone's best intentions in mind when working on their software and as such any perceived malice is only in the eye of the beholder. Similarly, since software development is essentially using finite human resources to patch up seemingly infinite amount of bugs, there are priorities for what needs to get fixed when.

With all that in mind, lets discuss some convenient bugs and arbitrary features.

Convenient Bugs




What do I mean by convenient bugs? Generally, a bug is an unexpected way a piece of software behaves. Most often, it's an undesirable behaviour for the users - if it was desirable, it would be turned into a feature. However, what if a bug for the users can be seen as a potential feature for the developers or investors? That's what I would call a "convenient bug" - an error in the code that you don't want to fix too quickly since it unexpectedly rewards you for not fixing it.

Ripple fee spike


About two months ago some people reported a sudden spike in the load on the Ripple network. In turn, that spike caused the fees enforced by the network to go up by a factor of 1000. This means that a fee that used to be negligibly small suddenly started creeping to the level of a penny per transaction.

While that might seem like much, keep in mind that unlike Bitcoin, the fees are not transferred to the miners, as Ripple has none of those, but are instead burned. As such, the amount of XRPs in the system decreases in theory enriching everyone that holds XRPs. Since Ripple Labs holds most of the XRPs, they earn the most for this fee being left at a high level. As such, this convenient bug creates an interesting incentive for the developers to label it as "minor" and not fix it for awhile, conveniently earning them more and more money.

While the amount is small for now and I doubt the developers are this greedy for some pennies, some other system might encounter a similar bug in the future and the incentive might be greater to just let the bug stay for awhile...

Counterwallet BTC trading


On the Counterparty network, one can issue any asset and trade it for either XCP or BTC. Since BTC has a longer track record than XCP and has more established value, the usual issue applies - why would you want to use another token if you can use Bitcoin? While the network does burn some XCPs to create assets, there doesn't appear to be much use for the tokens over Bitcoin in the network. Well, at least until November that is...

At the moment, Counterwallet is the only Counterparty wallet, at least to my knowledge. In November, the wallet developers addressed some issue with the wallet having problems using BTC to trade assets on the network and removed the functionality. As such, it became impossible for people to trade Counterparty assets for anything besides XCP.

While the reasoning behind the scrapping of the feature is fairly reasonable - technical limitations from the Bitcoin network and so on, some people looking for a conspiracy could see this as a move to force people to use XCPs and thus increase their value for the holders.

Arbitrary features


While convenient bugs come from the software not working as initially intended, arbitrary features are deliberate changes made to the software to achieve new and sometimes undesirable functionality.

Mastercoin fee structure


For awhile now I wondered what use are mastercoins on the Mastercoin network? Early on Mastercoin didn't have much of fee structure and as I was told you could trade any token for any token on the network as well, thus there was no need for MSCs to really exist. Well, at least until June of this year.

Almost a year after Mastercoin was launched, the developers introduced a new fee into the system - a fee for fundraising. While that's understandable way to prevent network abuse, the form it took really stood out to me as greedy. While on Counterparty one is charged a fixed amount of XCP for asset creation, Mastercoin instead used a percentage fee. 0.3% of money raised would be converted to mastercoins and then burned by the network.

This arbitrary fee essentially became a way for people that hold mastercoins to monetize their investments. Since there would be a constant buying pressure from new assets being created on the network and no downward pressure from any new MSCs being created, the tokens are bound to increase in value over time.

While the previously listed bugs could be explained by the network or software behaving unexpectedly, I am still to hear a good reasoning for why this arbitrary feature was introduced to Mastercoin.

Conclusion


In conclusion, there are many factors that may influence how a decentralized financial system is developed. While one can hope that most developers will do their best to stand for the majority of the network and look out for their best interest, there might be some that would be catering to a minority that holds enough money to sway some interests...

No comments:

Post a Comment