Learn by Interacting with Hash, Blocks, and Blockchain + get 100SP delegated for insightful comments

in bitcoin •  4 months ago

Hi all,

Two week ago, I started my journey of learning to program on btc. See https://steemit.com/bitcoin/@ddangerwu/from-noob-to-proficient-how-you-can-program-on-blockchains-in-40-days for details.

BLOCKCHAIN1.png

I've stumbled upon a website that allows you to play with the relationships between Hash, and Blocks, Blockchain. see https://anders.com/blockchain/hash.html and you can also cycle through the tabs on the top right. Disclaimer: I did not make the website nor am I affiliated with it. I do think it is a great tool for helping to understand basic blockchain concepts though.

So, after playing around with it for a while, I have made some notes for myself in understanding these concepts and I'd like to share with you guys on my findings.

HASH

Screen Shot 2018-02-24 at 5.51.58 PM.png

What is it: it's a fingerprint of some digital data. As you can see, I've changed the words "Hello Steemit" into a series of gibberish starting with B016.... That gibberish is the SHA256 hash of "Hello Steemit".

Screen Shot 2018-02-24 at 5.59.26 PM.png

Now that I've changed the data, you can see the hash has also changed as well. Notice that the hash is always 64 characters long

BLOCK

Screen Shot 2018-02-24 at 6.07.16 PM.png

What is it: a block is hash that follows a certain rule or "fits" the algorithm. You notice that the background is currently red. That's because my data of "please resteem" does not currently fit the rule. What is the rule? Let's arbitrarily set it as the first 4 characters of the hash must start with 0000. You may have whatever rule you want in your algorithm, this is the rule for SHA256.

Screen Shot 2018-02-24 at 6.14.37 PM.png

If I want to force the data of "please resteem" to start with the hash of 0000... then I need to try many variations of hashing. This process of trying all variations is called "mining" and I've found that the NONCE 12175 helps me fit the rule and now the background is green. You can think of NONCE as guidelines or "key" as to how to hash the data to follow the rules.

BLOCKCHAIN

Screen Shot 2018-02-24 at 6.22.08 PM.png

What is it: it's a series of blocks all following the rule and each block verifies the previous block. Notice that all blocks have green backgrounds right now. This is because they all follow the rule of the hash starting with 0000. Their nonces are different because each block takes the hash of the last block and combines the new data within the block to calculate a new nonce.

Screen Shot 2018-02-24 at 6.30.30 PM.png

I've changed the data in block #1 from empty to "also, comment something insightful to win 100SP delegation!". I mined/found the nonce to make it follow the rule. Now block #2 and #3 are red because their respective nonces no longer allows them to follow the rule.

Screen Shot 2018-02-24 at 6.32.24 PM.png

Now I've found the nonce for block #2 which is 145

Screen Shot 2018-02-24 at 6.33.18 PM.png

Now I've found the nonce for block #3 which is 101148

Screen Shot 2018-02-24 at 6.35.24 PM.png

I've changed the data on block #2 from empty to "upvote if you want more~". Notice that block #1 is still green/following the rule and unaffected. but block #3 has also turned red because it's hash depends on the hash of block #2. Since I changed the data in block #2, the previous nonce for block #2 no longer works/follows the rule. You'd need to calculate the new nonce given the data change.

In conclusion: blockchain is secure because if you change any middle block's data, you'd cause every subsequent block to be invalidated. This is how we can be sure everything is tamper-proof just by verifying the latest block.

I will be making a video explaining the next few tabs of "distributed, token and coinbase" Please stay tuned.

-Dan


Now that you've read the post, what did you think? I want to do my part to fight spam and promote insightful comments/discussions. I read every comment and value your feedback. Write something and I will pick the most insightful comment to delegate 100 Steem Power to you for a week.

You may earn curation awards using my STEEM manually OR use a service like SmartSteem to vote automatically for you. Just click "sell your votes" button, log-in/authorize and you are set~

Here is last post's winner:Screen Shot 2018-02-24 at 6.44.36 PM.png

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:  

I find your post quite educative and at the same time easy enough to understand for a lay person. Thanks for explaining the meaning of a hash and a nonce, and the role they have in the block hashing process.

Do you know of a good site that explains how POS hashing works?

Thank you.

·

