Witness Update - Running my own softfork (22.3)
When a super-majority of the top witnesses moved forward with soft fork 22.2 on Sunday, I made it clear that I was opposed to the fork. At the time, I was fairly confident that I would drop out of the top 20 as a result, but I opposed it anyway. Well, here I am :)
Now that I am out of the top 20, I have had some time to reflect - and I still 100% stand by my decision. In my mind, Tron's stake belongs to Tron, and I am fundamentally opposed to forcefully restricting the way they use their stake.
That said, we as a community still have some very serious issues we need to address, including:
Security
Tron acquiring this much stake does pose a very real threat to the security of the blockchain. (I'm not saying they will do it, but doesn't it bother you that they currently have the power to elect 20 new top witnesses and freeze all of your accounts?) It is a HUGE concern to me! Again - I am not trying to paint a picture that this is their intent, but the fact that they could do this is a really big problem.
Autonomy
Whether they plan to follow through with it or not, Tron has publicly expressed plans to do some sort of "token swap". I have absolutely no idea what this actually means (or if it is still even being considered) but the thought of it really scares me. We have spent years of sweat blood and tears building this place. I am not about to throw it all away and just cash in my chips and move to a new blockchain.
Past Agreements
Whether Tron was aware of it or not at the time they purchased Steemit, Inc. - the stake they acquired had strings attached. There are many members in the community who bought into Steem (whether that be with time, money, or both) under the premise that the "ninja mined" stake was to be used for a specific set of purposes. Steemit, Inc. selling it to another company so that their shareholders could profit and then allowing the new owner to do whatever they want with it was not part of that original deal.
Trust
We know very little about Tron's intentions. They say they are here to help, but what grounds do we have to trust them? How do we know they will actually use their stake for the good of Steem, and not just line their own pockets and cannibalize what we have built? How do we know they will not just string us along with roadmaps and plans to "make Steem great" - all the while pillaging whatever they can from the community?
My Views
These are all concerns that stakeholders have contacted me with over the past few days, and I assure you that my "no" vote on the soft fork proposal in no way signifies that I do not care deeply about every one of these issues. These are all things that actually keep me up at night, and I am very intent on finding a path forward to address all of them.
Security
The security aspect of soft fork 22.2 was the one thing that almost convinced me to vote 'yes' for it. At the time, I was faced with a yes or no decision. Support the fork or not. As I stated above, I could not get myself to support the fork due to the fact that it placed restrictions on Tron's accounts that I could not support, in addition to addressing the very real security concerns.
Now that things have calmed down a bit, I realized there is another option that I didn't think of before. I have decided to run my own soft fork that blocks some of the same operations as 22.2, but not all.
My 22.3
soft fork will be blocking:
account_witness_proxy_operation
account_witness_vote_operation
(only)
This means that the rules on my node still allow Tron full access to their funds. My node allows them to do whatever they want with their stake except vote on witnesses.
Technical Note: In the current state, if Tron takes any of the restricted actions on their accounts that my node is not blocking - my node will fork and split from the "longest chain" held by the other witnesses. I am a single witness, and by myself I am not able to overthrow the will of a super-majority consensus (by design).
Now many of you are probably asking - how is blocking witnesses votes ok with you? Isn't that a violation of your principles you just talked about above? Aren't you still "forcing" restrictions on Tron's accounts?
My answer to that is 'no'. Justin from Tron already publicly agreed (on the AMA) that he would not use his stake to vote on witnesses. All I am doing is holding him to his word on something that he already voluntarily agreed to.
With this patch, I am effectively preventing Tron from going back on their word. I have no moral qualm with that.
For those of you who are worried about them just powering down their accounts + transferring their stake in order to get around the security measures placed on their current accounts, please see the Trust section.
Autonomy
To me, the answer to this is simple. If Tron makes moves to dissolve Steem, or use us in a way that is exploitative - we should pack our bags and leave. We are 100% able to split the chain and go off on our own without them. Now that is not my desire or intent, but if they want to try and mess with us - bye, Felicia.
Past Agreements
This is a hairy issue. I get that there are a very wide range of views on this, and I'm accepting that I'm in the minority on this topic. I get that there are a lot of old strings attached to the Steemit stake based on the way that it was acquired and the assurances that were made around it. Even though in my mind they are still valid (you can make a decent 'legal' case to justify that the terms are still in place), I am not going to use my witness pursue a forceful enforcement of those terms.
It is my view however that Tron and Steem have a LOT to gain by coming to a mutually agreed to plan for how Tron will steward these funds going forward. I would like to see them honor the spirit of the original agreement, while at the same time give them the autonomy to decide how they plan to act as a stakeholder with their funds. I plan to try and work with them to come up with a solution that everyone can feel comfortable moving forward with.
Two things that are crucial for me to feel comfortable are: a permanent block on all of their accounts to prevent them from voting on witnesses and SPS proposals, and sufficient transparency to prevent them from circumventing this.
Trust
To me, all of these issues circle back to trust. If we can't trust Tron (our largest stakeholder) to act in our best interests, then we are going to continue spending our energy fighting these battles and building up walls.
Trust is the key that we cannot proceed forward without. If we can't get to a point where we trust each other to work together, then this partnership between our two communities is dead-on-arrival.
Let me make it clear, I am not in any way shape or form saying we should just put our faith in Tron and hope everything magically works out for the best. No. What we need to do is sit down with them and have some very real conversations about how this relationship is going to work, and come to agreements on the issues that are important for both sides.
Agreements mean nothing without ways to enforce them. To the extent possible, we should expect that whatever terms we agree to will be enforced on the blockchain by the witnesses going forward (similar to how I am enforcing the agreement that they already made with regard to witness votes).
Things that can't be enforced directly on chain should have checks and balances in place along with courses of action to take in case of violations.
The discussions that we have with Tron over the next several weeks are going to be crucial. I am very bullish on the potential that exists between a Tron and Steem community partnership, and I think we will be able to do great things together. I am going to work very hard to try and turn this opportunity into the best possible outcome for Steem.
All of that said though, there is no guarantee that this "partnership" will work. If Tron and Steem are just too far apart on key issues and not able to bridge the gap, we will have some difficult decisions to make as a community. I hope I have made my position clear in that I will not be doing anything forceful with Tron's stake, but I also don't need to stick around and support their actions + chain either. The Steem community can fork and leave Tron behind. Let's hope that doesn't happen (and all work as hard as we can for things to work out) but never worry that we are going to be trapped here or forced to stay and live out another four years if nothing is going to get better.
Closing Thoughts
Backup witnesses
There are three backup witnesses that recently have been under-appreciated (IMO), and I want to use my little soap box here to highlight what they are up to.
- @steempress (run by @howo) has been putting in some serious work to test the SMT hardfork. Stakeholders often complain about how witnesses do not do enough testing prior to hardforks. Here is somebody who is actually putting in a lot of work to ensure the SMT hardfork is bug-free, and he's not even a top 20!
- @ats-witness (run by @ats-david) is somebody that I have known since my early days as a witness. I find that I disagree with him on pretty much everything, but one thing that I can't dispute is his passion for Steem.
- @netuoso has been essential to the success of the softfork over the past several weeks. He has provided leadership to a diverse and divided group through a very difficult decision process. He also did the heavy lifting to actually develop the soft fork change.
If you have some extra witness votes, I encourage you to consider voting for these witnesses.
My Witness Statement
Whether you agree with my decision on the soft fork or not, I hope that my actions have at least demonstrated the type of witness that I am. I carefully consider proposed changes, and I will do what I believe is right thing for Steem - even if it is an unpopular decision. If you feel that I am the type of witness you want representing you, I would really appreciate your witness vote!
Looking Ahead
Can you imagine if a stakeholder came and bought millions of dollars worth of Steem with plans to improve the ecosystem and community in order to make their stake go up in value?
The next few weeks will shed some light on what type of new stakeholder just entered our community, but I really hope that we have that new stakeholder in Tron.
If they really are here to make things better, then I think the future looks really bright for Steem!
For fuck's sake, there is no partnership. Tron bought a company, one with a significant role in the Steem community and ecosystem, but also one with a lot of baggage and strains in its relationship with this community. I don't know if, given the strains in that relationship, Steemit is even in any position to push for a partnership with Tron, even if the people in that organization (regardless of its ownership) wanted to. At best, it would be something they could try to sell.
At the very least, the amount of clear stakeholder support for this fork (which most would agree with you raises tricky questions and isn't something to be done lightly), should make clear to everyone that your strong bullishness and optimism toward such a partnership is not widely shared and there is a great deal of skepticism, at best, if not outright opposition, surrounding the role of Tron in the Steem blockchain and its future.
Now, you, Tron, Ned, anyone is free to propose such a partnership to the Steem community and try to build support for it within the Steem community, so that perhaps, eventually, a consensus could build in favor of moving forward with such a partnership. But so far that has not happened, even remotely.
In no way whatsoever does any sort of partnership "just happen" because Ned saw an opportunity for a quick payday and sold Tron his company. Nor does it "just happen" because Justin proclaims it or hypes it on his twitter account, etc. If the Steem community is going to enter into any sort of partnership with anyone, that will require a decision of the Steem community, and no one else.
It was probably a poor choice of words given the situation, but the reality is that there are people in the Tron community (including Tron) who are interested in working with Steemians, and there are Steemians (myself included) interested in working with the Tron community.
I am in the camp that thinks there is potential for our two communities to benefit by working together.
I still think partnership seems like an appropriate term for that, but I do 100% agree that it means nothing if the Steem community doesn’t want to go along with it (I feel I appropriately expressed that in my post).
Just because there are people wanting to team up and work together doesn’t mean we are in support of a forced situation that our community does not agree to.
Tim, to forward to you what I wrote in a post on the topic:
I feel my goals and actions are in alignment with that statement.
I do not doubt for one moment that you are thinking anything "evil", hell you have been one of the most important "devils advocates" in many a discussion out there to date.
I personally have learned a lot from you.
You know, as well as anyone else that in the business world there is little to no room for mistakes when it comes to take overs and that the vast majority of so called "partnerships" end up in the literal extinction of one of the two parties involved.
As you know all too well, the blockchain is at question here and that is our primary concern as Witnesses.
All tokens, no matter if they be a series of 101 ones and zeros, or a 1001 ones and zeros, are not what makes the blockchain.
I learned that from reading and studying up on what many very experienced people out there have relayed in the past and tbh, one of those people was and is you.
Staying focused on the blockchain and the foundational role of a witness is priority #1.
If the blockchain is to perish because of some tokens that are on it, then we have failed in our primary responsibility as per our job description.
Go for it, Having the most used asset in Steem,
Steemit.com
should give Justin Sun a big enough incentive to come up with a win-win situation between Steem and Tron.This move from Witnesses has little to do with Tron purchase but from the very justified misstrust over the use of the Ninja-mine that build over 4 years of Nedtard management. Do you think Ned properly explained Justin anything about the intended use of the Ninja-Mine? You're be very gullible if you think he did.
I highly doubt it
Partnership
: one of the most overused term in crypto."Community partnership" literally has no guarantees at the end of the day. There is no contract. That's about as good as taking someone's word for it.
I just wanted to say that I approve of your general approach to the situation, though as @inertia mentioned, I also think blocking two ops is not really all that different. In my view, it should be clean split or nothing. These softfork solutions to me just don't have any teeth. Oh, we got Justin to the negotiation table? And we know he wasn't going to each out anyway? Yeah I get there's no trust amongst the witnesses, but that's why I would have opted for preparing for a clean split. (But in reality, I would still probably follow the one Steemit Inc is developing on because they are the only ones with a vision for what changes to make at the moment. Unless they got shuttered, then I would probably go with the new one.)
This is about the most sane and diplomatic solution I have seen thus far and what sf22.2 SHOULD HAVE BEEN. He did publicly agree he would not vote witnesses and holding him to that is logical. It presents other dangers, sure, but does not limit or infringe upon the values held.
Thanks for your update and outlining your thoughts. Having the limited set of operations blocked as your softfork is running right now has been heavily discussed in the days leading up to #softfork222 however a supermajority agreed that it would set a dangerous potential trigger:
Running your softfork will just signal to the Steemit Inc Stake key-owner (Tron Foundation) that voting on witnesses is not desired. But per social contract zero-voting, also not content voting is left out. Is that intentional?
Additionally the supermajority of witnesses running 22.2 agreed to block more operations: By only blocking "vote"-operations like yours is doing would leave a serious leak open: The possibility to start a major powerdown of the stake into a new account. This could for example require a hardfork. And a hardfork means all exchanges need to be aboard for the switch, likely having drastic implications for all Steem users.
Although the #softfork222 blocked operations for the Steemit Inc Stake related accounts seem harsh, they are the only way to guarantee no abuse (read: actions against the social contracts connected to the stake) can be done with them in the time we wait for talks with Tron Foundation.
The discussion with Tron Foundation is at 6 March upcoming.
That seems to be left out of 0.22.2, since @misterdelegation stake is still being used to vote on the chain. Or am I missing something?
All delegations are still in play, but no voting from any Steemit involved accounts.
I understand the arguments behind why the more restrictive hardfork is more secure. We have a way to deal with the potential outcomes though without violating the property rights of a stakeholder. I fully acknowledge that it would be a painful and less than ideal scenario, but I am not going to use those difficult decisions we would have to make as a justification for something I don’t feel morally right doing.
[Edit] In terms of only restricting witness voting, that is all they have voluntarily agreed to at this point.
What are your thoughts on the property rights of the community being violated by all this? Seems like this is something you haven't given thought to, or you just didn't mention.
Edit: About voluntarily agreeing to something and being forcefully held to it: that doesn't seem like it protects the choice of the party to change their stance on what they initially voluntarily agreed to. If there is choice, it must include the choice to change one's initial position. Otherwise the party is being held hostage to their initial choice. So this sounds contrary to the principles you mentioned. Have you given thought to this?
I am for preserving everyone's choice, but only if it includes everyone, and not just some. In all your reasoning, you seem to be including only some.
I don’t view the stake that Tron owns as the community’s property.
I am not going to let them change their mind at a whim and go back on their word without any warning or notice. If they want to have a conversation about going back on their word and doing the opposite of what they promised, we can have that conversation (the soft fork can be removed at a moments notice) - although if they are trying to head in that direction I’m probably making plans to fork at that point.
Oh I had missed that loophole. I appreciate you highlithing it here.
"By only blocking "vote"-operations like yours is doing would leave a serious leak open: The possibility to start a major powerdown of the stake into a new account. This could for example require a hardfork. And a hardfork means all exchanges need to be aboard for the switch, likely having drastic implications for all Steem users."
Added @netuoso and @steempress
I have had @ats-david for a while now.
And I agree, I tend to disagree on some things with him, however, his passion and thoughtfulness is something I have admired for a while now.
Only briefly. You will rejoin the longest chain after the next round.
As an aside, I understand why you are doing this but I think it is a pretty bad idea for individual witnesses to make up their own soft fork rules without even any sort of weak consensus with other witnesses. This can easily end up in a situation where there are various conflicting rules, none with a clear majority, and the chain becomes very unstable.
Understood, and that was one of my biggest hesitations before deciding to proceed. In the end, my decision was based on the fact that my node with 22.1 was already in a state where I would fork if Tron used any of the operations. It is less in that state with 22.3. 22.3 did not add any new conditions under which my node would fork that were not already there on my node + all of the other nodes that haven’t upgraded.
As I was reading through this post and read how you agreed with most of the reasons for the softfork but stopped short of agreeing to implement it.. I wonder if you had thought about the principle applied when a person is in a mental health crisis?
When they are a threat to themselves or others, temporarily removing their rights and freedoms in order to protect all until the crisis passes? Now, I'm not suggesting Justin is in any kind of mental health crisis but it seems to me the analogy applies to the chain.
You've identified what could be real threats based on potential intent and decisions made by the largest stakeholder. Maybe that time out on his property rights is needed to avert harm to the community? Time created to work toward a real solution for now and the future.
I didn't add or remove witness votes based on their support of the softfork. While I have concerns about it, I don't consider them strong enough to want to push back on the decision. (even if it is more symbolic than actual push)
The decision by all accounts was arrived at through an unprecedented coming together and collaboration of witnesses and stakeholders. I think that is something to be celebrated and I do commend that.
Having said that, the effort is diminished by the number of top witnesses and stakeholders who chose to drop your witness vote rather than just respecting your right to thoughtfully disagree. It smacks of ganging up and takes away from the good collaborative work that was done.
Not that doing so would make a wit of difference to their standings, but I've given serious consideration to dropping votes on those who participated in the ganging up. That hasn't been removed from my table
The mental health analogy is a good one and there are many parallels to the current situation. Incarcerating criminals is another one.
The use types of decisions are really difficult, and I am not 100% black and white on my views. I look at all the details of the situation that we are in and try to make the best decision given the facts on hand.
Appreciate your words of support. Everyone who has unvoted me has done so with the intention of protecting the chain from a credible threat. I don’t hold any bad feelings against anyone who took their vote away.
let's hope when things start to clear up and calm down.. that you'll see them back.
Following your allegory, @shadowspub, it is as if the top 20 witnesses have allowed a potentially dangerous deranged person to ramble around the community for 4 years and then have only chosen to lock them up when the witnesses are being threatened directly.
It has always been my base belief that any stake holder wants this project to succeed. We may not all share what that success looks like. Yet without that belief DPoS is a broken experiment. So let's look for a solution to majority stake which would affect all accounts and not targeted ones.
There was a profound change in the 'deranged person' which shifted him from a mild concern to a grave concern due to a personality change.
While you can see the action being in response to a threat to the witnesses but that is a bit like saying a cop will only lock up a suspect if the cop is being directly threatened. Neither statement is true. The action was taken to secure the chain so it remains in the hands of the community and the governance of our choice.
The pause created by the SF will allow for full communication and learning if both parties are on the same page or not. While I hold concerns about the precedent created by the SF, the stake involved comes with a lot of baggage and promises made about said stake. We don't even know if the seller passed that information on to the buyer or chose to leave the buyer in the dark.
It is the witnesses which are under threat of being redundant. You can try to put your degrees of deranged on things yet this problem should have been dealt with long ago if the overall community were the true concern. It was a weakness built into the creation of the project (Ninja stake) and no one would stand up against it due to self interests. Now that those self interests are at stake we are seeing a knee jerk reaction which violated the trust of the chain.
What will be different on March 6th? Nothing. A majority stake holder can still threaten the chain. This is a stress test to evolve DPoS against such threats and we are failing miserably in my opinion.
you are right it should have been done when it was first coded into HF 14... hindsight is always 20/20. The witnesses gave Ned the benefit of the doubt that he'd keep his promises and the didn't trigger the code.
You're wrong about it being their self-interest or that it has violated the trust of the chain.
The group of witnesses and stakeholders who came together to make the decision was pretty much unprecedented on this chain. They are continuing to work together to come up with solutions to mitigate the issue in the future so this doesn't happen again. Those solutions will likely require a hardfork not a softfork. This was an issue I very clearly asked questions about at the Community Discussion held in The Ramble last Tuesday.
IT was a two hour discussion about the softfork.
March 6th and it's earlier meeting on March 4th will be steps towards building some bridges and understanding. No solutions are promised that day including lifting the SF. It's going to be a process not a one and done event.
Voted for you as witness.
For those saying that Justin can powerdown and we'll have to hardfork, well if we block his powerdown, he can hardfork anyway.
how would they have with 22.2 the ability to freeze accounts and elect 20 witnesses? 22.2 only froze their stake and therefore they cant do that?
also if u end up going from the main chain, there will be no one interacting with ur witness anymore since most are using APIs that are using the 22.2 update
A lot is explained in this post:
https://steemit.com/steem/@softfork222/soft-fork-222
If Tron ends up using any of the operations that the other witnesses are blocking, we will have much bigger problems on our hands than what happens with my node.
It is always a question to build something better than us and not think for a quick gain in the short term.