BitShares - Rough Guide to the DAC - Part 2: Witnesses and DPoS (Not Mining)

in bitshares •  7 years ago  (edited)


Mine BitShares? Not really. Let's talk DPoS ...


There is no ‘mining’ as such in BitShares (BTS). Witness nodes are the closest approximation. Welcome to the second installment of our 3 part article, introducing key concepts of the BitShares DAC. part 3 can be found here

In part 1, we learned how the committee operates the blockchain parameters, and shareholders vote on them. Today we are looking at how running a witness node replaces ‘mining’ seen in many other cryptocurrencies. Why is it different? In Bitcoin, the idea was anyone could set up a node and mine coins. The problem arose where mining can be monopolized by hashing power.

BitShares (i.e. Graphene, the core blockchain technology BitShares, STEEM and others), introduced the Delegated Proof of Stake mechanism, (referred to since BitShares 2.0 as Witnesses). This makes it impossible to dominate by hashing power alone, even with a billion-dollar hydra-dam powered rig.

Before we go on to understand witnesses, first we must explain the nodes in the BitShares network. Prior to that, the DPOS concept is one of the most important in grasping the overall concept of the witness.

In DPOS, the witnesses (formally delegates) sign the blocks and are voted for by shareholders. Voting for witness means every client on the network has say in who is trusted and best for block signing. This is preferable to relying on those with most resources. Whilst some centralization (i.e. someone can provide more infrastructure than others) will occur, it still means the network retains a very much democratic means of choosing who to trust.


What is a BitShares Full Node?


Being decentralized, BitShares is a peer-2-peer network. The network is made up of nodes being run voluntarily by other shareholders around the world, whereby every additional node grows the strength and performance of the network. There is no central command or company with a data center holding the master servers. In order to run a full node, anyone (with reasonable server admin skills) can connect to any known node and download the full current copy of the blockchain, and run it on a private server or VPS. Once this is done, it will sync to the latest and start to receive new blocks to place on its own exact replica of the blockchain file, as well as helping distribute them to other nodes. However, these full network nodes are not earning transaction fees or mining anything. Network nodes receive transactions from the other participants and forward them on, until they reach a witness. The current witness only is in charge of constructing the next block and being rewarded for the task. Note that new transactions need only meet the current witness, and are not required to reach all nodes on the network. Additionally, the witness is in charge of writing as many transactions to the block as possible, instead of power-hungry mining puzzles. This and the transaction distribution method are two factors that greatly contribute to BitShares blazing fast performance and efficiency.

Wait, who the heck runs crypto nodes without mining rewards?



The folks who run full nodes are typically well known in the community. They may also be committee members, workers, or already running a witness. Reasons vary, typically it shores up presence and credibility to further support proposals, products and services they offer on top of BitShares. Another way BitShares is achieving growth and sustaining itself, because prior contributions will be appreciated when you make a proposal to request worker funding (covered in part 3), or obtain witness votes. This is all positive as it forms a symbiosis that only builds, grows and strengthens the eco-system. In no cases, does opportunity for ‘set and forget’ mining exist. Furthermore, some users may elect to run their own private nodes for a variety of purposes including developing their own decentralized apps.
The Graphene eco-system. All likely running their own nodes

How do I vote for my chosen Witnesses?


Log in to the BitShares UI, and follow the arrows below.
Cast your Witness votes (click for large version)

How do I become a paid Witness?


Anyone can set up a witness node by following the documentation or how-to posts. In order to become an active paid witness, you must be voted in by the shareholders in the same manner as committees or workers. BitShares, in order to maintain true delegated proof of stake, needs a minimum quantity of witnesses for the protocol to operate. Currently 20 (approx), with an additional 30 or so as backup – ready to step in and selected at random for a ‘try out’, should any active running witness node go down. There is always room for more to come and make an impact on the community. We’ve covered here some of what it takes to get voted in as a witness, and everyone starts from somewhere.

If you are curious about voting @apasia.tech as a witness, you'll have to wait until January. As an example, prior to us doing that, we are running fully synced public nodes of which our Bangkok, Thailand instance can be connected to in the BitShares official DEX UI. As a part of setting up BitShares DEX – Thailand, (localization underway), we found Asia to be lacking in nodes and thus invested to provide our own to the community. We are coming to almost 3 months of testing and refinements on our own hosting and admin for non-block producing Graphene nodes (we also have Steem instances). Once a witness, your track record of un-missed blocks begins and can never be reversed! If it doesn't meet community expectations, it can be voted out.

Conclusion/TLDR