100% agree, this is a very educational post with explanations available to anyone a simple and entertaining way to explain the BLOCKCHAINS

Many of you may have heard about Proof of Stake, specifically that Ethereum is moving toward a hybrid model using Proof of Stake and Proof of Work.

But of course, the same lot of you probably asked, “What the heck is Proof of Stake really?” Let’s dive into that.

There are, currently, two main Blockchain systems that the larger crypto-networks utilize:

Proof of Work
Proof of Stake
Both of these Blockchain systems govern how transactions are verified on the decentralized network.
@ebargains Try this link for more information:
https://medium.com/@robertgreenfieldiv/explaining-proof-of-stake-f1eae6feb26f
https://talk.peercoin.net/t/pos-how-does-it-really-work-long-and-maybe-confusing-thread-incoming/648
https://bitcoin.stackexchange.com/questions/52321/how-is-a-proof-of-stake-block-mined-at-the-block-level-and-how-does-it-accompli
https://steemit.com/bitcoin/@mooncryption/guide-proof-of-work-pow-vs-proof-of-stake-pos-vs-delegated-proof-of-stake-dpos
I hope you find that information with these links are very interesting
regards

·
·
·
·
·

I like your profile pic....

·
·
·
·
·
·
·
·

Thank you :)

·
·
·

Your Wellcome

·
·

Very informative as well! Thanks!

·
·
·

@mech820I always like to collaborate and help others

·

different POS have different mechanisms. are you looking for dPOS like steem?

·

How do you get 19$ for comments and I can even get a penny for upvotes? I have only made 2 cents so far commenting and upvoting plus investing in 240$ of SP . Still trying to figure out how I can make money. still not happening.

·
·

Its not just about making money here. Its about contibuting to the free sorce of information and contact. Earning anything would be a bonus.

Hashing and data structures.

A data structure is a specialized way of storing data. There are two data structure properties that are critical if you want to understand how a blockchain works. They are pointers

Pointers are variables in programming which stores the address of another variable. Usually normal variables in any programming language stores data.

Eg. int a = 10, means that there is a variable “a” which stores integer values. In this case, it is storing an integer value which is 10. This is a normal variable.

Pointers, however, instead of storing values will store addresses of other variables. Which is why they are called pointers, because they are literally pointing towards the location of other variables.

·

Anda membuat posting yang menakjubkan! Upvoted dari @antobrampu. Aku mengikutimu. Tolong ikuti saya dan upvote atau beri komentar di pos saya. Aku akan melakukan hal yang sama padamu. Bersama-sama kita tumbuh!

It was always very difficult for me to understand the meaning of all these widely used terms. But you simplified it by so easily demonstrating their functionality and association with the actual data input and screenshots, that it became crystal clear to grasp for me now.

One thing I wanna know: Does Nonce need to be calculated by hit and trial or is there some rule to find it? Is it this calculation of "Nonce", where all PoW computing (or hashing) power gets consumed?

·

good question. finding the nonce is completely random. and yes, the more hash rate you have i.e. mining hardware, the more likely you will find the nonce and will consume more power.

Are you a self learner? What is the resources are you using currently?

·

Anda membuat posting yang menakjubkan! Upvoted dari @antobrampu. Aku mengikutimu. Tolong ikuti saya dan upvote atau beri komentar di pos saya. Aku akan melakukan hal yang sama padamu. Bersama-sama kita tumbuh!

Thanks for giving new information to all us.

Epic post Thanks for sharing this information

Thank you very much for the information that I think is very helpful to people like me who really like things like that .... !!!
https://steemit.com/life/@akhy/look-at-this-valiant-act-this-monkey--do-2018-02-24-14-10-11

I try to understand things even if I'm not a coder by profession. So when I started investing in crypto I read a few articles around it. Found this one useful:
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46

Not that I understood it completely, but it helped to get my head around it.

Tend to use alot of scripted macros in work, and dabbled in SQL, and Python, but its not the same thing.

·

investing in crypto is profitable now a days?

·
·

Yes, you can still buy cryptos low, and sell higher, new projects are coming out frequently with great potential. I think we are scratching the surface of what the Crypto market will become.

·
·

Forget the buy low sell high mentality. Short sighted views, and fear is why people are losing money right now by getting into something with known volatility and then making bad calls.

