You are viewing a single comment's thread from:

RE: A Full Steemit User's Guide to Steem Witnesses

in #steemit-guides8 years ago

Thanks pfunk, I feel like I understand the whole witness thing a lot better now, just a couple of clarification questions.

The Steem blockchain produces blocks in 63-second rounds: 21 blocks per round at a target of 3 seconds between blocks...
The top 19 witness accounts with the most witness votes are delegated to produce a block every round.

So is the Steem blockchain different from the Bitcoin blockchain; I thought a block took years to produce; or am I confusing terminology?

Is the entire blockchain spread over just 19 accounts; I thought it was meant to be hundreds? Will that be the case in the future?

They are also expected to provide an ongoing price feed of the value of STEEM tokens in U.S. dollars

Are they setting the price or just feeding back from other sources? If they are, how do they decide on price?

Just make sure whichever node version is reported is up to date with the current blockchain and isn't out-of-date past a hard fork.

How do you do that?


Thanks

CG

Sort:  

So is the Steem blockchain different from the Bitcoin blockchain; I thought a block took years to produce; or am I confusing terminology?

Bitcoin and Steem use different consensus mechanisms. Bitcoin uses proof-of-work only, and the network retargets difficulty once every two weeks to keep the time between blocks to 10 minutes, on average. A lot has changed since Bitcoin was released in 2009. Newer consensus methods have been developed that aren't so computationally expensive and allow very fast block times. DPOS is one of these. I don't come from the Bitshares sphere like many here, but Steem builds upon Dan's work on Bitshares to make it super fast, and that's how 3 second block times are possible. It also comes in handy making Steemit update in almost real time :)

Is the entire blockchain spread over just 19 accounts; I thought it was meant to be hundreds? Will that be the case in the future?

The primary block producers are the the top 19 approved accounts, but backup witnesses and miners also produce 1 block per round each. This allows some more diversity in block producers and rewards good witnesses that just don't have enough votes who would otherwise shut down their node for lack of any compensation. Keep in mind the top 19 witness list can and does change with people voting. Miners having a block per round gives another route of access to producing blocks, if you've got the CPU power to use.

Are they setting the price or just feeding back from other sources? If they are, how do they decide on price?

It's a feed from STEEM market price. STEEM tokens are currently traded on Bittrex and BitShares' OpenLedger. Multiply the market price in bitcoin by bitcoin USD value and you get Steem USD value. A command is then given to the Steem node and the witness' price feed is broadcast to the network.

Just make sure whichever node version is reported is up to date with the current blockchain and isn't out-of-date past a hard fork.

How do you do that?

This is a little tricky for a casual user I suppose. Keep up with Steem releases and know when a hard fork will occur. You can view the latest release and changelogs here, although presently 0.8.4 is only a contender for an upcoming hard fork and which curation strategy prevails is still not set in stone.

Why the price feed from each witness differ?
Can they tweak the price from what their algos are announcing them about the price feed?
What is the interval at which they can change what their price feed announce?
Is the algo which provides witnesses with price feed part of the steem witness client/software?

Really interesting!

Each witness generally will use different sources and settings and intervals to update their price feed. They can set any price they want, although now there will be more scrutiny on accurate reporting. Any automation of price feeds is done outside of the steemd software, although the command is fed to it. The command looks like this when using cli_wallet, if you are curious: publish_feed "pfunk" { "base":"0.225 SBD", "quote":"1.000 STEEM"} true

I really appreciated you answer. One day I plan on setting a witness up.