Blockchain 101 - A Visual Demo

5 nov. 2016
1 174 179 Weergaven

This is a very basic visual introduction to the concepts behind a blockchain. We introduce the idea of an immutable ledger using an interactive web demo.
0:00 Intro
0:15 SHA256 Hash
2:18 Block
5:16 Blockchain
9:20 Distributed Blockchain
12:19 Tokens
14:36 Coinbase Transaction
Part 2 is here: nlworld.info/key/video/2YF1fsTEopyjl6o
If you are interested in playing with this on your own, it is available online at:
anders.com/blockchain/
The code that runs this demo is also on GitHub:
github.com/anders94/blockchain-demo
I'm @anders94 on Twitter and @andersbrownworth on Steemit.
Donations:
BTC: 1K3NvcuZzVTueHW1qhkG2Cm3viRkh2EXJp
ETH: 0x84a90e21d9d02e30ddcea56d618aa75ba90331ff
ETC: 0xab75ad757c89fa33b92090193a797e6700769ef8

Reacties
  • I have had to turn comments off on my blockchain videos due to spam. If you want to reach out to me, please find me on twitter @anders94 instead. Most of the recent comments (which I've been judiciously deleting these past few years) have been people pushing an "I can get your private keys back for you" scam which, as everyone who has watched these videos knows. is quite impossible. I hate to take such a drastic measure but I'm afraid I just don't have the time.

    Anders BrownworthAnders BrownworthJaar geleden
  • love it, but why not just start new blocks? ( i have 100000000): how start?

    Crazy MoneyCrazy MoneyJaar geleden
    • I don't really follow what you are saying.

      Anders BrownworthAnders BrownworthJaar geleden
  • Terrific!

    sanjay bhatikarsanjay bhatikarJaar geleden
  • i have this code but i don't know how i run the code i have taken the code in git hub

    Rohan karRohan karJaar geleden
    • @Anders Brownworth plz make one video for me.how to do it.

      Rohan karRohan karJaar geleden
    • Instructions are in the README.md file. If you get stuck, look for someone with node.js and preferably unix experience.

      Anders BrownworthAnders BrownworthJaar geleden
  • millions of millions like for this video. Thank you so much!

    Phuong Nguyen Le AnPhuong Nguyen Le AnJaar geleden
  • Where can i find more quality content like this? Im looking for good course for a computer science engineer, a technical course. Not something like "blockchain is taking over the world". I wanna know how it works and how to develop things with it.

    Waldo UribeWaldo UribeJaar geleden
    • I don't have a good suggestion for you. (mostly because I'm not looking for it) If others have feedback on this, please post.

      Anders BrownworthAnders BrownworthJaar geleden
  • the best one!

    xianyun yuxianyun yuJaar geleden
  • Very helpful. Thank you for the effort!

    Ehtisham HabibEhtisham HabibJaar geleden
  • Awesome Video, can you say which language that was written in?

    Shelroy ThomasShelroy ThomasJaar geleden
    • The meat of the demo was written in JavaScript although broadly it is a bootstrap site delivered by node.js using express and pug templates. The code is available on GitHub at github.com/anders94/blockchain-demo

      Anders BrownworthAnders BrownworthJaar geleden
  • What does a "signed block" mean? Does it mean mined block?

    Boulevard A. AladetoyinboBoulevard A. AladetoyinboJaar geleden
    • Yes. Bad choice of words on my side as it conflicts with the concept of digital signatures which I cover in the followup video. If I could go back and fix it, I would have!

      Anders BrownworthAnders BrownworthJaar geleden
  • Even if I'm not a native speaker this is the best explanation I have ever received. Your ability to explain complicated things in such a simple way is amazing! I wish I had professors like you at school! Just a couple of litte questions, Anders. In the Coinbase section you list as a separate field the transaction Coinbase to Anders. First question: Do you mean Coinbase as the famous Coinbase company and so you are assuming that Anders receives money from a Coinbase transaction is his favour? What is the sense of repeating the same $100 coinbase -> Anders in all next blocks ? Why on the last block there is a $100 Coinbase ->Sophia? It seems not to make any sense as Sophia would not give out any further money to anyone in that block. Thank you very much again!

    Crypto H4ck3rCrypto H4ck3rJaar geleden
    • @Anders Brownworth Thanks Again Anders. All is more clear now!

      Crypto H4ck3rCrypto H4ck3rJaar geleden
    • Thanks for the comment! On the coinbase transaction, that has nothing to do with the company Coinbase. That company is actually just using the name from the industry. The sense in having a $100 coinbase transaction in every block is for there to be some controlled and predictable way for money to enter the system. Without it, nobody would have money so no transactions could be created. And because monetary policy is encoded in the software, you see a number of different versions of this. In the case of Bitcoin, the coinbase transaction slowly reduces to zero over time so there is ultimately a cap on how much bitcoin will ever exist. In the case of Ethereum, the supply never stops but is less and less a significant percentage of the overall sum of money in the system. (just like my example here) My point in having the coinbase transaction go to Sophia in the last block is that the coinbase transaction will go to whomever happens to find a working nonce for their version of the block first. It works out to look like a random distribution proportional to the amount of processing power each person has in the system. In practice, usually there are only a small handful of people attempting to mine blocks in the beginning - that's why I made it so I got the rewards in the first 4 blocks - but eventually others start winning the mining race against me because presumably they want some of the new money being minted too. Another way to think about the new money entering the system is this. If the monetary policy is known ($100 per block never diminishing) then the market knows how much money will exist at any point in the future. Therefore, when you get a coinbase reward, you are actually just not participating in the inflation of the currency while everyone else is getting inflated. If the value of all the money in the system is X before a coinbase reward, then the value of all the money in the system with that $100 added in should still be X. So if you had $1,000 and you didn't get the coinbase, your $1,000 would be worth slightly less. If I win all the mining rewards, the value of my holdings stays the same while everyone else's goes down. This gets somewhat confusing because I'm ignoring market forces and just calling the money in my blockchain "dollars" when in fact they are not. But it is interesting to point out.

      Anders BrownworthAnders BrownworthJaar geleden
  • Oh my god the should be at the top of NLworld results when anyone wants to know what blockchain is!!

    Nicholas CheungNicholas CheungJaar geleden
  • Best blockchain explanation ever! You are a legend.

    Charan ChandrasekarCharan ChandrasekarJaar geleden
  • it's really nice; best explanation of blockchain i've ever seen before

    沈濃翔沈濃翔Jaar geleden
  • Really well explained!

    Peter SennPeter SennJaar geleden
  • hello sorry im also trying to just use your program online in a browser but i cant get it to wrok..ot says save file and i save it andnothing happens or if i try to open with i try a browser but it still saves the file ..thx if anyone can help..jessica

    pj mclenonpj mclenonJaar geleden
    • In order to run the code, you have to download it from GitHub. You will notice a green "Clone or download" button which gives you a "Download ZIP" option. You should be able to decompress that. Next you will need a Node.js environment set up - head over to nodejs.org and get the version appropriate for your operating system. Once you have that, you should be able to open a terminal window and run "npm install" and then "npm start". Unix (Linux or MacOS) is the preferred way to do this but it should be possible on most operating systems. Good luck.

      Anders BrownworthAnders BrownworthJaar geleden
  • npm ERR! Linux 4.4.0-31-generic npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" npm ERR! node v4.2.6 npm ERR! npm v3.5.2 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! typechecker@2.0.8 preinstall: `node ./cyclic.js` npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the typechecker@2.0.8 preinstall script 'node ./cyclic.js'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the typechecker package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node ./cyclic.js npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs typechecker npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls typechecker npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /home/r1/blockchain-demo/npm-debug.log r1@ubuntu:~/blockchain-demo$ npm bugs typechecker r1@ubuntu:~/blockchain-demo$ cd .. r1@ubuntu:~$ ls blockchain-demo Downloads install-cc.1 Public Videos Desktop examples.desktop Music s9s_tmp Documents install-cc Pictures Templates r1@ubuntu:~$ cd blockchain-demo r1@ubuntu:~/blockchain-demo$ ls app.js Dockerfile node_modules public views bin LICENSE package.json README.md docker-compose.yml locales package-lock.json routes r1@ubuntu:~/blockchain-demo$ npm start > blockchain-demo@0.0.1 start /home/r1/blockchain-demo > node ./bin/www sh: 1: node: not found npm ERR! Linux 4.4.0-31-generic npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start" npm ERR! node v4.2.6 npm ERR! npm v3.5.2 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! blockchain-demo@0.0.1 start: `node ./bin/www` npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the blockchain-demo@0.0.1 start script 'node ./bin/www'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the blockchain-demo package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node ./bin/www npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs blockchain-demo npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls blockchain-demo npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /home/r1/blockchain-demo/npm-debug.log r1@ubuntu:~/blockchain-demo$ ./bin/www /usr/bin/env: ‘node’: No such file or directory r1@ubuntu:~/blockchain-demo$ node ./bin/www The program 'node' is currently not installed. You can install it by typing: sudo apt install nodejs-legacy r1@ubuntu:~/blockchain-demo$ sudo apt install nodejs-legacy [sudo] password for r1: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: nodejs-legacy 0 upgraded, 1 newly installed, 0 to remove and 81 not upgraded. Need to get 27.9 kB of archives. After this operation, 82.9 kB of additional disk space will be used. Get:1 us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 nodejs-legacy all 4.2.6~dfsg-1ubuntu4.2 [27.9 kB] Fetched 27.9 kB in 0s (70.5 kB/s) Selecting previously unselected package nodejs-legacy. (Reading database ... 195804 files and directories currently installed.) Preparing to unpack .../nodejs-legacy_4.2.6~dfsg-1ubuntu4.2_all.deb ... Unpacking nodejs-legacy (4.2.6~dfsg-1ubuntu4.2) ... Processing triggers for man-db (2.7.5-1) ... Setting up nodejs-legacy (4.2.6~dfsg-1ubuntu4.2) ... r1@ubuntu:~/blockchain-demo$ node ./bin/www module.js:328 throw err; ^ Error: Cannot find module 'express' at Function.Module._resolveFilename (module.js:326:15) at Function.Module._load (module.js:277:25) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at Object. (/home/r1/blockchain-demo/app.js:1:77) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) r1@ubuntu:~/blockchain-demo$ npm start > blockchain-demo@0.0.1 start /home/r1/blockchain-demo > node ./bin/www module.js:328 throw err; ^ Error: Cannot find module 'express' at Function.Module._resolveFilename (module.js:326:15) at Function.Module._load (module.js:277:25) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at Object. (/home/r1/blockchain-demo/app.js:1:77) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) npm ERR! Linux 4.4.0-31-generic npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start" npm ERR! node v4.2.6 npm ERR! npm v3.5.2 npm ERR! code ELIFECYCLE npm ERR! blockchain-demo@0.0.1 start: `node ./bin/www` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the blockchain-demo@0.0.1 start script 'node ./bin/www'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the blockchain-demo package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node ./bin/www npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs blockchain-demo npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls blockchain-demo npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /home/r1/blockchain-demo/npm-debug.log r1@ubuntu:~/blockchain-demo$ npm bugs blockchain-demo npm ERR! Linux 4.4.0-31-generic npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "bugs" "blockchain-demo" npm ERR! node v4.2.6 npm ERR! npm v3.5.2 npm ERR! code E404 npm ERR! 404 Not found : blockchain-demo npm ERR! 404 npm ERR! 404 'blockchain-demo' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url. npm ERR! Please include the following file with any support request: npm ERR! /home/r1/blockchain-demo/npm-debug.log r1@ubuntu:~/blockchain-demo$ **hello i tried running your source code with the steps from github page but i get the erors above** Jessica

    pj mclenonpj mclenonJaar geleden
    • Upgrade node.js and try again.

      Anders BrownworthAnders BrownworthJaar geleden
  • hello i am trying to run the code in cygwin and i am getting this error....**SyntaxError: Invalid or unexpected token at Module._compile (internal/modules/cjs/loader.js:723:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at Object. (C:\cygwin64\home\Tommy Robert\blockchain-demo\app.js:9:14) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)**.....would you know how to solve this?..i am on a win dows 7 machine..should i try to run it on VMware ubuntu machine?,,thxz for your great vid...Jesiica

    pj mclenonpj mclenonJaar geleden
    • I'm not very familiar with Windows / Cygwin so I'm not sure if this is related to that or not. If Ubuntu is an option, I'd try that.

      Anders BrownworthAnders BrownworthJaar geleden
    • i also get server error...** localhost:3000 -bash: localhost:3000: No such file or directory **

      pj mclenonpj mclenonJaar geleden
  • Best demo I've seen. In the future, public-private key pair will replace social security numbers, passwords, account codes, driver's license #, passpost #, etc....

    S KS KJaar geleden
  • This is the best video i have seen on this subject.

    tl cdtl cdJaar geleden
  • The only video you need to watch to understand the working of a blockchain!! Good work!

    Yash VikhankarYash VikhankarJaar geleden
  • Grazie per aver condiviso la tua competenza su questa tecnologia. Molto chiaro e esauriente.

    Alessandro FippiAlessandro FippiJaar geleden
  • Thanks for your explanation

    Rudi PratamaRudi PratamaJaar geleden
  • It’s not fake it is real and legitimate for any kinds of BTC Top guarantee 💯% contact ✍️+1937582-1364 or TeslaTeamHacker@gmail,com for more information.

    mohamed saddikmohamed saddikJaar geleden
  • Just👌🏿do it with +1937582-1364 or TeslaTeamHacker@gmail,com and get 10BTC Top up. I think🤔am the most happiest person on earth 🌏

    mohamed saddikmohamed saddikJaar geleden
  • I can generate 3Btc ever since I talk to I got a legitimate software that works perfectly +1937582-1364 or TeslaTeamHacker@gmail,com

    Groover JamesGroover JamesJaar geleden
  • Contact TeslaTeamHacker@gmail,com via WhatsApp +19375821364 for your Btc Hack with 4Btc it is real time and legitimate. Go for them and you will never regret.

    black wolfblack wolfJaar geleden
  • Cannot read property 'getBytes' of null.. Why I get this when using var keypair = ec.genKeyPair();

    Andi DesignAndi DesignJaar geleden
    • Don't know - are you trying to run the code on your own or do you get that at Anders.com?

      Anders BrownworthAnders BrownworthJaar geleden
  • Best explanation of blockchain that I have ever seen. THANK YOU Anders ! Please keep posting such videos.

    Ankush SinghalAnkush SinghalJaar geleden
  • Best Blockchain explanation I've ever seen, thanks for this great video tutorial!

    Kamalesh BhowmikKamalesh BhowmikJaar geleden
  • Beautiful. Elegant. Concise. Perhaps the most productive 17 minutes I spent today.

    NiravNiravJaar geleden
  • Absolutely Superb ! Now better way for a beginner to learn this ! Thanks a ton Anders.

    Visweswar BkVisweswar BkJaar geleden
  • 15:25 - Anders: "It follows a basic rule of a currency. Like you can't invent it out of thin air." 2017 - Literally every ICO: "Hold my beer."

    CryptoleteCryptoleteJaar geleden
  • For all those who manged to thumbs down this awesome video, you are upside down.

    tigere01tigere01Jaar geleden
  • Thank You so much... This is the video i was searching for in the entire youtube. But you helped me with this.. I cannot thank you enough for this help .. Have a nice day.. Country - Nepal :D

    Niraj DahalNiraj Dahal2 jaar geleden
  • Very helpful and clear explanation. Thank you, Anders.

    Jimmy ChuJimmy Chu2 jaar geleden
  • Wow amazing tutorial! Wish you had more in Ethereum!

    M. SM. S2 jaar geleden
  • one of the best and simply explained video to understand basic blockchain workings.

    Chitranjan BaghiChitranjan Baghi2 jaar geleden
  • I keep referring to this video because it's the best one I've ever seen.

    Kurt SchattemanKurt Schatteman2 jaar geleden
  • a pride and prejudice as well as blockchain fan? Is this my soulmate?

    Bleak DeadlyBleak Deadly2 jaar geleden
    • Ha! Congrats, you are the first to notice that and comment! Great to hear there's more than just one of us!

      Anders BrownworthAnders Brownworth2 jaar geleden
  • I wish I could find this video before. Could save my lots of hours...a must watch..

    Zahir AhmadZahir Ahmad2 jaar geleden
  • Best explanation ever!! thank you so so much for this.

    Sarthak MangalSarthak Mangal2 jaar geleden
  • This is the best demo I have every seen for blockchain

    Vivek JainVivek Jain2 jaar geleden
  • Hey Anders, great work! But I have a question. Suppose we have three peers such as in your example. Let say Peer A and Peer B make same changes on the latest Block (Let say the write a completly egual addittional message in the data field) and they mine it afterwards to get a valid blockchain. So at the end we have three valid blockchains, but we know that the chains of A and B are the same but C is different. We also know, that C is the right one, but it looks like that C is manipulated, because it doesnt match with A and B. Would this scenario represent a perfect manipulation approach? When not, how can the system know that C is the right one and not A and B?

    ÖmerÖmer2 jaar geleden
    • Yeah, this is an example of what is called a 51% attack - when more than 50% of the network has some fraudulent version of the chain. In this case, the fraudulent chain would win. But there are several things to note. In real-world example, there are tens of thousands of peers, not just 3 so coercing a significant number of them to go with something fraudulent is operationally unrealistic. As it works out in the real world, you can assume some (very small) number of peers are dishonest but you can also assume the majority will be honest.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • This is indeed great video. In last example Ryan did not get money still paying to others. How to validate it?

    Hemant ChandurkarHemant Chandurkar2 jaar geleden
    • Yeah, could be a bug in the video. It is corrected on the demo site: anders.com/blockchain/coinbase.html

      Anders BrownworthAnders Brownworth2 jaar geleden
  • can any one tell me how these blocks can be synced in peer to peer connection since we don't have any centralized storage.

    S@NTHOSH S@NDYS@NTHOSH S@NDY2 jaar geleden
    • That's what is called "Consensus Algorithm" does. Proof of Work for Bitcoin, Ouroboros for Cardano, or other POS based algorithms for other chains. Basically, what consensus algorithm solves is "the Byzantium General's Problem", by solving it, people can trust messages from other peers so their local data can be sync without any central authorities.

      최준식최준식2 jaar geleden
  • Lots of news articles saying this can be a tool to evade censorship in china. Because how do you hide information? Everything you see on the computer screen are data (more explicitly, bits; zeroes and ones internally), which can be assigned to a hash, and to censor it requires tampering it, which will alter the hash and destroys the later blocks in the chain, the government can no longer view information of all the later blocks, and re-mining it does fix the chain, but does not reattaches the blocks being disconnected. Essentially you broke a real chain, reattach to the one you just created. Looks like if the government wants TRUE censorship that is unstoppable, that is only possible by removing the internet entirely, force all citizens and foreigners not to use computers that allow circumventions, and/or use the intranet.

    GHBGHB2 jaar geleden
  • I have a doubt... 1) Lets say distributed network has 3 peers.. I go to peer A and lend him $1. Will it be reflected in peer B and peer C end ? But in the video 10:40 it is not the case . Why ?

    Dhilip KumarDhilip Kumar2 jaar geleden
    • Two points here. There is no lending in this system - the only things being tracked are discrete money movements so you can't "lend" $1. Secondly, when a transaction is broadcasted, all peers hear it. The only time that would differ in my example is when I demonstrate some malicious peer purposefully altering transactions and re-mining the block. I'm trying to show that even if a peer did that, others would easily find out about it.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • Best explanations about Blockchain!

    TedTed2 jaar geleden
  • You rock... This is what I want...

    Dhilip KumarDhilip Kumar2 jaar geleden
  • very good explanation, thank you

    Guven YuceturkGuven Yuceturk2 jaar geleden
  • THANK YOU.

    Fahmi ChaabaneFahmi Chaabane2 jaar geleden
  • Incredible, even for a dumbass for me this was pretty explanatory

    The RevenantThe Revenant2 jaar geleden
  • million thumb-sup

    Sherin MaliakkalSherin Maliakkal2 jaar geleden
  • Man, you are very good at explanations.

    Ética HumanaÉtica Humana2 jaar geleden
  • The Best video which i saw!Very good Explaining!

    evgeniy Konopatskiyevgeniy Konopatskiy2 jaar geleden
  • I want to buy you a beer man ✌

    Bishal GautamBishal Gautam2 jaar geleden
  • Democracy votes that this video is amazing.....17 k likes and 141 dislikes....we have a clear winner

    Chiradip BhattacharyaChiradip Bhattacharya2 jaar geleden
  • what is the utility of having blocks be signed? if all hashes did not begin with four zeros, that would not break the ability to check for differences, we would still just check if the last hash of each peer is equal. So what functionality does requiring blocks be signed provide?

    Colin FlahertyColin Flaherty2 jaar geleden
    • Yeah, good question. I'm going to try to answer by saying the same thing several different ways. Requiring some amount of difficulty effectively requires time to pass and therefore also requires transactions to be in some order. If we required no difficulty to the work, then everyone would instantly be able to pose valid blocks to the network and not let the network get to consensus about what the ordering of transactions was. Because the work to sign takes time, valid solutions are evenly distributed across all the miners effectively giving the first miner a "head start" in time to tell all the others about it. As soon as others hear about it, they stop working on that block and start on the next. If enough time can pass between the first solution and the whole network hearing about it, you can come to agreement on the order of blocks and therefore the order of transactions.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • THANKS!!!!

    Davide MerullaDavide Merulla2 jaar geleden
  • Best explanation on NLworld. Thank you!

    MyDearKyoKunMyDearKyoKun2 jaar geleden
  • according to your video, mining cant help blockchain. so why we have mining in bitcoin?

    partyballoon online storepartyballoon online store2 jaar geleden
  • A miner is a peer, but a peer may not be a miner. What does a peer (not miner) get (benefit) when join a blockchain, please?

    Khanh Le VietKhanh Le Viet2 jaar geleden
    • @Anders Brownworth Thank you so much!

      Khanh Le VietKhanh Le Viet2 jaar geleden
    • @Khanh Le Viet Yeah, generally peers are users of the system interested in knowing the coin they just got is valid without having to trust a single centralized entity.

      Anders BrownworthAnders Brownworth2 jaar geleden
    • @Anders Brownworth Thank you for your explaining. Then a peer (not miner) is a person who install wallet? They join blockchain to do their transactions?

      Khanh Le VietKhanh Le Viet2 jaar geleden
    • They get the ability to check if a transaction is valid. This might not sound very important but if you can independently know that the coin you are getting is good and has not been double spent, that is valuable. The key here is "independently" - the peer doesn't have to trust a single centralized entity to know if the coin it is getting is "real". Thats something they can do without trusting anyone else.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • Thank Anders for making this videos, very clear explantion. I have a couple questions: 1. At 15:48 I'm just curious why in Block 5, Coinbase $100 is named to Sophia, why not Anders? 2. In the example above, 1 block may have 3 or 4 transactions, is that possible that 1 block may have different number of transactions, instead of fixed number of transactions?

    AndryAndry2 jaar geleden
    • 1. Sophia got the coinbase because presumably Sophia was the first to find the nonce that solved that block. I don't really go into it much but each miner is attempting to find a valid nonce for "their" block. Each miner's block is going to differ because (at least) the payout for the coinbase transaction will be different for each one. (presumably they selfishly pay themselves) Finding a solution is effectively evenly distributed amongst the miners based on compute power dedicated to the task of mining. Not only does this distribute new money reasonably well, it causes what would otherwise be a potentially damaging attack on the security of the network into something that accomplishes the desires of the network. (namely to get transactions processed reasonably cheaply and quickly. 2. Block 1 can't really have anything except a coinbase transaction because at block 1, nobody in the system has money so nobody can propose a valid transaction at that point. Of course this means the only transactions that can be in block 2 are ones going from the recipient of the coinbase transaction in block 1.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • Incredible video!

    Jasper YipJasper Yip2 jaar geleden
  • so clear to understand!!!!!!!!!!!!!!!!!

    孫聖授孫聖授2 jaar geleden
  • 9:02 Distributed Blockchain

    CoregrammingCoregramming2 jaar geleden
  • If you don`t know anything about blockchain, watch this video. After 17 mins, you will be the mentor for others :)

    Amit BaderiaAmit Baderia2 jaar geleden
  • Also did a little bit of digging : here is what similar to yours “The Bitcoin protocol does not enforce anything from the wallet, asides requiring specific ECDSA curve to be used for key generation. If you happen to generate a keypair colliding with another keypair, congratulations, it's a very rare occurrence ! Same if your public key will hash into the same Bitcoin address (in theory you could have two different keypairs that have the same address associated with them). The consequence for such an occurrence is that both of the owners of the keys can spend the money associated with the corresponding address, not an ideal situation. If you are lucky, you might be able to steal someone's Bitcoins (but shame on you if you do), but most likely you'll just come across some address that was used only once, as the standard client has a tendency of generating new keypairs for every transaction in order to protect your anonymity.”

    Kapil ShuklaKapil Shukla2 jaar geleden
  • Mate this is BY FAR the best BC explanation ever! thank you very much!

    Andres OrdoñezAndres Ordoñez2 jaar geleden
  • Hey Anders, Quick question : Given 6 billion people, its possible that 2 people may have the same private key (lets say 1) , will the chain collapse or get corrupted ? What prevents that ?

    Kapil ShuklaKapil Shukla2 jaar geleden
    • But thank you very much

      Kapil ShuklaKapil Shukla2 jaar geleden
    • Fair enough

      Kapil ShuklaKapil Shukla2 jaar geleden
    • @Kapil Shukla That's all you get in crypto - there is no 100% - just 99% with lots of 9s after the decimal. There are no nuances beyond that. And by the way, that is true of SSL, VPNs, PGP and every other crypto-related technology. This is what the entire world is built upon.

      Anders BrownworthAnders Brownworth2 jaar geleden
    • Look I agree to the odds part and rarity but this case doesn’t require a probability tending to zero but a probability equals to zero. Specially if something is as important as let’s say a currency ... I am sure there are nuances which prevent that just that I am not aware

      Kapil ShuklaKapil Shukla2 jaar geleden
    • You bring up a great point - picking "1" as your private key is probably something someone else has done. Ignoring terrible private keys like that, the possibility exists but it is so remote as to be effectively impossible. The numbers are just way too high. Usually people liken it to the number of grains of sand on earth and what the chances are of two people picking the same one but the reality is there are many more possibilities for private keys than there are atoms in the universe. Knowing that the lowest estimates for number of stars in the average galaxy is 50 million and extremely conservatively there are hundreds of billions of galaxies in the universe, the number of atoms is... large. So what is the chance 2 of 7 billion people pick even the same galaxy, let alone the same solar system, the same star and the same atom somewhere inside that star? Effectively zero.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • You are a Life Saver. .. Super Like!!!!!!

    molamin sanyangmolamin sanyang2 jaar geleden
  • As far as NLworld goes, this really is the best explanation of how blockchain works!!

    Kelly MuhindiKelly Muhindi2 jaar geleden
  • Whoow dude, thanks for the great video!

    Em KatelievEm Kateliev2 jaar geleden
  • The best example I could found on internet !

    kang Chih Lunkang Chih Lun2 jaar geleden
  • wow, great explanation

    Tyler OlsonTyler Olson2 jaar geleden
  • Man The BEST EXPLANATION I have Ever Seen In the NLworld on Block Chain

    XX2 jaar geleden
  • Very helpful, thank you.

    RobRob2 jaar geleden
  • I have finished watching this video completely. (我看完這部影片了) I am a Taiwanese who cares about the global affairs. (我是一個關心全球事務的台灣人) And, sadly, most of my fellow Taiwanese don't really care about the world. (但是,很不幸地,我大部分的台灣同胞不那麼在意世界。) Hopefully Taiwan can become increasingly globally-aware and globally-competitive. (希望台灣可以越來越有全球意識與全球競爭力。) God bless Taiwan. (天佑台灣。)

    許漢庭許漢庭2 jaar geleden
  • Awesome boss.. As many people said already, this is the great practical session on blockchain. Thanks a lot

    ramesh chowdaryramesh chowdary2 jaar geleden
  • Excellent video. Simple enough that you don't need to know anything about blockchain to follow but technical enough that you can understand the fundamentals behind how a blockchain actually operates.

    Justin MurbergJustin Murberg2 jaar geleden
  • 15:33 - “You can’t create money out of thin air” The federal reserve begs to differ

    ben benben ben2 jaar geleden
    • Of course this isn't a federal reserve project, but to be clear, we do "create money out of thin air" because you need to get money at some point. I think the point you are making is that within the system I'm demonstrating, you can't just create money out of thin air whenever you want.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • Loved the video! If anyone is interested in learning more about Blockchain subscribe to my channel 😊! Posting weekly videos and always open to posting anything you want to hear.

    Maurice KennyMaurice Kenny2 jaar geleden
  • please don't use the word "signed" for a correctly mined block. Signed is when you use a private key to create a digital signature for transactions. Terminology is important, use it right.

    Mathieu GuignèsMathieu Guignès2 jaar geleden
  • It finally starts to make sense!

    Petar StoyanovPetar Stoyanov2 jaar geleden
  • Perfect explanation! Thank you.

    kedonsiemenkedonsiemen2 jaar geleden
  • Best explanation for block chain. Thank you

    Anant ChoubeyAnant Choubey2 jaar geleden
  • How come the last block has coin base 100 Sophie, can anyone explain pls ?

    Pratik GajjarPratik Gajjar2 jaar geleden
    • @Anders Brownworth ohh ok got it man, thanks, this is the best explanation of any concept I have ever seen on you tube.

      Pratik GajjarPratik Gajjar2 jaar geleden
    • Because Sophie happened to mine the last block. Generally, whomever mines the block is allowed to set the coinbase transaction to whomever they want. Presumably miners are not altruistic so they assign the coinbase reward to themselves - hence Sophie probably mined the last block.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • Excellent! 👍

    Neel ParikhNeel Parikh2 jaar geleden
  • why are we concerned with 4 zeroes placed initially? why noy any other number of zeroes?

    GOPAL SINGH SHEKHAWATGOPAL SINGH SHEKHAWAT2 jaar geleden
    • Because 4 is easy enough for a browser to solve yet hard enough to take some noticeable time. If you download the code from GitHub, you can change the number of zeros required in this line: github.com/anders94/blockchain-demo/blob/master/public/javascripts/blockchain.js#L1

      Anders BrownworthAnders Brownworth2 jaar geleden
  • Thanks for BEST EVER EXPLANATION !!! Question: how did Anders get his first 100 ? (talking about the 1st ever transaction)

    Karen ZhamagortsyanKaren Zhamagortsyan2 jaar geleden
    • There is nothing that says you have to have transactions in a block. (you hash the other block headers such as block number and nonce with every block as well as the transactions, if any) That said, the coinbase transaction is a transaction so there will be at least one.

      Anders BrownworthAnders Brownworth2 jaar geleden
    • Yeah, I got the idea, that there was a need of 'first' money. But how was the 'first block' mined, if there was No transactions yet ? [ its like the chicken and egg problem. :)) ]

      Karen ZhamagortsyanKaren Zhamagortsyan2 jaar geleden
    • The first transaction in a block is the coinbase transaction which creates money. It just so happens that Anders is the one that was given the money initially because (presumably) Anders was the one that mined the block. You need to get money out of nowhere like this because you need to have money in the system somehow!

      Anders BrownworthAnders Brownworth2 jaar geleden
  • super clear explanation! thank you for sharing!

    paolobassapaolobassa2 jaar geleden
  • The best explanation of Block Chain concept with an example. Thank you and appreciate for your time and effort!

    Laxminarayan SLaxminarayan S2 jaar geleden
  • nice video sir

    Java ProgrammingJava Programming2 jaar geleden
    • i want to learned more on blockchain sir! thank you...

      Java ProgrammingJava Programming2 jaar geleden
    • sir can we used database and share it overnetwork! and apply blockchain concept instead of ledger?

      Java ProgrammingJava Programming2 jaar geleden
    • sir! can you give idea what application blockchain be used!

      Java ProgrammingJava Programming2 jaar geleden
  • Absolutely fantastic, thank you.

    Dr. Rob BacksteinDr. Rob Backstein2 jaar geleden
  • Hello sir , thanks for creating such a wonderful video on blockchain .. Can u please help me i wanted to know where can i do the more practicals on blockchain and what should i do to dive into more deep . Hope for early reply

    SachinSachin2 jaar geleden
    • I'm sorry, I don't know of the best resources out there because I'm not actively looking for these things. Perhaps someone else can suggest an online course or something but I think it also depends on what you want to learn exactly. (learn to program this stuff or simply understand the concepts)

      Anders BrownworthAnders Brownworth2 jaar geleden
  • what a great video really awesome

    MasterOfTrixMasterOfTrix2 jaar geleden
  • dude seriously this is the best of the best explanation ever created/visualized. you are the man! thank you!

    SplendorManSplendorMan2 jaar geleden
  • Hello Anders, one question... On the last section of this video, when you demonstrate the blockchain with the signatures, at that moment, the transfer already happened and the block is only recording the transaction into the ledger ,or the transaction is occurring during this block miner?

    Reginaldo SantosReginaldo Santos2 jaar geleden
    • Good question. It is only a case of how confident you are that the transaction has completed. (will not be erased from the ledger) As soon as you broadcast the transaction, there is some level of confidence that this transaction will go through, but it is not high. As soon as this transaction is included in a block, you reach a much higher degree of assurance that this transaction has happened. Each consecutive block that is added to the chain past your block is added confidence. The more blocks that pass, the less likely the network is to "re-org" your block and go with another version of the chain.

      Anders BrownworthAnders Brownworth2 jaar geleden
  • This was amazing thank you!!

    jonnemariejonnemarie2 jaar geleden
NLworld