Unless you know what you are doing reading trends, and even then with a degree of luck this is still risky. This ain't the stock market, the same rules don't apply.

I've been investing various amounts since Oct of last year. It's had its ups and downs, but coming out with 78% profit on initial investment beats any traditional fund hands down(It's been as high as 400%, but that's the nature of the beast).

I've been in stocks for about ten years, and still invest in both.

Find projects that are going to be around in 5-10 years time, and are already changing the cryptocurrency landscape. Education and knowledge is what's key to doing well. Forget reading graphs. If your confident in what you invest in, you won't ever make panicked decisions.

As for the current slump, the year is only just getting started.

hi you view my account- and help me steemit account

Great post ^_^

Great post :) Thanks for sharing

·

It's so informative 👍👍

I learn something from your post, thanks, friend.

·
·

Okay... this was funny! 😅😂😂

from modern era of techno and crypto we just remeber its bright future from all past mistakes and new yeah future mistakes. Get well soon i say again for btc. @ddangerwu u know what i mean, as i follow u from past time.

this article has useful information and is worth reading.

thank you very much for the input you give. this is very useful for us all

Thanks for posting the sight! I will definitely play with this over the weekend.

#blockchain #cryptogator #cryptocurrency

You got a 29.08% upvote from @postpromoter courtesy of @ddangerwu!

Want to promote your posts too? Check out the Steem Bot Tracker website for more info. If you would like to support the development of @postpromoter and the bot tracker please vote for @yabapmatt for witness!

·

You made an amazing post ! Upvoted from @antobrampu. I followed you. Please Follow me and upvote or give a comment on my post. I will do the same to you. Together we grow !

Been to this site before. It really helps to solidify what you read in plain textual lines about the hashing mechanism.
By the way, I have been through your earlier post and have started learning bitcoin blockchain along with it. I have understood Finite Fields but I am kind of juggling with Elliptic Curves + Finite Fields. Do you have any useful links to get hold of the topic?

·

watch some of jimmy song's older videos, he explains those concepts

Good post

I would like to add the point that it's easy to find the SHA256 hash but it's very difficult / impossible to find the original string from the hash. Through this mechanism and the proof of work algorithm makes Blockchain a Blockchain. They are secure cyptographically, Not everyone can add a block (like Git) and the blocks are immutable because if you change a block, it would create a new branch and you would need to mine faster than all the miners on earth and keep on increasing the length of the branch to stop it from getting rejected which is impossible. No one has such computing power.

·

yep, which is why pow is really valuable

Read your post and you give alot information about the hashing power, Blocks and blockchain, but i am a newby like most people in this. I'm not sure what the relationship between those three is. You might want to point that out for the "normal" people among us.

Anda membuat posting yang menakjubkan! Upvoted dari @antobrampu. Aku mengikutimu. Tolong ikuti saya dan upvote atau beri komentar di pos saya. Aku akan melakukan hal yang sama padamu. Bersama-sama kita tumbuh!

Wow really interesting thank u @ddangerwu for sharing this is a post that must be seen.
I will resteem it 👍🏼

Gracias @ ddangerwu, realmente es una manera de explicar las cadenas y hash de forma entendible para personas que no somo programadores.
Me ha servido mucho

It is useful info. thanks

One hour a day for forty days?

I don't want to discourage you, but the total of 40 hours is just not enough of time to do it. I would double it at least. You wouldn't regret doing 2hr/day, I can promise you that.

Just look what awaits you after your 40 days preparation:

Finite Fields
Elliptic Curves
Elliptic Curve Cryptography
Signing/Verifying Messages
Parsing Transactions
Signing Transactions
Creating Transactions
Script parsing and processing
Address construction/Private Key WIF Format Construction
Parsing Blocks
Validating Proof-of-Work
Difficulty Calculations
Merkle Tree Construction
Merkle Proofs
Network Message Parsing
Segwit

Those are some advanced topics that will make your head spin. Don't sabotage yourself with 1hr/day of preparation.

Anyhow, I'll follow your progress. Good luck!

This is very enlightening... Thanks for taking out time to share

Gracias por excelente Post, estoy incursionando en el mundo de las criptomonedas y esta información es bastante interesante, gracias por compartir. Y feliz de pertenecer a esta comunidad de Steemit

