Floating an idea that could safe or destroy STEEM: Project Damocles

in #witness5 years ago (edited)

There has been a lot of noise lately surrounding Steemit INC and @ned. It all started two months ago when Steemit INC announced it had sacked most of its workforce. And both Steemit INC and @ned have done some, lets call them remarkable things since such as adding sparse advertising to the steemit site, starting major power downs, etc. Enough has been written about what is and what might be going on ranging from the assertion that Steemit INC is in genuine problem and is doing everything it can to stay afloat, up to the rather paranoid assessment that the business problems would be simply a front for @ned keeping the platform afloat right now for the sole reason of maximizing his pull-out revenue before intentionally letting the private company go bankrupt. Let us forget about the whole charged discussion and focus on the future of STEEM for a moment. To start thinking about the future, lets first list a number of important observations about the role of Steemit INC .

  • Steemit INC maintains the source code for the blockchain.
  • Steemit INC maintains a number of official RPC client implementations
  • The code quality of for example the official python RPC client library is embarrassingly low.
  • Documentation of the blockchain code is virtually non-existent.
  • The code quality of the C++ blockchain code, while significantly better than that of the official python RPC client library, isn't exactly good enough to make a quick transition to a community development initiative viable.
  • Pre-mining by Steemit INC and others and the pervasive use of bid-bots are points of continued critique both by outsiders and by some groups od steem(it) users.
  • Steemit INC maintains the primary STEEM frontend steemit.com.
  • Steemit INC maintains the primary cluster of RPC API nodes api.steemit.com
  • Steemit INC is prime contributor to steemconnect that is used by numerous DApps.

The combination of all these factors shows that:

  • We really don't want Steemit INC to go belly up.
  • It is quite a challenge to define a contingency plan that would allow the STEEM ecosystem to recover from Steemit INC going belly up.

In this post I want to float a rather Radical idea that aims to:

  • Create strong incentive for Steemit INC, @ned and other main stakeholders to work hard at keeping Steemit INC afloat.
  • Create a user-centric contingency infrastructure and code-base and that acts as a sword of Damocles to important stakeholders.
  • To augment initiatives like Community Governance as proposed by @reggaemuffin.

Project Damocles


I would like to float the idea of Project Damocles. A contingency project that could safe or destroy STEEM. Save it by creating stakeholder incentive to keep Project Damocles from kicking in, and by creating a reboot for the user base. Destroy it by contributing to the current STEEM blockchain being phased out quickly in the case the Project Damocles scenario ends up being triggered by the witnesses.

A quick sum-up of how Project Damocles could be implemented.

  • Stream the whole STEEM blockchain through a what-if engine and keep streaming new blocks.
  • Maintain current what-if state in a graph database (Arangodb seems like a good option)
  • Create a new code base for simpler blockchain on top of the chosen graph database that has a graph database snapshot block as genesis block.
  • Create a APPBASE compatible API for the new blockchain.
  • Create a SteemConnect alternative using a native client (Android App, iOS App, Qt Application) for blockchain based delegation to DApps.
  • Create a distributed DNS solution for RPC-API localisation.

Now for the what-if engine and rules for the new blockchain that should create the desired Sword Of Damocles type incentive to important stakeholders. An initial proposal:

  • We start not at genesis, but choose the block that created the 1000th user to be the genesis block.
  • At genesis, or at account creation after genesis, an account gets 100,000 dept-VEST delegated for a period of 100 days.
  • Only curation and author rewards contribute to account value.
  • Specific actions between accounts, create temporary cluster links that gradually diminish in strength from 90% to 0%
    • account creation : 9 year
    • delegation between accounts: 9 months
    • setting of voting proxy: 9 weeks
    • transfer of funds: 9 days
  • Allocated votes are diminished in rshare allocation using the current cluster strength or by 90% for self votes.
  • RSHARE payout is adjusted so the total amount of currency in the new chain will be equal to the growth of funds in the STEEM blockchain on the same day.
  • Transactions that would not be possible in adjusted state are simply topped of.

It is easy to see the above 'what-if'rules would cause major shifts in distribution of funds. It is also not hard to figure out that it would have major negative consequences to most of the major stakeholders, to Steemit INC and to many of the witnesses. Witnesses shouldn't take the triggering of the Damocles scenario lightly, but I feel strongly that implementing it and having the option there as a Sword Of Damocles is something that has the potential of saving STEEM from disaster in the case things go south with @ned and Steemit INC.

Feedback

I would really love feedback on the above idea. I am currently working on a rewrite of the asyncsteem library into a new set of asynchrounous (twisted+asyncio) python libraries for STEEM. When the libraries are done, starting of with an ArangoDB what-if engine could be a useful allocation of my time. I am especially interested in hearing from witnesses, either top 20 who don't depend on witness votes by accounts that are likely lined to Steemit Inc for their top 20 position, and sub top-20 witnesses. Should I start working on this project in a few weeks? Or is it a horrible idea?
As said, I am just floating the idea to find out how people, especially witnesses look at the idea of having a Sword Of Damocless type solution available to them.

Sort:  

This is a really interesting distribution mechanism and I'd love to see what it looks like in practice, but I have a hard time seeing it as a replacement for Steem from what you've written here. I'm not clear on the functionality of your "simpler blockchain," though; are you envisioning writing entirely new code that could replicate the functionality of Steem in an emergency? If so, why not start an independent chain? I guess you could do both.

I agree that the Steem codebase is a mess, but it's not an unsalvageable mess, it's just that there's not a lot of motivation for "forensic programmers," so to speak, to take a hack at it. If the original authors were to vanish, and there was motivation to pick it up, I'm reasonably confident that the codebase could be maintained.

Assuming MIRA comes through, that should make the node situation considerably better.

So I really only see a drastic backup as necessary if Steemit Inc. were to become unusable during a development emergency of some sort, which is unlikely. And even then the chain state could be saved and the chain paused while the emergency was addressed; even a month or two of downtime would probably be seen as a superior alternative to wholesale re-envisioning of distribution.

I do think it would be really interesting to try running this as an experimental parallel chain, and see what the userbase thought of it, not pitched as "better Steem" but as a new chain with an unusual airdrop. I don't know if you see that as worth your time as much.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 64814.42
ETH 3450.94
USDT 1.00
SBD 2.52