Why does it really matter? Doesn't bitshares have a 'committee' or something that is similar? Granted, in theory it might make sense for someone who doesn't want to bother running a node to serve on a committee, but running a node to witness blocks doesn't seem like a tremendously high added burden. Or am I missing something? (Serious question–I was never involved with Bitshares so I may be getting it wrong.)
You are viewing a single comment's thread from:
In Bitshares there are three different roles:
I think this is great way of separating different roles. For a fully functional blockchain entity, there are some stuff that needs to be done. But not all individuals suit for every job.
The problem with original DPOS was that blockproducers and workers were the same people. If somebody wanted to work for the blockchain, they needed to become blockproducers to earn their salary.
If I remember correctly, lawyers were also happy with separating different roles and that was one reason why Bitshares 2.0 implemented those roles. When witnesses are only blockproducers and do nothing else than witness transactions that happen on the network, they can be quite sure that nobody can take any legal action against them. Blockproducers are people who are necessary for a blockchain, so it makes sense to make their job as easy and risk-free as possible.
Okay, well Steem doesn't have workers at all. After HF16 the witness pay was cut to the point where it doesn't really cover much beyond managing servers, testing updates, etc. This was by the explicit and stated intent of the developers not to use witness pay as a funding vehicle.
I would prefer to see a worker mechanism. It could be combined with witnessing, with some enhancements for greater transparency and accountability (@arhag had a good proposal on how to do this), or it could be separate as in Bitshares. But so far the developers have not seen fit to support this at all.
This seems a little unrealistic, does it not? For example, you might get voted in or out based on other actions you are taking, general popularity, etc. Sounds like politics to me.
Thanks for the explanation of Bitshares. However, I still see little benefit in not just requiring that committee members just run a node and sign blocks. The role of a pure 'witness' seems redundant to me.
Also, who decides on hard forks in Bitshares?
Yeah, whenever there is something to vote, there is politics. But if the description of a job is very narrow, politics will have very little influence.
From the decentralization perspective, we should also remember that we can't vote only great individuals as witnesses, but we have to see what is the set of witnesses overall. If all witnesses are, for example, from the same jurisdiction, that might be a problem. We should have a diverse set of witnesses from all over the world. Some anonymous, some well-known companies and individuals.
Of course that will work, too. But I'm inclined to think about long-term future so I want a system that can work in different situations and with different people. We don't know what's going to happen, so it's better to plan the system to endure stormy times and to be resilient.
Also, the ideal committee member is businessman, academic, or economist, who understands how economic incentives influence users on the platform. They might not be people who know how to run a server.
Good question, I'm not sure actually. I stopped following it when Steem was launched. I think hardforks mostly just happened without much problems because the dev team listened to the community and didn't try to push controversial changes. At least once there were a worker proposal that was used to ask for an opinion from the stakeholders whether or not a certain change should be implemented.
That happens on Steem too. They collaborate or hire someone to run the server for them.
Thanks for all the info.
For a truly decentralized organization, every individual should be able to do their job independently without relying to others.
In my ideal DAO, the committee members would have clear UI for all the parameters that can be changed. It would have also a discussion forum (only for elected committee members), where they could explain their reasoning for their decisions. Posts would be recorded on the blockchain (like posts here in Steem) to ensure openness for shareholders.
I'm not sure how you would enforce that or if it even should be enforced. Didn't you say earlier that witnesses should (or at least could) include well-known companies? Those are not individuals.
When witnesses also had a worker role (pre-HF16) with a large income, several of us believed that over time, if Steem were to become very successful, each witness slot would in one way or another evolve to be a fairly substantial business (and as such an important business within the Steem ecosystem), though some could be individually-owned single-purpose businesses (others might be larger businesses in the ecosystem that treat the witness slot as a subsidiary or division).
It is certainly interesting to think of different ways this could all work. I don't think we have any "right answers" at this point.
Sorry for the vague language, of course I meant to include also companies. I was just thinking about committee and its members will probably be mostly individuals.
This is not something that should be enforced. It's something that the DAO should strive for. The goal is to empower all participants so that they can do their jobs as efficiently as possible, and to offer newcomers an easy path to hop onboard.
Committee members shouldn't need to run any special software. Their job is to keep on eye how the ecosystem works and when necessary, adjust the parameters so that the system will work better. It's not something they need to do everyday. Committee members can take a week-long vacation and nothing is risked because parameter changes should be discussed well in advance before they are made.
Witnesses, on the other hand, need to be online pretty much all the time. They need to be able to react fast when there are any problems with block production. They need to be able to set up the software to a different server, etc. when needed. That's why I'd love to see some companies doing witnessing because then there is not only person responsible for the job but several. That would help to keep the downtime low and make the system more resilient.
Workers need to have well-documented code. They need to know what the DAO is striving for so they know what should be prioritized. They need to have a communication channel with stakeholders to make sure that they do what the stakeholders want them to do.
Great thoughts here. Thanks for talking all this through with @smooth. I always enjoy seeing well-thought out discussions about ways to improve Steemit.