I like this post and I flw u :) plz flw me .

This is good information.

Pochopil jsem princip ,ale to nestačí.

thanks for valuable information.......

Thank you very much

Don't forget the good old genesis block, the first block of the blockchain that's hand made solely by the developers starting the blockchain ;) That's often overlooked by far too many people but is important to get one started.

👍👍👍👍

Great time to join in at blockchain focused programming overall and get familiar with it if You feel like cryptorrencies are here to stay.

Guys, help us to succeed on Binance and get a reward of 200 #WPR if listed! Vote: https://www.binance.com/vote.html
Sign up for #bounty here: https://goo.gl/JbF3uY & fill in “Bounty report” when voted: https://goo.gl/SWDNyw
Let's win this!
DWtwgruW0AEF2MX.jpg

so informative post @ddangerwu thank you dear

Wow.... what fully filled and informative post. just great...... keep continue @ddangerwu

I am a trader and signal provide
Join telegram group for for info:-
❣️ BITTEX ❣️
https://t.me/cryptowind_trading_signals

💰BINANCE💰
https://t.me/cryptosaurus_signals

I am a trader and signal provider join telegram link below:-

❣️ BITTEX ❣️
https://t.me/cryptowind_trading_signals

💰BINANCE💰
https://t.me/cryptosaurus_signals

Excellent post I congratulate you, you have my vote

I am wondering if a Block always only contains one "hash," i.e., data object or if it can be more complex in its structure. Of course entering a script, JSON, XML or HTML the data would be in a position to virtually include anything. Still, it might be useful at some point to add another object/entity to make the data stored in the chain more complex.​

·

yes, each data set can only have one hash. you can make it more "complex" by having side-chains

·
·

So a sidechain does not "live" independently it always has a relation to the main chain and adds additional complexity? Or can the sidechain handle its​ own information and tokens independent of the main chain?

·
·
·

sides chains can have their info/tokens but they are always bounded to the main chain through hash, similar to how the current block is always bounded to the previous block.

Thanks for sharing new information to all us.

Awesome article for newbies.. Good job

Its a great post to learn from.... But am eager to know something, how does this help steemians and is it for only crypto dealers?

great post
thanks for you sharing
DQmTTrv5dtJTS9RaYBuVCok79xJbED97RLYt354UcSDCgQj_640x480.jpeg

Nice..i liked it

excellent friend publication, I invite you to visit my profile and help me by voting for my last publication

Thats the way to do it. Play with it, most blockchain software is understandable and doable. If you never touched the software or used a tool like this, you will never be an expert. Thanks for sharing.

I wonder how you would reverse an error message... following the first block that was changed. If it's corrected, do all the blocks reset? I am training for free on https://www.sololearn.com/ to expand my programming abilities and the implications for blockchain.

·

if you change the first/genesis block, then your copy of the chain will not be accepted by the network.

Difficult to understand what you posting

Cool site to learn principles of hashing data.
One might add that though hashed value is short no matter of initial data length, but it also very hard to find another data that would hash to the same value.

·

yep, the hash is always the same length regardless of the deriving data

Congratulations @ddangerwu, this post is the most rewarded post (based on pending payouts) in the last 12 hours written by a Superuser account holder (accounts that hold between 1 and 10 Mega Vests). The total number of posts by Superuser account holders during this period was 1498 and the total pending payments to posts in this category was $11460.30. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.

Good lesson
Wish you always luck brotha...

Upvote and follow at @bujang88
Let me success like all of you brooo...
Thx

Thanks for the information. I really want to learn how to build and program on blockchains. So many ideas!

This is well articulated,educating and easy to understand

Wow! Remarkable post and teaching. You hit square into my ignorance and shed light so I can be smarter when talking about blockchains and their incredible potential.

I've been investing in cryptos and their blockchains for more than one year. I know what blockchain is, but not to the detail I just learned from your post.

The businesses being built currently on each of their version of blockchain are like going back to the early 1990's when few actually knew anything at all about the internet, what it was and most importantly, what world changing opportunities it would provide. We have a clean canvas and we can paint or repaint anything we want. Blockchain businesses and opportunities are only limited to the creativity of entrepreneurs. I will proclaim that creativity is nearly infinite. So let the world changing opportunities begin!

