The thread starts here: https://twitter.com/cz_binance/status/1236373815447506945
STEEM thread. I was hoping not to be involved, but alas, doesn’t seem to be possible. I did approve the vote from Binance, thinking (wrongly) it was a regular upgrade/fork. For that, I apologize. Guess it is only fair that I get involved until the issue is resolved.
Thank you for the apology. I imagine it's very challenging to manage so many different nodes to support as many tokens as you do. In this day and age, it's refreshing to see a CEO take responsibility as you have done here.
I am not an expert on STEEM, as you may (wrongly) assume. We deal with hundreds of projects/blockchains, each have their own consensus/vote/delegate/witness/staking/... mechanisms. Can’t know them all. So, please excuse some noob questions/comments.
Totally understandable. Thank you for getting involved. As I mentioned in the tweet featured here, this has much larger significance to all DPoS chains, not just Steem.
Q1: Justin Sun claims that some witness froze his 65m coins, not just blocked from governance, but not even allowed to transfers. This has happened on Feb 22. Is it true?
Yes. That was something I did not agree with, but I was unwilling to go against consensus to fight for this change. I was outvoted. The three changes that were voted on among the witnesses and stake holders who were discussing what to do about this where 1) prevent voting, 2) prevent power down (which can be used to bypass #1) and 3) prevent transfer (which can be used to power up a different account and vote). Tim Cliff, to his credit, also disagreed with #3 (but agreed to #1 and #2, if I remember correctly) and created v0.22.3 to reflect his views and give the community an alternative to vote for. He was voted out of consensus which is how DPoS works and IMO demonstrates those who were actively voting in governance from the community supported freezing the stake.
Q2: Justin thinks the company has the right to use those coins, but some in the community seems to think there was a promise that those coins would never be used. What’s the history/story here? I have not seen any evidence of promise not to use those coins.
Yes, promises were made (I mention some of them here), but there is no such thing as a legal contract between token holders and a company. It's more about code is law which is why HF14 added a new feature. The community has been very upset with Steemit for not activating that feature, so much so that some wanted to fork out their stake, but IMO it was never a serious threat as it was not put forth by a consensus witness for people to vote on. I disagreed.
Q3: There seem to be an attempt to completely destroy those 65m coins. Just a pull request, not voted yet. https://github.com/steemdev/steem/pull/1
Is this a good/right thing to do?
No, this was from a year ago and wasn't suggested by a consensus witness or anyone with real influence here (IMO). It was silly to suggest it, but just in case people were confused, I posted clearly here and will reproduce it here also:
I will not implement, support, or condone any hard fork that effects the balances, keys, or security of any accounts on the current chain.
It was not suggested by a consensus witness nor did any witnesses get serious votes campaigning for this change, but to be clear, many were very, very upset with Steemit's handling of this stake. To clarify this wasn't real, some went ahead and downvoted it on github:
The above 3 questions actually don't have much to do with me. I do think these types of blocks will severely damage the value of the blockchain. My opinion should not matter much in this case. But if this is a new listing application, we would reject for those reasons.
That's unfortunate to hear a community attempting to use DPoS as designed to protect its chain after serious statements by a centralized company (and new owner of stake) were made about tokens and apps being moved to a new chain without their consent would be considered a reason to reject a project. IMO, it's a reason to list it and other exchanges seem to agree as new STEEM listings are happening this week.
Q4: What does concern me is, there seem to be an attempt to freeze Binance (and other exchange) user funds as well, or at a minimum block them from voting.
Is this true?
Blocking voting, yes. blocking transfers, no. As you can see from the full code here: https://github.com/SteemDevs/steem/commit/990aaa9b60fbe039030b9bb229c7bdc808c76c30 it appears to be specifically coded to avoid blocking transfers. Pay attention to reject_tx_exchange and reject_tx_steemit and the conditions in place there.
As a witness, I was not approached about running this code nor did I publish that I would or ask stake holders to vote for me on based on this code. That said, considering how the chain was Sybil attacked, maybe this is part of a long-term, voluntary agreement with exchanges that needs to be discussed.
This has a material impact on our users. It’s not clear that all of our users want to give up their ability to vote, just because they also want to trade. We may implement a vote feature on Binance to allow people to vote in the future. This way, we protect users ability to vote
That would be fantastic! I hope you do build that feature. I also hope you understand the security risk of exchanges voting without their customer's consent which gets used to Sybil attack a chain, take it over, and centralize it.
Interestingly, if we implement this vote feature, Binance users collectively will have, by far, the deciding vote. People who care may need to deposit to Binance to vote.
I disagree unless you limit who they can vote for to 30 accounts. To do it correctly, you would have to let them vote however they want and adjust stake accordingly among multiple voting accounts you control. Example, if someone owned 10% of the STEEM stake you control, they should be able to have 30 votes with 10% of your stake weight behind their votes.
We don’t want to do this because: 1 we don’t want to get involved in voting, 2 it is more work, still busy with staking. But if other witnesses are inclined to remove our users’ ability to vote in the future, we may be forced to implement it now.
Being forced to do anything you don't want to it's great, but as or right now, custodial exchanges represent a serious threat to the security of DPoS chains and my recommendation to token holders is to remove their tokens there while not trading if they care about the security of the chain.
I am aware of discussions happening between Justin/TRON and certain key witnesses. I hope you work it out ASAP. Blockchains should NOT have freeze features.
I agree, but made the difficult decision to agree to this temporarily as it was seen as an existential threat. It seems that threat was real because even with the stake frozen, other stake was used to take over the chain.
I believe this issue, if not resolved quickly or properly, will significantly damage the credibility of STEEM, as well as its price. The price of STEEM is only holding up now because both sides are trying to buy more coins to vote.
Not just STEEM, but also EOS, Tron, and all other similar DPoS (and maybe even POS) consensus systems. The actions of Justin Sun, Tron, and the exchanges to Sybil attack a mainnet chain represents a serious problem that must be resolved.
United we stand, divided we fall.
Indeed. Let's get united and have transparent conversations instead of pretending everything is okay while colluding with exchanges to Sybil attack and take over a community-run chain.
Thank again for your time looking into these important issues.
(P.S. We have friends staying with us this weekend who planned their trip months in advance. I will not neglect their friendship. I may not be super available this weekend.)