BitShares blockchain has a budget reserve pool for paying those that sustain the network, and this begins with Witnesses and continues with Workers. Witnesses secure and lock down the network, verifying, stamping and signing block records and adding finished blocks - the block producers. They are also at the core of the DPOS, a democratic layer preventing BitShares from becoming over-centralized. Anyone can set up and start a witness node, however as covered, this doesn’t mean any witness can earn rewards. They must obtain the recognition, trust, and be voted into power by the shareholders. To become a witness; patience and being a respected participant in the community are among your key allies.

Coming up in part 3! Workers


The folks that dream up and then propose improvements or contributions to the BitShares network, and get paid ‘by the blockchain’ for doing so.



"it's a long, winding road with ups and downs to a good reputation, and a quick, short, bumpy road to a bad one" (anon)


words and images: @britcoins

part 1
part 3

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

great info here. . thanks to all for their comments!

I have a question that i would be Very happy to get an answer to!
When using openledger, it is possible to put a stop loss limit sell order in? Surely i cant just put a low sell price as it will get sold immediately?

any info gratefully received!

I believe people are using bots to do this, it's a good question for Bitshares Telegram channel also

Wonderful info, greatly appreciated. I have quite some bitshares now, using openledger. When i try to get other people joining, i always get the same remarks which i can not fully answer.

  1. What about security with openledger, looks very easy to hack
  2. What is this OPEN. stuff? Is it the real thing?
    Please enlighten us on this matter with a good post if you have some time. Thanks a lot for your latest posts. Truly enjoying...
  ·  7 years ago (edited)

@bubke

  1. OpenLedger is just a front-end business built on top of Bitshares. Security and logins are embedded to the blockchain itself and can't be hacked or taken over unless you provide them to someone (accidentally or intentionally). I strongly suggest for you to take a look at the latest release of bitshares official wallet UI, using the same login:
    https://wallet.bitshares.org

  2. Bitshares is a smart-coin factory. As one, and decentralized blockchain we were unable to integrate centralized wallets and operations (slowdowns for example such as BTC has) to our blockchain core, just because of the SECURITY issues they will create. In order to keep the trading normal, OpenLedger as business entity and account on Bitshares Blockchain started creating open.ASSETS to replace/substitute real wallets. They provided liquidity for each currency (that mean real BTC is backing up open.BTC, etc..) so it's 100% safe to be used and traded. Taking out open.BTC to BTC is same as BTC to BTC.

Even @ravid stated properly they are IOU's, in the blockchain system they are registered and traded as UIA (User Issued Assets) where issuer is OpenLedger. There is no such thing defined in Bitshares blockchain system as IOU, even though OL created them from UIA.

Excellent answer, many thanks for that!

great info . . thanks for your comment!

I have a question that i would be Very happy to get an answer to!
When using openledger, it is possible to put a stop loss limit sell order in? Surely i cant just put a low sell price as it will get sold immediately?

any info gratefully received!

  1. What about openledger looks easy to hack exactly? Even if it's true - noone hacked it so far. Moreover, opelendger is just a GUI to the blockchain, you yourself maintain the private keys, so there's not much to achieve by hacking.
  2. open. stuff is openledger's IOUs for assets like bitcoin, ethereum etc. Like on any other exchange you do not actually trade bitcoin (it's too slow for that, you don't want to wait for two hours for your order to be confirmed), but the token representing it, issued by an exchange with a promise that it's backed by the real thing. It's different from bitBTC (or other bit... stuff) in that the bitBTC is fully (200%?) backed by BTS and does not require any trust (only the trust in the platform code itself)

Thanks @ravid, nice explanation. I only have a password for Openledger, private keys seem to be hidden in the browser somehow so someone just needs to guess my password...

If your worried about easy to hack, create a local wallet and save your bin file offline. You wouldn't be able to get hacked unless they uploaded your .bin file and knew your password

Thanks @trexicon, will do that...

Why you have reputation 12 only with comments like this ? :))))

I have been waiting for this post 🤪
Thanks 😘

You're most welcome and thanks for the upvote! :)

How to reach the Voting screen in the latest BitShares UI (click for large)

wow, great explanation. thanks... Interesting for me, I am very satisfied how bitshares worked for me till now...

I must say that I am not too technical; I am trying to understand. still learning about blockchain tech and all this stuff...
I dont understand how do you obtain 'recognition and trust', it's not that witness personally builds a block. computer software does it, right? does it matter who runs it if computer and software does the job well?

It matters to the community as witnesses are voted in on trust. They're also paid for building the blocks, so it's kinda expected they give back to the community and are accountable.