title
Bitcoin Mining Fundamentals in Python | Python Bitcoin Tutorial
description
Learn the fundamentals of Bitcoin mining in Python. We will write code to understand the mining concepts, this will not do the actual Bitcoin mining but give you an understanding of how crypto mining works.
Easy explanation of what is bitcoin: https://youtu.be/qHlpvKjA-lk
Video in Hindi: https://www.youtube.com/watch?v=WmE8xjUN6qo
🤝 Support my youtube channel by buying a data science, coding 👕 T-shirt: https://kaaipo.com/collections/coding-collection/?utm_source=youtube&utm_medium=post&utm_campaign=codebasics-community
How does one redeem bitcoin reward after producing correct hash? : https://www.youtube.com/watch?v=QAsZgzLPaWU
Code: https://github.com/codebasics/cool_python_apps/blob/main/2_bitcoin_mining/bitcoin_mining.py
Cool python apps playlist: https://www.youtube.com/playlist?list=PLeo1K3hjS3uuvV8o4jZlHymFIE8CoZgDS
#bitcoin #cryptocurrencies
⭐️ Timestamps ⭐️
00:00 Introduction
00:19 Theory
09:21 Coding
Do you want to learn technology from me? Check https://codebasics.io/?utm_source=description&utm_medium=yt&utm_campaign=description&utm_id=description for my affordable video courses.
🌎 My Website For Video Courses: https://codebasics.io/?utm_source=description&utm_medium=yt&utm_campaign=description&utm_id=description
Need help building software or data analytics and AI solutions? My company https://www.atliq.com/ can help. Click on the Contact button on that website.
#️⃣ Social Media #️⃣
🔗 Discord: https://discord.gg/r42Kbuk
📸 Dhaval's Personal Instagram: https://www.instagram.com/dhavalsays/
📸 Instagram: https://www.instagram.com/codebasicshub/
🔊 Facebook: https://www.facebook.com/codebasicshub
📱 Twitter: https://twitter.com/codebasicshub
📝 Linkedin: https://www.linkedin.com/company/codebasics/
❗❗ DISCLAIMER: All opinions expressed in this video are of my own and not that of my employers'.
detail
{'title': 'Bitcoin Mining Fundamentals in Python | Python Bitcoin Tutorial', 'heatmap': [{'end': 288.803, 'start': 270.243, 'weight': 1}, {'end': 578.941, 'start': 546.861, 'weight': 0.932}], 'summary': 'Learn bitcoin mining fundamentals in python, covering blockchain theory, sha-256 encryption, and python code for mining with a reward of 6.25 bitcoins worth $28,000, including challenges, time measurements, and the evolution of bitcoin mining from 50 to 6.25 bitcoins.', 'chapters': [{'end': 150.01, 'segs': [{'end': 49.366, 'src': 'embed', 'start': 22.285, 'weight': 1, 'content': [{'end': 25.848, 'text': 'What is a ledger? I have given you an example of a ledger here.', 'start': 22.285, 'duration': 3.563}, {'end': 27.589, 'text': 'It is set of transactions.', 'start': 26.368, 'duration': 1.221}, {'end': 29.691, 'text': "Let's say you go to a grocery store.", 'start': 28.27, 'duration': 1.421}, {'end': 34.034, 'text': 'You buy vegetables for $15.', 'start': 30.031, 'duration': 4.003}, {'end': 46.564, 'text': "So the ledger entry will be you are paying the vegetable owner $15 and then vegetable guy, let's say, go to a doctor and he pays money for, let's say,", 'start': 34.034, 'duration': 12.53}, {'end': 47.145, 'text': 'some medicine.', 'start': 46.564, 'duration': 0.581}, {'end': 49.366, 'text': "let's say he pays ten dollar.", 'start': 47.825, 'duration': 1.541}], 'summary': 'A ledger records transactions, e.g. $15 for vegetables and $10 for medicine.', 'duration': 27.081, 'max_score': 22.285, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk22285.jpg'}, {'end': 99.425, 'src': 'embed', 'start': 70.979, 'weight': 0, 'content': [{'end': 73.461, 'text': 'at the end you have your account balance.', 'start': 70.979, 'duration': 2.482}, {'end': 75.322, 'text': "so that's all that bitcoin is.", 'start': 73.461, 'duration': 1.861}, {'end': 81.935, 'text': 'So here I have shown you a sample ledger and this ledger might have millions of transactions.', 'start': 76.232, 'duration': 5.703}, {'end': 89.42, 'text': 'So in Bitcoin world, the Bitcoin ledger stores all transactions that has happened since Bitcoin was invented.', 'start': 82.215, 'duration': 7.205}, {'end': 91.241, 'text': 'So that will be millions of transactions.', 'start': 89.62, 'duration': 1.621}, {'end': 99.425, 'text': 'So you need to store them in blocks because storing them continuously in one continuous memory location is not possible.', 'start': 91.701, 'duration': 7.724}], 'summary': 'Bitcoin ledger stores millions of transactions in blocks to manage account balance.', 'duration': 28.446, 'max_score': 70.979, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk70979.jpg'}, {'end': 150.01, 'src': 'embed', 'start': 117.937, 'weight': 2, 'content': [{'end': 122.5, 'text': 'size of bitcoin is one megabyte.', 'start': 117.937, 'duration': 4.563}, {'end': 130.845, 'text': 'so in one megabyte you store some transaction, then you move to next block for further transaction, And these blocks are linked together.', 'start': 122.5, 'duration': 8.345}, {'end': 141.988, 'text': 'Now, Bitcoin protocol has some security mechanism to avoid fraud for which we need to go a little into cryptography.', 'start': 131.845, 'duration': 10.143}, {'end': 150.01, 'text': "So what is cryptography and what is cryptographic hash function? So let's look at that.", 'start': 142.648, 'duration': 7.362}], 'summary': 'Bitcoin uses one megabyte blocks for transactions and employs cryptography for security measures.', 'duration': 32.073, 'max_score': 117.937, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk117937.jpg'}], 'start': 0.209, 'title': 'Bitcoin mining in python', 'summary': 'Covers the theory behind blockchain, the concept of a ledger, and the process of storing transactions in blocks, with a focus on creating a bitcoin mining code in python in less than 15 lines of code.', 'chapters': [{'end': 150.01, 'start': 0.209, 'title': 'Bitcoin mining in python', 'summary': 'Covers the theory behind blockchain, the concept of a ledger, and the process of storing transactions in blocks, with a focus on creating a bitcoin mining code in python in less than 15 lines of code.', 'duration': 149.801, 'highlights': ['Bitcoin ledger stores all transactions since its invention, amounting to millions of transactions. The Bitcoin ledger stores all transactions that have occurred since Bitcoin was invented, amounting to millions of transactions.', 'Explanation of how transactions are stored in blocks, with the size of a Bitcoin block being one megabyte. The transcript explains how transactions are stored in blocks, highlighting the size of a Bitcoin block as one megabyte.', 'Overview of the concept of a ledger and its similarity to a bank account, emphasizing it as a set of transactions culminating in an account balance. The concept of a ledger is explained, drawing parallels to a bank account and emphasizing it as a set of transactions culminating in an account balance.']}], 'duration': 149.801, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk209.jpg', 'highlights': ['Bitcoin ledger stores all transactions since its invention, amounting to millions of transactions.', 'Overview of the concept of a ledger and its similarity to a bank account, emphasizing it as a set of transactions culminating in an account balance.', 'Explanation of how transactions are stored in blocks, with the size of a Bitcoin block being one megabyte.']}, {'end': 495.079, 'segs': [{'end': 237.914, 'src': 'embed', 'start': 207.135, 'weight': 0, 'content': [{'end': 210.618, 'text': 'You know, if you know about hash function, this is just a hash function.', 'start': 207.135, 'duration': 3.483}, {'end': 214.262, 'text': 'It will generate a hash which is 256 bit long.', 'start': 211.199, 'duration': 3.063}, {'end': 219.807, 'text': 'In terms of hexadecimal, it will be 64 hexadecimal digits.', 'start': 215.082, 'duration': 4.725}, {'end': 223.608, 'text': 'This is impossible to guess.', 'start': 221.647, 'duration': 1.961}, {'end': 229.37, 'text': "If I give you this kind of hash to make a guess on x, it's close to impossible.", 'start': 224.028, 'duration': 5.342}, {'end': 232.612, 'text': 'The only way you have is you trial and error.', 'start': 229.79, 'duration': 2.822}, {'end': 237.914, 'text': 'You try different strings and try to see, you know, which one produces the desired output.', 'start': 233.372, 'duration': 4.542}], 'summary': 'Hash function generates a 256-bit long hash, making guessing close to impossible.', 'duration': 30.779, 'max_score': 207.135, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk207135.jpg'}, {'end': 295.688, 'src': 'heatmap', 'start': 253.226, 'weight': 2, 'content': [{'end': 257.73, 'text': "When you change any character, let's say you change C to D, the whole hash will change.", 'start': 253.226, 'duration': 4.504}, {'end': 259.512, 'text': 'So you cannot make any guess.', 'start': 258.271, 'duration': 1.241}, {'end': 260.632, 'text': "It's like totally random.", 'start': 259.572, 'duration': 1.06}, {'end': 268.181, 'text': 'But every time you call SHA-256 on ABD, it will produce the same output.', 'start': 261.534, 'duration': 6.647}, {'end': 269.762, 'text': 'So that way it is deterministic.', 'start': 268.321, 'duration': 1.441}, {'end': 273.426, 'text': 'But guessing it the other way is very very difficult.', 'start': 270.243, 'duration': 3.183}, {'end': 276.333, 'text': 'Here is simple Python code.', 'start': 274.912, 'duration': 1.421}, {'end': 282.838, 'text': 'You write only three lines of Python code to produce SHA of any string.', 'start': 277.034, 'duration': 5.804}, {'end': 288.803, 'text': 'And SHA-256 is a cryptographic hash function for the reason we already discussed.', 'start': 283.499, 'duration': 5.304}, {'end': 295.688, 'text': 'So in Bitcoin or in a blockchain, the actual block is not only a transaction.', 'start': 289.343, 'duration': 6.345}], 'summary': "Sha-256 is deterministic, producing the same output for the same input, making guessing very difficult. it's used in bitcoin and blockchain for cryptographic hashing.", 'duration': 42.462, 'max_score': 253.226, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk253226.jpg'}, {'end': 327.869, 'src': 'embed', 'start': 298.73, 'weight': 5, 'content': [{'end': 310.357, 'text': 'so it has block number, it has the previous hash and then the bitcoin protocol is such that you convert this whole block into a string.', 'start': 298.73, 'duration': 11.627}, {'end': 313.439, 'text': "so let's say you take block number transaction, previous hash,", 'start': 310.357, 'duration': 3.082}, {'end': 321.244, 'text': 'you make it a string and you supply that string to sha256 function and that will produce a hash.', 'start': 313.439, 'duration': 7.805}, {'end': 325.687, 'text': 'now the protocol requires that first few digits of this hash should be zero.', 'start': 321.244, 'duration': 4.443}, {'end': 327.869, 'text': 'How many digits??', 'start': 327.188, 'duration': 0.681}], 'summary': 'Bitcoin protocol requires first few digits of hash to be zero', 'duration': 29.139, 'max_score': 298.73, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk298730.jpg'}, {'end': 495.079, 'src': 'embed', 'start': 434.686, 'weight': 4, 'content': [{'end': 438.408, 'text': 'And all these miners, they are not doing any rocket science.', 'start': 434.686, 'duration': 3.722}, {'end': 440.429, 'text': "They're not doing any algorithmic work, guys.", 'start': 438.428, 'duration': 2.001}, {'end': 444.231, 'text': 'You can also do Bitcoin mining.', 'start': 441.349, 'duration': 2.882}, {'end': 446.913, 'text': "We'll write the code right now after this theory session.", 'start': 444.351, 'duration': 2.562}, {'end': 456.278, 'text': "It's very simple for loop where you are trying different nones and trying to figure out a hash where first X number of digits are.", 'start': 447.513, 'duration': 8.765}, {'end': 463.028, 'text': 'zero So for doing Bitcoin mining these miners get a reward.', 'start': 456.838, 'duration': 6.19}, {'end': 465.832, 'text': 'In 2009 if you mine one block you will get 50 bitcoins.', 'start': 463.168, 'duration': 2.664}, {'end': 470.835, 'text': 'every four years, the reward gets half.', 'start': 467.572, 'duration': 3.263}, {'end': 473.357, 'text': 'so right now, in 2020, the reward is 6.25.', 'start': 470.835, 'duration': 2.522}, {'end': 477.52, 'text': "okay, in 2024 it will be half of this, and bitcoin's value today is 28 000.", 'start': 473.357, 'duration': 4.163}, {'end': 479.181, 'text': 'so you would think, oh, 28 into 6 000.', 'start': 477.52, 'duration': 1.661}, {'end': 481.463, 'text': 'this is so much money.', 'start': 479.181, 'duration': 2.282}, {'end': 491.597, 'text': 'anyone can do it and you are right.', 'start': 489.375, 'duration': 2.222}, {'end': 495.079, 'text': 'there are thousands of people who are doing bitcoin mining.', 'start': 491.597, 'duration': 3.482}], 'summary': 'Bitcoin mining rewards halve every four years; 2020 reward is 6.25 bitcoins, value at 28,000. simple process, thousands are mining.', 'duration': 60.393, 'max_score': 434.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk434686.jpg'}], 'start': 151.13, 'title': 'Cryptographic hash functions and bitcoin mining', 'summary': 'Discusses the ease of guessing inputs based on outputs in certain functions, and the difficulty in cryptographic hash functions like sha256, along with an explanation of bitcoin mining using sha-256, with the current reward for mining standing at 6.25 bitcoins worth $28,000.', 'chapters': [{'end': 276.333, 'start': 151.13, 'title': 'Guessing inputs based on outputs and cryptographic hash functions', 'summary': 'Discusses the ease of guessing inputs based on outputs in certain functions, such as a simple mathematical function, and the difficulty of guessing inputs based on outputs in cryptographic hash functions like sha256, which generates a 256-bit hash that is close to impossible to guess, requiring trial and error.', 'duration': 125.203, 'highlights': ['The SHA256 function generates a 256-bit hash, which is equivalent to 64 hexadecimal digits, making it close to impossible to guess (quantifiable: 256-bit hash, 64 hexadecimal digits).', 'In contrast to simple functions where guessing inputs based on outputs is easy, guessing inputs based on SHA256 outputs is close to impossible, with the only method being trial and error (quantifiable: difficulty level comparison between simple functions and SHA256).', "Changing any character in the input string for SHA256, such as changing 'C' to 'D', results in a completely different hash, making it impossible to guess (quantifiable: impact of changing input character on hash).", 'The deterministic nature of SHA256 ensures that calling the function with the same input produces the same output, but guessing the input based on the output remains very difficult (quantifiable: deterministic nature of SHA256).']}, {'end': 495.079, 'start': 277.034, 'title': 'Bitcoin mining and sha-256', 'summary': 'Explains bitcoin mining using sha-256, where miners use a simple for loop to guess nonces and produce a hash with a specified number of leading zeros, with the reward for mining halving every four years and currently standing at 6.25 bitcoins worth $28,000.', 'duration': 218.045, 'highlights': ['Bitcoin mining involves using a for loop to guess nonces and produce a hash with a specified number of leading zeros, with the reward for mining halving every four years. reward halving every four years', 'SHA-256 is used in Bitcoin or in a blockchain to convert a block into a string and produce a hash, with the protocol requiring the hash to have a specified number of leading zeros, currently set at 30 digits. protocol requiring hash to have 30 leading zeros', 'In 2009, mining one block would yield 50 bitcoins, with the reward halving every four years and currently standing at 6.25 bitcoins, which, at a value of $28,000 per bitcoin, makes it an attractive prospect for miners. reward of 6.25 bitcoins worth $28,000 in 2020']}], 'duration': 343.949, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk151130.jpg', 'highlights': ['The SHA256 function generates a 256-bit hash, equivalent to 64 hexadecimal digits.', 'Guessing inputs based on SHA256 outputs is close to impossible, with the only method being trial and error.', 'Changing any character in the input string for SHA256 results in a completely different hash, making it impossible to guess.', 'The deterministic nature of SHA256 ensures that calling the function with the same input produces the same output, but guessing the input based on the output remains very difficult.', 'Bitcoin mining involves using a for loop to guess nonces and produce a hash with a specified number of leading zeros, with the reward for mining halving every four years.', 'SHA-256 is used in Bitcoin or in a blockchain to convert a block into a string and produce a hash, with the protocol requiring the hash to have a specified number of leading zeros, currently set at 30 digits.', 'In 2009, mining one block would yield 50 bitcoins, with the reward halving every four years and currently standing at 6.25 bitcoins, which, at a value of $28,000 per bitcoin, makes it an attractive prospect for miners.']}, {'end': 677.793, 'segs': [{'end': 546.861, 'src': 'embed', 'start': 495.079, 'weight': 0, 'content': [{'end': 497.34, 'text': 'but the thing is this guess work.', 'start': 495.079, 'duration': 2.261}, {'end': 499.022, 'text': "it seems easy, but we'll see in the code.", 'start': 497.34, 'duration': 1.682}, {'end': 500.222, 'text': "it's very, it's.", 'start': 499.022, 'duration': 1.2}, {'end': 501.203, 'text': "it's very time consuming.", 'start': 500.222, 'duration': 0.981}, {'end': 503.244, 'text': "it's not difficult, algorithm wise.", 'start': 501.203, 'duration': 2.041}, {'end': 513.03, 'text': 'the code is simple, but it takes a lot of computation power, electricity to get to the right guess, and if 10 people are doing guess,', 'start': 503.244, 'duration': 9.786}, {'end': 518.335, 'text': 'whoever makes the correct guess first, that person will win the reward.', 'start': 513.03, 'duration': 5.305}, {'end': 520.365, 'text': "Let's say I make a guess.", 'start': 519.485, 'duration': 0.88}, {'end': 522.606, 'text': 'After 10 minutes, other person is making guess.', 'start': 520.645, 'duration': 1.961}, {'end': 524.347, 'text': "That person doesn't get a reward.", 'start': 523.067, 'duration': 1.28}, {'end': 526.248, 'text': "So that's the theory.", 'start': 524.567, 'duration': 1.681}, {'end': 534.652, 'text': 'In the end, the blockchain looks like this where every block will have a reference to previous hash.', 'start': 527.309, 'duration': 7.343}, {'end': 537.293, 'text': 'So you see this block 2 has this previous hash.', 'start': 535.012, 'duration': 2.281}, {'end': 537.613, 'text': 'You see 003A.', 'start': 537.313, 'duration': 0.3}, {'end': 546.861, 'text': 'and as more and more transaction gets added, this blockchain becomes more and more longer.', 'start': 540.615, 'duration': 6.246}], 'summary': 'Guess work for blockchain requires computation power and electricity. reward for first correct guess. blockchain grows with more transactions.', 'duration': 51.782, 'max_score': 495.079, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk495079.jpg'}, {'end': 578.941, 'src': 'heatmap', 'start': 546.861, 'weight': 0.932, 'content': [{'end': 555.068, 'text': "it's like a chain, so more and more blocks get added and people who are miners who are making this nonce.", 'start': 546.861, 'duration': 8.207}, {'end': 559.792, 'text': 'so again, just to repeat, all you are doing is making a guess on this nonce.', 'start': 555.068, 'duration': 4.724}, {'end': 561.614, 'text': "so let's get into coding now.", 'start': 559.792, 'duration': 1.822}, {'end': 574.156, 'text': 'I have opened my PyCharm Community Edition and I have created this file where I have imported hashlib module so that I can use SHA-256 function.', 'start': 563.504, 'duration': 10.652}, {'end': 578.941, 'text': "Now I'll go into my Zen meditation mode so that there are no distractions.", 'start': 574.176, 'duration': 4.765}], 'summary': 'The transcript discusses adding blocks in a chain and making a guess on a nonce for coding using hashlib module in pycharm community edition.', 'duration': 32.08, 'max_score': 546.861, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk546861.jpg'}, {'end': 641.07, 'src': 'embed', 'start': 609.689, 'weight': 3, 'content': [{'end': 618.136, 'text': 'actually you need to encode the actual string you know into ascii and that will give you sha 256 object.', 'start': 609.689, 'duration': 8.447}, {'end': 628.345, 'text': 'now, if you want to get the actual hash out of it, then what you need to do is you need to say dot, hex, digest.', 'start': 618.136, 'duration': 10.209}, {'end': 634.004, 'text': 'okay, so that will give you the actual 256 bit.', 'start': 628.345, 'duration': 5.659}, {'end': 641.07, 'text': 'so if you count this digits, it is 64, but this is hexadecimal and each hexadecimal digit is 4 bit.', 'start': 634.004, 'duration': 7.066}], 'summary': 'Encoding string into ascii gives sha-256 object, 64-bit hexadecimal digest.', 'duration': 31.381, 'max_score': 609.689, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk609689.jpg'}], 'start': 495.079, 'title': 'Blockchain and python sha-256 encryption', 'summary': 'Covers blockchain and mining basics, explaining the computation power and electricity involved in mining, along with the process of python sha-256 encryption, resulting in a 256-bit or 64-bit hexadecimal output.', 'chapters': [{'end': 574.156, 'start': 495.079, 'title': 'Blockchain and mining basics', 'summary': 'Discusses the concept of blockchain and mining, where miners make guesses to find the correct nonce, requiring significant computation power and electricity, with the first correct guess winning the reward, and the blockchain forming a chain with references to previous hashes.', 'duration': 79.077, 'highlights': ['Miners make guesses to find the correct nonce, with the first correct guess winning the reward, leading to significant computation power and electricity consumption.', 'The blockchain forms a chain with references to previous hashes, becoming longer as more transactions are added.', 'The process of guessing on the nonce is not algorithmically difficult, but it is time-consuming and requires a lot of computation power and electricity.']}, {'end': 677.793, 'start': 574.176, 'title': 'Python sha-256 encryption', 'summary': 'Covers the process of using the sha-256 function in python, including encoding a random string into ascii, obtaining the actual hash, and creating a utility function for sha256 text encryption, resulting in a 256-bit or 64-bit hexadecimal output.', 'duration': 103.617, 'highlights': ['The process of using the SHA-256 function in Python involves encoding a random string into ASCII and obtaining the actual 256-bit hash.', 'The SHA-256 function results in a 256-bit or 64-bit hexadecimal output, with each hexadecimal digit representing 4 bits.']}], 'duration': 182.714, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk495079.jpg', 'highlights': ['The blockchain forms a chain with references to previous hashes, becoming longer as more transactions are added.', 'Miners make guesses to find the correct nonce, with the first correct guess winning the reward, leading to significant computation power and electricity consumption.', 'The process of guessing on the nonce is not algorithmically difficult, but it is time-consuming and requires a lot of computation power and electricity.', 'The process of using the SHA-256 function in Python involves encoding a random string into ASCII and obtaining the actual 256-bit hash.', 'The SHA-256 function results in a 256-bit or 64-bit hexadecimal output, with each hexadecimal digit representing 4 bits.']}, {'end': 1033.238, 'segs': [{'end': 808.298, 'src': 'embed', 'start': 677.793, 'weight': 0, 'content': [{'end': 689.978, 'text': 'so this is my main Python entry point and I will try to call 256 star 256 function and looks like this is working fine.', 'start': 677.793, 'duration': 12.185}, {'end': 693.342, 'text': 'now what we need to do here is in order to do mining.', 'start': 689.978, 'duration': 3.364}, {'end': 694.964, 'text': 'first we need to have transactions.', 'start': 693.342, 'duration': 1.622}, {'end': 697.927, 'text': "so let's create some dummy transactions.", 'start': 694.964, 'duration': 2.963}, {'end': 707.169, 'text': "so let's say my transactions are, let's say, dowell is giving bovin with my brother,", 'start': 697.927, 'duration': 9.242}, {'end': 717.617, 'text': "let's say 20 bitcoin and mandalorian is giving cara his friend 45 bitcoin.", 'start': 707.169, 'duration': 10.448}, {'end': 727.945, 'text': 'okay, and i need to now write a function called mine which will take this transactions.', 'start': 717.617, 'duration': 10.328}, {'end': 736.352, 'text': 'so You know, the mining function will take transaction and couple of more parameters and generate a new hash.', 'start': 727.945, 'duration': 8.407}, {'end': 738.473, 'text': 'And this is the hash.', 'start': 737.393, 'duration': 1.08}, {'end': 740.313, 'text': 'That we want.', 'start': 739.693, 'duration': 0.62}, {'end': 743.814, 'text': 'So I will print that new hash here.', 'start': 741.474, 'duration': 2.34}, {'end': 755.437, 'text': "OK Alright, now other than transactions, what are the input parameters of mining function? Well, let's go back to our function and see.", 'start': 744.814, 'duration': 10.623}, {'end': 761.969, 'text': "In our, sorry, let's go back to our presentation, that's what I mean.", 'start': 756.986, 'duration': 4.983}, {'end': 775.281, 'text': 'So, in our presentation, we saw that the hash is nothing but a SHA-256 call on this whole string.', 'start': 762.349, 'duration': 12.932}, {'end': 776.582, 'text': 'so what is this whole string?', 'start': 775.281, 'duration': 1.301}, {'end': 787.912, 'text': 'it has couple of things it has block number, it has transactions, it has previous hash and nonce is something which you are just guessing okay.', 'start': 776.582, 'duration': 11.33}, {'end': 792.384, 'text': 'so these are the Parameters that our function need.', 'start': 787.912, 'duration': 4.472}, {'end': 793.885, 'text': 'so I will pass all these parameters.', 'start': 792.384, 'duration': 1.501}, {'end': 797.709, 'text': 'I only also have Prefix zeros.', 'start': 794.186, 'duration': 3.523}, {'end': 808.298, 'text': 'so in our presentation with prefix zeros, therefore, in real life right now with Bitcoin, the number of zeros are actually 20,', 'start': 797.709, 'duration': 10.589}], 'summary': 'Python script mines transactions, generates hash with sha-256, and requires parameters including block number, transactions, previous hash, nonce, and prefix zeros.', 'duration': 130.505, 'max_score': 677.793, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk677793.jpg'}, {'end': 974.323, 'src': 'embed', 'start': 939.391, 'weight': 4, 'content': [{'end': 946.703, 'text': 'I mean, you can have literally like infinite loop up to you, but I will restrict it to some some big number.', 'start': 939.391, 'duration': 7.312}, {'end': 951.091, 'text': 'And for that.', 'start': 949.187, 'duration': 1.904}, {'end': 958.698, 'text': 'run a for loop where you are trying different nonce and trying to produce new hash.', 'start': 953.917, 'duration': 4.781}, {'end': 964.12, 'text': 'Now new hash should have first four digits as zero.', 'start': 959.059, 'duration': 5.061}, {'end': 969.802, 'text': "How do you check that? Well, see here I'm passing prefix zero as four.", 'start': 964.56, 'duration': 5.242}, {'end': 974.323, 'text': "Okay So in, so I'm going to open idle.", 'start': 970.102, 'duration': 4.221}], 'summary': 'For loop to find hash with first four digits as zero, using prefix zero as four.', 'duration': 34.932, 'max_score': 939.391, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk939391.jpg'}, {'end': 1033.238, 'src': 'embed', 'start': 1001.246, 'weight': 5, 'content': [{'end': 1010.616, 'text': "so i want to check if, uh, this string starts with first four, zero, It doesn't start, so it says false.", 'start': 1001.246, 'duration': 9.37}, {'end': 1015.758, 'text': 'Now, how do I start? How do I check for zero? So I have seen this function.', 'start': 1010.816, 'duration': 4.942}, {'end': 1016.778, 'text': "I'm supplying a number.", 'start': 1015.798, 'duration': 0.98}, {'end': 1021.6, 'text': 'So from number four I want to get string four.', 'start': 1017.378, 'duration': 4.222}, {'end': 1022.801, 'text': 'So there is easy way.', 'start': 1021.96, 'duration': 0.841}, {'end': 1029.576, 'text': 'you will say 0, multiplied by 4, and that will give you the prefix.', 'start': 1023.852, 'duration': 5.724}, {'end': 1033.238, 'text': "you see, it's a simple python string operation.", 'start': 1029.576, 'duration': 3.662}], 'summary': 'Exploring string operations in python, such as checking prefixes and using multiplication for extraction.', 'duration': 31.992, 'max_score': 1001.246, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1001246.jpg'}], 'start': 677.793, 'title': 'Python mining function & input parameters', 'summary': 'Discusses the creation of a python entry point for mining, where 256 transactions are generated, and explains the input parameters of a mining function, including block number, transactions, previous hash, prefix zeros, and nonce, with a demonstration of producing a sha-256 hash with the first four digits as zero and the use of a for loop to find the correct nonce.', 'chapters': [{'end': 743.814, 'start': 677.793, 'title': 'Python mining function & transaction generation', 'summary': 'Discusses the creation of a python entry point for mining, where 256 transactions are generated and a new hash is printed as the output.', 'duration': 66.021, 'highlights': ['Creation of a Python entry point for mining The main Python entry point is established for mining, allowing the generation of transactions and new hash calculation.', 'Generation of dummy transactions Two dummy transactions are created, involving the transfer of 20 bitcoins from dowell to bovin and 45 bitcoins from mandalorian to cara.', 'Printing of new hash A new hash is generated and printed as the desired output of the mining function.']}, {'end': 1033.238, 'start': 744.814, 'title': 'Mining function input parameters', 'summary': 'Explains the input parameters of a mining function, including block number, transactions, previous hash, prefix zeros, and nonce, with a demonstration of producing a sha-256 hash with the first four digits as zero and the use of a for loop to find the correct nonce.', 'duration': 288.424, 'highlights': ['The mining function input parameters include block number, transactions, previous hash, prefix zeros, and nonce, with a demonstration of producing a SHA-256 hash with the first four digits as zero. The input parameters of the mining function consist of block number, transactions, previous hash, prefix zeros, and nonce, which are used to produce a SHA-256 hash with the first four digits as zero.', 'Demonstration of using a for loop to find the correct nonce for producing a new hash with the first four digits as zero. The use of a for loop is demonstrated to find the correct nonce for producing a new hash with the first four digits as zero, illustrating the process of iteratively trying different nonces to achieve the desired outcome.', "Explanation of using the 'starts with' function in Python to check for the first four digits of a hash and the method for generating the prefix zeros using a simple Python string operation. The chapter explains the utilization of the 'starts with' function in Python to check for the first four digits of a hash and demonstrates the generation of prefix zeros using a simple Python string operation."]}], 'duration': 355.445, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk677793.jpg', 'highlights': ['Creation of a Python entry point for mining The main Python entry point is established for mining, allowing the generation of transactions and new hash calculation.', 'Generation of dummy transactions Two dummy transactions are created, involving the transfer of 20 bitcoins from dowell to bovin and 45 bitcoins from mandalorian to cara.', 'Printing of new hash A new hash is generated and printed as the desired output of the mining function.', 'The mining function input parameters include block number, transactions, previous hash, prefix zeros, and nonce, with a demonstration of producing a SHA-256 hash with the first four digits as zero.', 'Demonstration of using a for loop to find the correct nonce for producing a new hash with the first four digits as zero. The use of a for loop is demonstrated to find the correct nonce for producing a new hash with the first four digits as zero, illustrating the process of iteratively trying different nonces to achieve the desired outcome.', "Explanation of using the 'starts with' function in Python to check for the first four digits of a hash and the method for generating the prefix zeros using a simple Python string operation. The chapter explains the utilization of the 'starts with' function in Python to check for the first four digits of a hash and demonstrates the generation of prefix zeros using a simple Python string operation."]}, {'end': 1308.173, 'segs': [{'end': 1106.608, 'src': 'embed', 'start': 1076.651, 'weight': 0, 'content': [{'end': 1085.912, 'text': 'okay, i mined the block and earned 6.5 bitcoin after iterating this for loop for so many times okay,', 'start': 1076.651, 'duration': 9.261}, {'end': 1095.099, 'text': "this is my nonce and after iterating this for a long time, even if you don't get anything, then you can raise an exception.", 'start': 1085.912, 'duration': 9.187}, {'end': 1106.608, 'text': 'normally, as i said, you will run an infinite loop until you get an answer, or you run a for loop until you exhaust your computation budget.', 'start': 1095.099, 'duration': 11.509}], 'summary': 'Mined 6.5 bitcoin after iterating loop, using nonce to exhaust computation budget.', 'duration': 29.957, 'max_score': 1076.651, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1076651.jpg'}, {'end': 1186.219, 'src': 'embed', 'start': 1135.007, 'weight': 1, 'content': [{'end': 1142.633, 'text': 'So it was able to run the for loop 2425 times and found the hash which has first four digits zero.', 'start': 1135.007, 'duration': 7.626}, {'end': 1151.401, 'text': 'The moment you increase the hash size, the difficulty size, it will take long time.', 'start': 1143.516, 'duration': 7.885}, {'end': 1153.442, 'text': "It's gonna take long, long time.", 'start': 1151.921, 'duration': 1.521}, {'end': 1161.067, 'text': "So I'm going to add a code to measure the time it takes to mine a given block.", 'start': 1154.343, 'duration': 6.724}, {'end': 1165.008, 'text': "OK, so see it took some time, but I don't know how much time.", 'start': 1161.787, 'duration': 3.221}, {'end': 1167.67, 'text': "So let's add some timer code again.", 'start': 1165.048, 'duration': 2.622}, {'end': 1173.192, 'text': "I'm going to do some copy paste work to save over time so you can import time module in Python.", 'start': 1167.71, 'duration': 5.482}, {'end': 1182.096, 'text': "When you say time dot time it gives you current time OK and then you do your mining and after you're done with your mining.", 'start': 1174.032, 'duration': 8.064}, {'end': 1186.219, 'text': 'you find out the total time by doing this.', 'start': 1182.697, 'duration': 3.522}], 'summary': 'For loop ran 2425 times to find hash with first 4 zeros, increasing hash size increases mining time. added code to measure mining time.', 'duration': 51.212, 'max_score': 1135.007, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1135007.jpg'}, {'end': 1308.173, 'src': 'embed', 'start': 1247.418, 'weight': 4, 'content': [{'end': 1254.107, 'text': 'so if i change this to 20 and run the code, it might take even one year to mine this Bitcoin.', 'start': 1247.418, 'duration': 6.689}, {'end': 1256.809, 'text': "You understand? It's very difficult.", 'start': 1254.688, 'duration': 2.121}, {'end': 1263.374, 'text': 'So Bitcoin mining requires special hardware.', 'start': 1257.269, 'duration': 6.105}, {'end': 1266.256, 'text': 'So let me just do Google and show you some of the things.', 'start': 1263.414, 'duration': 2.842}, {'end': 1271.34, 'text': 'So if you do Google Bitcoin mining hardware, you will find this kind of special devices.', 'start': 1266.356, 'duration': 4.984}, {'end': 1275.203, 'text': 'These are like, you know, special ASIC machines.', 'start': 1271.48, 'duration': 3.723}, {'end': 1280.533, 'text': 'which people have, which bitcoin miners keep.', 'start': 1276.531, 'duration': 4.002}, {'end': 1290.639, 'text': 'they have like data centers where they keep not one such machine but hundreds of such machine and they try to make this guess faster.', 'start': 1280.533, 'duration': 10.106}, {'end': 1295.041, 'text': "it's like who can guess this faster and who is lucky.", 'start': 1290.639, 'duration': 4.402}, {'end': 1300.484, 'text': "so let's say i guess it and after five minute, if you guess it, you don't get a chance, you lose.", 'start': 1295.041, 'duration': 5.443}, {'end': 1308.173, 'text': 'Whoever comes first in the guessing game wins that Bitcoin.', 'start': 1301.288, 'duration': 6.885}], 'summary': 'Bitcoin mining requires special hardware like asic machines, with miners using data centers housing hundreds of such machines to guess and win bitcoin.', 'duration': 60.755, 'max_score': 1247.418, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1247418.jpg'}], 'start': 1033.238, 'title': 'Bitcoin mining process and challenges', 'summary': 'Covers the process of mining a block, earning 6.5 bitcoin, handling exceptions, and measures the time taken to mine a block. it also discusses using the time module in python to measure the time taken for mining, which took 12 seconds, and highlights the difficulty of bitcoin mining with the current difficulty level at 20, requiring special hardware and data centers with hundreds of machines.', 'chapters': [{'end': 1167.67, 'start': 1033.238, 'title': 'Mining bitcoin: code and reward', 'summary': 'Discusses the process of mining a block by iterating through a for loop, earning 6.5 bitcoin and handling exceptions, and measures the time taken to mine a block.', 'duration': 134.432, 'highlights': ['The mining process resulted in earning 6.5 bitcoin after iterating through the for loop multiple times.', 'The code was able to run the for loop 2425 times and found the hash with the first four digits as zero.', 'Handling exceptions, such as raising an exception when the computation becomes unprofitable due to high electricity and hardware costs, was discussed.', 'The chapter also includes the importance of measuring the time taken to mine a block and adding timer code for the same.']}, {'end': 1220.838, 'start': 1167.71, 'title': 'Python time module for mining', 'summary': 'Discusses using the time module in python to measure the time taken for mining, where the process took 12 seconds and highlights the nature of bitcoin mining as guesswork.', 'duration': 53.128, 'highlights': ['The process of mining using the time module in Python took 12 seconds to complete.', 'Bitcoin mining is described as guesswork.']}, {'end': 1308.173, 'start': 1221.038, 'title': 'Bitcoin mining challenges', 'summary': 'Discusses the difficulty of bitcoin mining, where the current difficulty level of bitcoin mining is 20, making it very difficult and requiring special hardware, such as special asic machines, with miners having data centers with hundreds of such machines to guess faster and win bitcoins.', 'duration': 87.135, 'highlights': ['Bitcoin mining difficulty level is currently set at 20, making it very challenging and time-consuming to mine Bitcoins, possibly taking up to one year.', 'Bitcoin mining requires special hardware, such as special ASIC machines, and miners have data centers with hundreds of such machines to guess faster and win Bitcoins.', 'Miners compete to make the fastest guess in the mining process, and the first successful guess wins the Bitcoin reward.']}], 'duration': 274.935, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1033238.jpg', 'highlights': ['Earning 6.5 bitcoin after iterating through the for loop multiple times', 'Running the for loop 2425 times and finding the hash with the first four digits as zero', 'Importance of measuring the time taken to mine a block and adding timer code for the same', 'Process of mining using the time module in Python took 12 seconds to complete', 'Bitcoin mining difficulty level is currently set at 20, making it very challenging and time-consuming to mine Bitcoins', 'Bitcoin mining requires special hardware, such as special ASIC machines, and miners have data centers with hundreds of such machines to guess faster and win Bitcoins', 'Miners compete to make the fastest guess in the mining process, and the first successful guess wins the Bitcoin reward']}, {'end': 1499.292, 'segs': [{'end': 1398.338, 'src': 'embed', 'start': 1308.573, 'weight': 0, 'content': [{'end': 1313.717, 'text': 'So now let me show you some of the actual Bitcoin block.', 'start': 1308.573, 'duration': 5.144}, {'end': 1321.602, 'text': 'So when you do Google Bitcoin Explorer, you will find this website where you can see the real Bitcoin blocks.', 'start': 1314.077, 'duration': 7.525}, {'end': 1323.604, 'text': 'These are all the blocks.', 'start': 1322.703, 'duration': 0.901}, {'end': 1326.726, 'text': 'So now let me click on this block.', 'start': 1324.344, 'duration': 2.382}, {'end': 1331.212, 'text': 'the height means which block.', 'start': 1328.47, 'duration': 2.742}, {'end': 1334.114, 'text': "so it's like block one, two, three, four.", 'start': 1331.212, 'duration': 2.902}, {'end': 1335.755, 'text': 'bitcoin has been trading for so many years.', 'start': 1334.114, 'duration': 1.641}, {'end': 1339.278, 'text': 'so right now it is 664 000 block.', 'start': 1335.755, 'duration': 3.523}, {'end': 1341.019, 'text': 'now look at this hash.', 'start': 1339.278, 'duration': 1.741}, {'end': 1343.101, 'text': 'so this is the difficulty level i was talking.', 'start': 1341.019, 'duration': 2.082}, {'end': 1345.963, 'text': 'this is 20 zeros.', 'start': 1343.101, 'duration': 2.862}, {'end': 1349.946, 'text': 'so right now, bitcoin difficulty level is 20 zeros.', 'start': 1345.963, 'duration': 3.983}, {'end': 1357.912, 'text': 'if you google bitcoin block one or bitcoin genesis block, you will find the first block ever that was created.', 'start': 1349.946, 'duration': 7.966}, {'end': 1362.536, 'text': 'This was created by Satoshi, Satoshi Nakamoto, who invented Bitcoin.', 'start': 1358.253, 'duration': 4.283}, {'end': 1367.16, 'text': 'At that time, the number of zeros were only eight.', 'start': 1363.717, 'duration': 3.443}, {'end': 1368.842, 'text': 'So it was not very difficult.', 'start': 1367.461, 'duration': 1.381}, {'end': 1372.105, 'text': 'And at that time you will get 50 Bitcoin as a reward.', 'start': 1369.322, 'duration': 2.783}, {'end': 1376.348, 'text': 'Now Bitcoin value in dollar was very less at that time.', 'start': 1372.565, 'duration': 3.783}, {'end': 1379.872, 'text': 'Right now, the reward you get is 6.25 Bitcoin.', 'start': 1377.149, 'duration': 2.723}, {'end': 1389.572, 'text': "But Bitcoin's value is close to $28,000 as of 2nd January 2020.", 'start': 1382.406, 'duration': 7.166}, {'end': 1395.736, 'text': 'So you see why people have so much hardware, so much resources for doing mining.', 'start': 1389.572, 'duration': 6.164}, {'end': 1398.338, 'text': "So that's all the code I had.", 'start': 1396.257, 'duration': 2.081}], 'summary': 'Bitcoin has 664,000 blocks with a difficulty level of 20 zeros. the reward is now 6.25 bitcoin, valued at $28,000 as of january 2, 2020.', 'duration': 89.765, 'max_score': 1308.573, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1308573.jpg'}], 'start': 1308.573, 'title': 'Bitcoin block exploration and mining overview', 'summary': 'Introduces bitcoin block exploration with a difficulty level of 20 zeros and highlights the first block created by satoshi nakamoto. it also discusses bitcoin mining, emphasizing the initial reward of 50 bitcoins, the decrease to 6.25 bitcoins, and the current value of bitcoin at $28,000 as of 2nd january 2020, along with the significant hardware and resources required for mining.', 'chapters': [{'end': 1367.16, 'start': 1308.573, 'title': 'Bitcoin block exploration', 'summary': 'Introduces the bitcoin block exploration, showcasing the real bitcoin blocks and highlighting the current difficulty level of 20 zeros, with the first block created by satoshi nakamoto having only eight zeros.', 'duration': 58.587, 'highlights': ['The current Bitcoin difficulty level is 20 zeros, indicating the complexity of the mining process.', 'The first Bitcoin block created by Satoshi Nakamoto had only eight zeros, signifying the initial level of difficulty in mining.', 'The total number of Bitcoin blocks at present is 664,000, demonstrating the extensive history and blockchain growth of Bitcoin.', 'The process of exploring Bitcoin blocks can be facilitated by using the Bitcoin Explorer website, providing access to real-time block information.']}, {'end': 1499.292, 'start': 1367.461, 'title': 'Bitcoin mining overview', 'summary': 'Discusses the process of bitcoin mining, highlighting the initial reward of 50 bitcoins, the decrease to 6.25 bitcoins, and the current value of bitcoin at $28,000 as of 2nd january 2020, emphasizing the significant hardware and resources required, as well as the simplicity of the mining code, but the real challenge lying in the computation and guessing involved.', 'duration': 131.831, 'highlights': ["Bitcoin's initial reward was 50 bitcoins, which has now decreased to 6.25 bitcoins.", 'The value of bitcoin reached close to $28,000 as of 2nd January 2020.', 'Bitcoin mining requires significant hardware and resources for computation.', 'The mining code is simple, requiring less than 15 lines, but the real difficulty lies in the computational aspect and making the right guess.', 'The process of bitcoin mining is challenging due to the computation involved, despite the simplicity of the mining code.']}], 'duration': 190.719, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ZhnJ1bkIWWk/pics/ZhnJ1bkIWWk1308573.jpg', 'highlights': ['The value of bitcoin reached close to $28,000 as of 2nd January 2020.', 'The current Bitcoin difficulty level is 20 zeros, indicating the complexity of the mining process.', 'The first Bitcoin block created by Satoshi Nakamoto had only eight zeros, signifying the initial level of difficulty in mining.', "Bitcoin's initial reward was 50 bitcoins, which has now decreased to 6.25 bitcoins.", 'The total number of Bitcoin blocks at present is 664,000, demonstrating the extensive history and blockchain growth of Bitcoin.']}], 'highlights': ['Bitcoin mining involves using a for loop to guess nonces and produce a hash with a specified number of leading zeros, with the reward for mining halving every four years.', 'The SHA256 function generates a 256-bit hash, equivalent to 64 hexadecimal digits.', 'The blockchain forms a chain with references to previous hashes, becoming longer as more transactions are added.', 'The process of guessing on the nonce is not algorithmically difficult, but it is time-consuming and requires a lot of computation power and electricity.', 'The value of bitcoin reached close to $28,000 as of 2nd January 2020.', 'Bitcoin mining difficulty level is currently set at 20, making it very challenging and time-consuming to mine Bitcoins', 'Miners compete to make the fastest guess in the mining process, and the first successful guess wins the Bitcoin reward', 'The current Bitcoin difficulty level is 20 zeros, indicating the complexity of the mining process.', 'The first Bitcoin block created by Satoshi Nakamoto had only eight zeros, signifying the initial level of difficulty in mining.', "Bitcoin's initial reward was 50 bitcoins, which has now decreased to 6.25 bitcoins."]}