From a financial standpoint, blockchain has the ability to rewrite history by upsetting financial hierarchy. Anyone willing to learn and put small bets on many crypto coins can end up with life changing finial results.

We need to take the current opportunity in front of us and jump in head first. Learn everything we can about blockchain technology, push away the ignorance being propagated by media and governments and start putting small bets on many crypto coins. Focus on those that are solving big problems, those that are disrupting current dominant businesses and those with the team behind them to actually pull it off and be around in 5 years.

Resteeming!

Can't believe its already been 2 weeks! Been reading up on hash blocks but theres just too much to learn!

I think it's likely that proof of work algorithms will be obsolete as PoS and DPoS become more mature. All of the unnecessary electric consumption with PoW mining is obviously not good. However the real issue with Bitcoin or any other PoW system are the fees. Even with the upgrade to the lightning network there will still be fees on the network. Steemit is a DPoS which internalizes the cost of running the network to the witnesses. Witnesses are incentivised with block rewards. This allows the users to use the platform freely and it also pushes the theoretical transactions per second to 100,000+. There are flaws to PoS and DPoS which will be exploited in the future. It will be a learning process but they will become more balanced and secure as these issues are identified.

Wow great job, you are awesome in every time. Your presence turns every impossible to possible. You have that power so your name is fire power. We are eagerly awaiting the arrival of you in our area so that,we can enrich the energy and inspiration in a very productive way. Thanks for sharing such an inspirational and exited post. Have a very beautiful time ahead.

I'm a blockhead. I don't understand most of what you posted and I doubt I ever will - it all sounds like a foreign language to me. I'm not even sure what delegated steem is or how you use it.

In 2010, when I first read about blockchains in James Cameron's 'The Extreme Future', I wanted in, because I could tell this was a disruptive technology that would change the world. I knew I wasn't clever enough to pick the winning technology, but I could invest in the broad concept - couldn't mine for the gold myself, but I sure could invest in shovels.

Eight years later, blockchain technology is only just taking off and there will be many riders and runners before the main players emerge, and possibly a couple of bubbles and crashes. However, the blockchain as a technology is here to stay.

I was thrilled when I discovered Steemit, because it give me, a writer, direct access to the coalface (to mix my metaphors) as well as doing background investing. So, well done with this post - I don't need to understand it to appreciate the skill (and time) that has gone into its production. Keep doing what you are doing, because it matters.
Nick

I love this article, amazing.

The resource you shared is a great starting point for anyone who wishes to learn about the blockchain in an interactive manner.

I would like to share the following educational resources for those who plan to learn more about blockchains:

  1. Blockchain Demo - A step-by-step demo on how the blockchain works
    https://blockchaindemo.io/

  2. Coin Demo - How the Bitcoin Network works in an intuitive demo
    https://coindemo.io/

Please note that I am not the creator of the above resources nor affiliated with them. I hope you enjoy checking them out.

Thanks for an easy-to-understand explanation..

I found your video very interesting and instructive!!!Thank you for explaining the meaning of a hash and a nonce, in simple words ,and the role they have in the block hashing process in blockchain.Bravo!!!

thanks for sharing your ideas with us!

Congratulations @ddangerwu!
Your post was mentioned in the Steemit Hit Parade in the following category:

  • Pending payout - Ranked 7 with $ 398,57

Nice post thanks for very usefull informations

That explanation is so easy that even a half-blind mouse could understand it thanks for sharing it

Oh, that's really nice. Being a non-tech person, I never understood those concepts.

But you've actually made it so easy. But to get hands on experience, I should use the mentioned website.

Thanks for the resource and making it this simple.

Good post. The one thing I am missing, or not stated enough is the time it takes to find a new block. With the current difficulty being 18, meaning the hash needs to start with 18 leading zeros, only 1 block can be found/mined every 10 minutes for the Bitcoin blockchain.

That makes it hard (impossible) to temper with a block in the blockchain and perform a hash update on all the already present blocks.

And yes, there is an enormous waste of energy :(

Accretia

A simple guide for people to learn about the basic of Blockchain. Thanks for sharing! Upvoted.

thanks for sharing it's... nice information..

Will try if found interesting. Hope for best

The effort that is given to this post is pretty insane. I actually followed everything through. We need more stuff like this, looking forward to more. :)