It is kinda funny how we, software developers with some knowledge about Object Oriented Programming, can understand the concepts very fast when classes are given in OOP. Between .. dear Savjee, your techniques show excellence on teaching, congratulations!!
So true. I was just saying to a co-worker of mine that I wish everything was explained in OOP, then I could learn physics and anything at that point lol. OOP is how you communicate to a modern developer lol. So freaking true.
This is exactly I came to watch the video. I watched a bunch of other videos that tried to explain the concept, but it generated MORE questions, not less. It's easier to understand things in code, because there are no contingencies. All the ideas, advantages, disadvantages, potential for bug, etc., are all in the code, whereas spoken words are so malleable and leave a lot of room for interpretation.
Epale chamo, yo también estoy en Venezuela, estoy interesado en hacer contacto con otros desarrolladores de aquí, si quieres nos contactamos, yo soy autodiacta. Así que sería genial poder ver en qué podemos ayudarnos.
I've watched more than 6 hours worth of videos on blockchain but still never understood how it really works. But this 6-minute video quick explains how blockchain works in such an easy-to-understand way! Hats off, thank you!
Seriously helpful video man! Seeing it implemented made blockchains so much easier to understand. I finally get why proof-of-work actually works and how it prevents and slows malicious modifications to the chain. Incredible work.
Thanks for the video. I watched a bunch of other videos that tried to explain block chain in plain English, but they utterly failed. You started with the basic idea, and improved it as you went on through the video to show how to address potential pitfalls. That was really helpful. None of the other videos do that. They just simply throw a definition at you and hope that you understand it from there.
Very interesting ! There is just two small bugs: 1) in the constructor of your block you call calculateHash before setting the nonce, which will be then undefined. Overall, I wouldn't call calculateHash in constructor as you will anyway overwrite it inserting it in the chain. 2) in your mining function, you first increment nonce, then you calculate your hash so you will never test the case with nonce = 0
Great work Savjee!! It simply explains the nonce, difficulty and mining in such an easily understandable way!!! Thank you!!Can you also do something around Valet and how it fits in all this?
I just recently found your channel. This and your previous video are awesome! I have yet to watch the rest. Thanks so much for such valuable information!
Your way of teaching is really good, very easy ro understand blockchain, its been 2 months u had not uploaded any video on this series, should we expect more videos???
Thanks a bunch for this series, this has helped me tremendously in my quest to grasp how blockchains/cryptocurrencies work. One thing I don't understand though is how you would now allow others to make use of this blockchain. Coming from a web background my first instinct tells me that you need to host this somewhere in order for other people to make use of it. However, I've heard a lot about decentralization with regards to this technology so that can't be it. Is this where the Bitcoin protocol / P2P decentralized networks come into play? Also, a video on how to implement your own smart contracts would be awesome as well.
Thanks for the kind words! Yes, in order for others to be able to use this blockchain, it would need a P2P network. Each node that has to announce itself on the network and find the longest valid chain available. Once that is found, the node needs to copy the entire chain and then he can start using it. It also needs a broadcast system for new blocks. As soon as a node mined a new block it should broadcast this to the entire network so others can add that block to their own chain and keep the consensus. I'm still thinking about extending this series with more video's (thanks for the smart contract suggestion).
Thanks for clearing that up for me, I appreciate it tremendously. Here's another question: What happens when two random nodes successfully mine a block at the same time and then both broadcast it onto the network? How will this algorithm decide which block is the block they should continue the chain with in that situation? Does the losing block get destroyed?
Chances of that happening are pretty low. But it can occur. In that case one of the blocks will go around the network faster than the other, and that one will win. The other one is then abandoned and becomes orphaned.
The only loophole is that the latest block can be tampered by changing its body and recalculating the hash since the correct hash of the latest block is stored nowhere as there is no successive block. How do you handle this?
@Simply Explained - Savjee, First of thank you for the great video. I need help from you. we are planning to create new payment gateway, is it good to implement blockchain technology for our new payment gateway?
If it takes a considerable amount of time to calculate a valid hash, how does one quickly verify the whole chain? In the last video, Savjee's isChainValid function calculated the hash for each block, but that would take way too much time, right?
To make it quick to verify each hash in the chain of blocks, the 'nonce' value must be included in the block's data then, right? Then the none value doesn't need to be guessed when verifying a block that already exists
It is kinda funny how we, software developers with some knowledge about Object Oriented Programming, can understand the concepts very fast when classes are given in OOP. Between .. dear Savjee, your techniques show excellence on teaching, congratulations!!
So true. I was just saying to a co-worker of mine that I wish everything was explained in OOP, then I could learn physics and anything at that point lol. OOP is how you communicate to a modern developer lol. So freaking true.
@@jgttech If you dont understand physics you probably wont understand oop
This is exactly I came to watch the video. I watched a bunch of other videos that tried to explain the concept, but it generated MORE questions, not less. It's easier to understand things in code, because there are no contingencies. All the ideas, advantages, disadvantages, potential for bug, etc., are all in the code, whereas spoken words are so malleable and leave a lot of room for interpretation.
@@fxstreamer238 what has physics to do with OOP lol. It's just a way to model data, another data structure, nothing more.
@@jordixboy ask the other guy. he wants to learn physics with oop. you thought you were smart but you just caught off guard didnt you
Another solid video. Please continue this series, I'd love to see part 3!
Same here. Amazing videos. Greetings from Venezuela, thank you very much Savjee!
one more here!!
YES, YES AND YEEEEES!
one more!
Epale chamo, yo también estoy en Venezuela, estoy interesado en hacer contacto con otros desarrolladores de aquí, si quieres nos contactamos, yo soy autodiacta. Así que sería genial poder ver en qué podemos ayudarnos.
And finally I could comprehend what bitcoin is. Thanks for that crisp and neat threadbare tutorial. Thanks. Hats off to your skill of telling.
congrats now you are 0.0001 % closer to understand btc.
I never really understood how blockchains work until now. Apparently all I needed was an illustration in an OOP-way. Thanks a lot!
Thought the same
I've watched more than 6 hours worth of videos on blockchain but still never understood how it really works. But this 6-minute video quick explains how blockchain works in such an easy-to-understand way! Hats off, thank you!
Seriously helpful video man! Seeing it implemented made blockchains so much easier to understand. I finally get why proof-of-work actually works and how it prevents and slows malicious modifications to the chain. Incredible work.
Just starting to learn about blockchain in 2021, and this was super helpful. Seeing it coded live made it so much more clear. Thank you!
awesome.... i'm an OOP developer... and i can finally understand blockchain by watching your videos... thanks!
Thanks for the video. I watched a bunch of other videos that tried to explain block chain in plain English, but they utterly failed. You started with the basic idea, and improved it as you went on through the video to show how to address potential pitfalls. That was really helpful. None of the other videos do that. They just simply throw a definition at you and hope that you understand it from there.
Thank you very much for these two videos, i have understood in 15-20 minutes what could not understand after months of blog and videos on block chain
Very helpful series. Awesome!!! 10 mins of code is better than 10 hrs of talk. Thanks and keep it up.
Great video in explaining the technical aspects of blockchain and how to parts fit together.
This is so informative for someone that knows nothing about blockchain tech. Thanks!
my English is not very well but i can understand what you say, this thing not often happened ,about blockchain you do amazing job mashallah 🤩
These videos are fantastic honestly. Also the easiest to understand blockchain intro tutorial
Damn, what a brilliant little series! This is so very illustrative! Thank you!
Belittling?
Surah, you are a very talented instructor!
Very interesting !
There is just two small bugs:
1) in the constructor of your block you call calculateHash before setting the nonce, which will be then undefined. Overall, I wouldn't call calculateHash in constructor as you will anyway overwrite it inserting it in the chain.
2) in your mining function, you first increment nonce, then you calculate your hash so you will never test the case with nonce = 0
I finally understood the logic behind blockchain. Great video buddy!!!!!
Great work Savjee!! It simply explains the nonce, difficulty and mining in such an easily understandable way!!! Thank you!!Can you also do something around Valet and how it fits in all this?
Thank you for explaining block chain and proof-of-work in the easiest way. Hope to see more videos. -)
In the easiest way. though that's subjective
I love this! way better from the talks I've been to about block chain!!!
you are awsome man !!!!!!!!!!!!! , after many years looking for understanding blockchain I found my answer from you , thank you so much,
This is Awesome. After watching this video i get into better perspective of blockchain. Thank You!
Wow man I've just come across your channel, its amazing, thank you.
I'm a professor watching the playlist from Brazil! Tranks!
This channel has liberated my mind! I repeat 'LIBERATE'!
Great series so far, easy listen but packed full of info!! Looking forward to more.
Fantastic video, great to see a practical examples of what a block chain implementation might look like. Thank you.
Thanks!
It’s wild how relevant this video is in 2022 and it’s 4 years old. 🔥🔥
I LOVE your videos on blockchain ..... you are the best teacher over the internet
You cleared a lot of my concepts
mind blowing brilliant video and explanation.
Thanks for your sharing.. You are the great.. definitely .
curious question the nonce is an integer right? what happens if it overflows
Very nice video, doing a POS instead of POW would also be possible on this javascript Blockchain demonstration ?
Savjee, please continue this series! I love it and I love you
I just recently found your channel. This and your previous video are awesome! I have yet to watch the rest. Thanks so much for such valuable information!
Amazing video dude. Please continue along that path, really interesting !
Your way of teaching is really good, very easy ro understand blockchain, its been 2 months u had not uploaded any video on this series, should we expect more videos???
Sometime in the future yes. Been busy with the Simply Explained series. Been thinking where I can take this Javascript implementation next.
Thanks Savjee!! Good to here, looking for next videos 😊
Really nice video, it explains a lot! Words in the paper of bitcoin were so confusing before I watch this.
In Bitcoin, do they define the difficulty by making the hex encoded hash of the block start with n zeros or the bits themselves?
Thank you. Learning with you is a comforable experience!
Great video, really explain clearly in the technical prospective of proof of work, please make more example video
Please upload the 3rd part also. great video lecture
Make a Part 3 please :)
Really amazing explain, Thank you very much.
greaaat greaaat video! Best explanation so far i found online about blockchain and mining, thank you! Please continue! :D
Working on something right now. Will be published after next Explained video 🤐
Great stuff mate. Thanks for sharing
Thanks
Someone gives an Oscar for this guy! This is simply awesome
Thank you so much Sir. The mining concept was very well explained.
Wow that was simple and it seems to be quite effective solution.
AMAZING video. thankyou! Hope to see part 3 ❤
Thanks for the videos, I love this kind of series!!! Plz plz make next videos
Hi! It was a pleasure to watch these videos, really simple comparing to others overсomplicating it. Just keep going.
sir could you pls explain how can we update the previous hash of a particular block, when the data in the previous block is updated
Well paced lab and very well explained. Thanks!
what if we used settimeout function for proof-of-work instead?
Thanks a bunch for this series, this has helped me tremendously in my quest to grasp how blockchains/cryptocurrencies work.
One thing I don't understand though is how you would now allow others to make use of this blockchain.
Coming from a web background my first instinct tells me that you need to host this somewhere in order for other people to make use of it.
However, I've heard a lot about decentralization with regards to this technology so that can't be it. Is this where the Bitcoin protocol / P2P decentralized networks come into play?
Also, a video on how to implement your own smart contracts would be awesome as well.
Thanks for the kind words!
Yes, in order for others to be able to use this blockchain, it would need a P2P network. Each node that has to announce itself on the network and find the longest valid chain available. Once that is found, the node needs to copy the entire chain and then he can start using it.
It also needs a broadcast system for new blocks. As soon as a node mined a new block it should broadcast this to the entire network so others can add that block to their own chain and keep the consensus.
I'm still thinking about extending this series with more video's (thanks for the smart contract suggestion).
Hey Savjee, keep this series going. I'd love to know how to setup a simple P2P network like that.
Thanks for clearing that up for me, I appreciate it tremendously.
Here's another question: What happens when two random nodes successfully mine a block at the same time and then both broadcast it onto the network? How will this algorithm decide which block is the block they should continue the chain with in that situation? Does the losing block get destroyed?
Chances of that happening are pretty low. But it can occur. In that case one of the blocks will go around the network faster than the other, and that one will win. The other one is then abandoned and becomes orphaned.
Awesome content. Thanks for share it
You can also create a string of all zeros of an exact length by using repeat method
‘0’.repeat(difficulty)
Brilliant tutorial, thanks.
Great series! I would love to see the part3 :D
Amazing video. Subscribed. Thank you!
Explained so simple. Please continue with this!
Great Video, Please do another one for Smart Contracts
Best explanation on the net !!!
Very great, solid video. Thanks
Merci beaucoup Xavier...
Very good video. Keep em coming.
Solid explanation my dude. Thank you.
Man, great video! Thanks!!
thank you so much! It really helpful to me
This is so well explained!
What exactly does the "difficulty" do?
The only loophole is that the latest block can be tampered by changing its body and recalculating the hash since the correct hash of the latest block is stored nowhere as there is no successive block. How do you handle this?
Why do you need to mine the block or calculate the hash twice? the first time at the constructor and then when adding new blocks to your chain.
Fantastic!!! I would like see another videos about this...
Brilliant explanation. cheers
Noob question: is it possible for the hash to never have the required number of zeros? could 'nonce' overflow?
@Simply Explained - Savjee, First of thank you for the great video. I need help from you. we are planning to create new payment gateway, is it good to implement blockchain technology for our new payment gateway?
Very nice videos. Keep doing this :) Thanks!
Thank you!!! You are awesome!!
If it takes a considerable amount of time to calculate a valid hash, how does one quickly verify the whole chain? In the last video, Savjee's isChainValid function calculated the hash for each block, but that would take way too much time, right?
To make it quick to verify each hash in the chain of blocks, the 'nonce' value must be included in the block's data then, right? Then the none value doesn't need to be guessed when verifying a block that already exists
Great video. Simply Explained. Thanks.
How would one conceivably implement the P2P part of this?
great video!! part3 smart contracts?
excellent explanation!!!👍👍
yes this is a great video. thank you
i'm having an issue with the substring function on vscode, i does not recognize it as a function. Any help?
same
How did you spell "constructor"
@@Foxlendor np mate, it was 1year ago, plus for what I recall, it definetly was a typo nothing more😂.
Thanks anyway
Well done. Thank you
Silly question about "proof-of-work"
If transaction happen. Who will validate it or check it? or How validate it or check it?
This video series is awesome
good job man! im curios how would proof of stake be implemented?
Is there any next part of this??? Plz plz plz make it if not. With javascript only please
Osm... Thank You For This video ❤
Can you please do a tutorial on diffie hellman and rsa encryption in node js?
Thank you do much sir .. love you for this.
Awesome video!