
{"id":129853,"date":"2026-01-26T07:17:30","date_gmt":"2026-01-26T07:17:30","guid":{"rendered":"https:\/\/mycryptomania.com\/?p=129853"},"modified":"2026-01-26T07:17:30","modified_gmt":"2026-01-26T07:17:30","slug":"deep-dive-into-bitcoin-answers-to-the-questions-you-rarely-ask","status":"publish","type":"post","link":"https:\/\/mycryptomania.com\/?p=129853","title":{"rendered":"Deep Dive into Bitcoin: Answers to the Questions You Rarely Ask"},"content":{"rendered":"<p>How to hack Bitcoin? How does the blockchain calculate time? How does mining difficulty change? What happens if two miners mine a block simultaneously? Where are transactions stored before confirmation, how are fees calculated, and is it possible to send a transaction with zero fee? What types of nodes exist in the blockchain, and how do they differ? When can you use mining\u00a0rewards?<\/p>\n<p>This is roughly how I studied all the information around these\u00a0topics.<\/p>\n<p>Here I provide deeper answers to these questions because popular materials about Bitcoin either don\u2019t explain these things at all or do so very superficially. To understand this article, you need a minimal understanding of how blockchain works, which you can get here: <a href=\"https:\/\/vas3k.com\/blog\/blockchain\/%5D(https:\/\/vas3k.com\/blog\/blockchain\/).\">https:\/\/vas3k.com\/blog\/blockchain\/<\/a><\/p>\n<h3>TL;DR<\/h3>\n<p><strong>How to hack Bitcoin?<br \/><\/strong> A quantum computer will only be able to derive a private key from a public key after a transaction has been sent. If no transaction has occurred, the wallet is protected. <br \/> A 51% attack only provides the ability to cancel your own or others\u2019 transactions to double-spend your own coins; gaining control over others\u2019 coins is impossible.<strong>How does mining difficulty change?<\/strong><br \/> Difficulty is recalculated every ~2 weeks based on the mining time of the previous two\u00a0weeks.<strong>What happens if two miners mine a block at the same time?<br \/><\/strong>The chain temporarily splits until one branch becomes longer. The longer branch becomes the main\u00a0one.<strong>When can mining rewards be used? <br \/><\/strong>After 100\u00a0blocks.<strong>How does the blockchain calculate time? <br \/><\/strong>Based on the median time of the past 11 blocks and the system time of the\u00a0nodes.<strong>Where are transactions stored before confirmation, how is the fee calculated, and can you send without one?<br \/><\/strong>They\u2019re stored on nodes for no more than two weeks. A zero-fee transaction is theoretically possible but practically almost impossible to get confirmed.<strong>What nodes are in the blockchain and how do they differ?<br \/><\/strong>Full nodes\u200a\u2014\u200ahold the blockchain data and enforce the rules.<br \/>Miners\u200a\u2014\u200aquery full nodes for data and build new blocks.<br \/>Light nodes\u200a\u2014\u200aoften used in wallets on weak devices; they query full nodes for what they\u00a0need.<\/p>\n<h3>What\u2019s the point of Bitcoin (besides speculation), in plain\u00a0English<\/h3>\n<p>At the end of researching.<\/p>\n<p>Bitcoin is an alternative financial system that does not require user trust. When using traditional banks, we must trust them not to steal or lose our money, and if that happens, we must trust the state to be able to return it. We also have to hope that money won\u2019t be blocked at the whim of authorities or bank employees.<\/p>\n<p>The point of Bitcoin is the opposite: everything is tied to strict mathematics that removes the probability of all these potential problems (or drastically reduces), provided you store Bitcoin in a personal non-custodial wallet.<\/p>\n<p><strong>Non-custodial wallet<\/strong>: A wallet controlled only by whoever has the private key; essentially just a small file\/program that stores keys and signs transactions.<\/p>\n<p><strong>Custodial wallet<\/strong>: An account on an exchange that controls your assets and stores your funds in its own non-custodial wallets. This allows the exchange to block or seize your funds if you violate its rules or national laws, though the exchange offers more convenient and expanded functionality in\u00a0return.<\/p>\n<p><strong>Interesting fact<\/strong>: A Bitcoin wallet is not an object inside the blockchain, but a program that stores keys and signs transactions.<\/p>\n<p>The blockchain stores <strong>UTXOs (Unspent Transaction Outputs)<\/strong>. Each UTXO is \u201clocked\u201d by a condition (program), usually tied to an address (practically, a hash of a public\u00a0key).<\/p>\n<p>To spend a UTXO, the wallet creates a transaction referencing that UTXO as an input and adds a signature. Network nodes verify the signature and the script\u2019s execution. As a result, the old UTXO becomes spent, and the transaction creates new outputs\u200a\u2014\u200anew UTXOs for the recipients.<\/p>\n<p>A <strong>private key<\/strong> is a number. A public key can be calculated if you have the private key, but the reverse is practically impossible (how that\u2019s attacked is discussed later in the \u201cattacks\u201d section). Using a private key, you can sign data, but this signature <strong>cannot<\/strong> be forged with a public key. Meanwhile, the public key can verify that the signature was produced by the corresponding private\u00a0key.<\/p>\n<p>\u2014\u200a\u2014\u200a\u2014\u200a\u2014\u200a\u2014END-PRIVATE-KEY\u200a\u2014\u200a\u2014\u200a\u2014\u200a\u2014\u00a0\u2014<\/p>\n<p>In early versions, the wallet address was the public key. But later, addresses derived as a hash\/encoding of the key or script began to be used. This is a crucial point for the section on quantum computer\u00a0attacks.<\/p>\n<p>Once a transaction is signed, it must be embedded in a block. First, it goes into a general pool of unconfirmed transactions (<strong>mempool<\/strong>), where any miner can take it to create a\u00a0block.<\/p>\n<p>But a transaction can exist only once in the blockchain, so the network can\u2019t allow every miner to create their own block with the same set of transactions and have them all accepted.<\/p>\n<h3>Block Header<\/h3>\n<p>Each block has a header containing version data, the previous block\u2019s hash, the merkle root (hash of all transactions in the current block), time, <strong>bits<\/strong> (mining difficulty), and a\u00a0<strong>nonce<\/strong>.<\/p>\n<p>Here\u2019s an example (<a href=\"https:\/\/mempool.space\/block\/000000000000000000010538edbfd2d5b809a33dd83f284aeea41c6d0d96968a\">block 900K<\/a>)<br \/><strong>\u2022 version:<\/strong> 0x20aba000<br \/>\u2022 <strong>previous block hash<\/strong>: 0000000000000000000196400396be46d0816dc462df4c3450972f589f4d7d24<br \/><strong>\u2022 merkle root:<\/strong> 0cfb54e522b07bd1a381adc774ec1851590ef4c3add83958135106534569f970<br \/><strong>\u2022 time (unix):<\/strong> 1749188499 _(2025\u201306\u201306 06:41:39 UTC)_<br \/><strong>\u2022 bits (nBits):<\/strong> 0x17023774<br \/><strong>\u2022 nonce:<\/strong> 0x925fd07a<\/p>\n<p>All of these fields are combined and then hashed via\u00a0SHA-256.<\/p>\n<p><strong>SHA-256<\/strong> is a hashing technology: take some data and turn it into a different set of numbers that you can\u2019t convert back into the original data if you only know the hash. But you _can_ verify it, because for a fixed input X the result is always the same output Y. So knowing X gives you Y; knowing Y does not practically give you X back\u200a\u2014\u200aeven with a quantum computer.<\/p>\n<p>You can try hashing any data <a href=\"https:\/\/emn178.github.io\/online-tools\/sha256.html\">here<\/a>.<br \/>SHA-256 is also one of the core tools in the HTTPS connections we use every day, and it plays a key role in hundreds of internet protocols.<\/p>\n<p>The nonce is needed to find out whose block to record. Miners change the nonce so the header\u2019s hash is less than the <strong>target<\/strong>. In our example, the hash has 19\u00a0zeros.<\/p>\n<p>Finding such a hash is hard. It takes roughly ~10 minutes of the entire Bitcoin network\u2019s mining power. Blocks should appear roughly every 10 minutes\u200a\u2014\u200athat\u2019s how Satoshi Nakamoto designed\u00a0it.<\/p>\n<h3>Why exactly this many zeros, and how does mining difficulty change?<\/h3>\n<p>Proof of Work in real\u00a0life<\/p>\n<p>It\u2019s not actually about the zeros, but about the **target**. The target determines mining difficulty: the smaller the target, the higher the difficulty. A valid block header hash must be \u2264 the target. Because small target numbers in hexadecimal start with zeros, hashes often appear with many leading zeros (e.g., ~19 or more). The smaller the target, the rarer it is for a random hash to land below it, so mining becomes\u00a0harder.<\/p>\n<p><strong>Difficulty Calculation Hack:<\/strong> If the difficulty increases by <strong>16 times<\/strong>, the required threshold becomes <strong>16 times lower<\/strong>\u2014 often resulting in <strong>one additional leading hex-zero<\/strong>.<\/p>\n<p>Difficulty adjustments (<strong>retarget<\/strong>) occur every 2016 blocks (roughly 2 weeks, 1 block ~10 minutes). The blockchain uses a simple\u00a0formula:<\/p>\n<p><em>Target_new= target_old*T_act\/T_exp, 4Texp<\/em><\/p>\n<p><em>Target_new<\/em> = new target (new difficulty)<br \/><em>Target_old<\/em> = old target<br \/><em>T_act<\/em> = actual time it took to mine the last 2016 blocks<br \/><em>T_exp<\/em> = expected time for 2016 blocks:<em> 2016*600 seconds (10 min = 600 sec)<\/em><br \/><em>4T_exp<\/em>= The change is limited: difficulty can\u2019t shift more than 4\u00d7 either\u00a0way.<\/p>\n<p>If, since the last difficulty retarget, the network\u2019s total hash rate (the combined power of all miners) has increased over the past 2,016 blocks, then with near-certainty the average time to mine a block will decrease. That means the actual time to produce those 2,016 blocks <em>T_act<\/em> will be less than the expected time <em>T_exp<\/em>, so<em> T_act\/T_exp &lt; 1<\/em>. As a result, the new target <em>Target_new <\/em>will go down: and the lower the target, the higher the difficulty and the harder it is to\u00a0mine.<\/p>\n<h3>But what to do if two different miners mine a block at the same\u00a0time?<\/h3>\n<p>That happens,and there\u2019s a safety mechanism for\u00a0it.<\/p>\n<p>In theory, they can make practically identical blocks if the same transactions in the same order fall into each block. But blocks still won\u2019t be identical because the first transaction in every block is the coinbase (the miner reward), and it pays to the miner\u2019s address\u200a\u2014\u200aso two miners can\u2019t have the exact same block because their addresses differ.<\/p>\n<p>But it is possible that two miners almost simultaneously mine different blocks. If the delay between the creation of a block and its distribution among nodes is 2 seconds, then this means that after the creation of the first block, there is a two-second gap in which a second block can be created. The longer this time, the higher the probability, but with each year this time is reduced. The probability of creating three blocks is almost negligible, but the protection system is the\u00a0same.<\/p>\n<p>If two blocks are created, they are saved in nodes, and these two chains are passed further. Miners then choose which block to build on\u200a\u2014\u200ausually the one they saw first. And when they find the next block for one of the chains, it is distributed further and the nodes agree with it, and the shorter version is forgotten. This is the <strong>rule of the longer chain<\/strong>. Even if 2, 3, or more blocks in a row are formed in two chains, sooner or later one branch outpaces the\u00a0other.<\/p>\n<p>Transactions have 3 probable\u00a0paths:<\/p>\n<p>1. Fall into the chain that wins, then they remain in the blockchain.<br \/>2. Fall into both chains, then only the version in the winning chain remains relevant.<br \/>3. Fall into the chain that loses, then they go again into the pools of unconfirmed transactions (more on this\u00a0below).<\/p>\n<p>A few\u00a0numbers:<\/p>\n<p>Approx. probability of a fork given ~1s delay:\u00a0<strong><em>0.17%<\/em><\/strong>A second block on the same competing branch:\u00a0<strong><em>0.00028%<\/em><\/strong>Third: <strong><em>4.6*10^\u207b\u2079<\/em><\/strong>Fourth: 7.7*10<strong><em>^\u207b<\/em><\/strong>\u00b9\u00b2<\/p>\n<p>That\u2019s why exchanges don\u2019t credit your deposit after 1 confirmation. Typically they wait for <strong>6 confirmations<\/strong>\u200a\u2014\u200a~1 hour on average (6 blocks \u00d7 10 minutes).<\/p>\n<p>There is no limit to the length of the second\/third chain because they disappear quickly. Not counting these two\u00a0cases:<\/p>\n<p>Reorganization through 53 blocks due to a bug in the software (<a href=\"http:\/\/en.bitcoin.it\/wiki\/Value_overflow_incident\">source<\/a>).Another incident with reorganization through 24 blocks (source).<\/p>\n<p>And there is also the possibility of an attack through a second chain, but about this at the very\u00a0end.<\/p>\n<p>From this follows the next question:<\/p>\n<h3>Since the miner receives a reward for mining a block, what happens when two blocks are\u00a0mined?<\/h3>\n<p>Simple: a miner can spend the reward only after <strong>100\u00a0blocks<\/strong>.<\/p>\n<p>If you are a miner and mined block \u2116 1000, you will be able to use the reward for this block only starting from block \u21161100. This looks like a time-lock transaction, but technically it is not one. I will write about the time-lock technology next time, this is already turning into too much\u00a0text.<\/p>\n<p>Miners add transactions to the blockchain, receiving a fee for this. And from this follow a few more questions:<\/p>\n<h3>Where and for how long are unconfirmed transactions stored, and can a transaction with a zero fee pass in\u00a0theory?<\/h3>\n<p>The fee in Bitcoin depends not on the number of tokens sent in the transaction, but on the size of the transaction and the occupancy of the network at the given moment. After sending your transaction from a non-custodial wallet, it goes to the nearest node(s), these nodes decide based on several characteristics whether to accept your transaction or\u00a0not:<\/p>\n<p>1. Does it comply with the rules and did you not assign yourself non-existent tokens or something else?<br \/>2. Is the specified transaction fee sufficient?<\/p>\n<p>If the answer to one of these questions is no, the node will not take the transaction and it will not fall into the blockchain, and your balance will not change. It turns out that a zero fee, in most cases, will not pass into the blockchain, although theoretically a miner can include such a transaction in a block, it is extremely unlikely.<\/p>\n<p><strong>How does a node assign a\u00a0fee<\/strong>?<\/p>\n<p>The node has a certain amount of memory where it stores such unconfirmed transactions after receiving them, but until the moment they are recorded in the blockchain.<\/p>\n<p>By default, it is limited to <strong>300 MiB<\/strong> of RAM memory and <strong>336 hours<\/strong> of storage. However, if the <em>blocksonly<\/em> setting is enabled in Bitcoin-Core 25.0, the RAM memory <a href=\"https:\/\/bitcoincore.org\/en\/releases\/25.0\/?utm_source=chatgpt.com#:~:text=Setting%20-blocksonly%20will%20now%20reduce%20the%20maximum%20mempool%20memory%20to%205MB%20(users%20may%20still%20use%20-maxmempool%20to%20override).%20Previously%2C%20the%20default%20300MB%20would%20be%20used%2C%20leading%20to%20unexpected%20memory%20usage%20for%20users%20running%20with%20-blocksonly%20expecting%20it%20to%20eliminate%20mempool%20memory%20usage\">will be reduced to 5 MiB<\/a><a href=\"https:\/\/bitcoincore.org\/en\/releases\/25.0\/?utm_source=chatgpt.com#:~:text=Setting%20-blocksonly%20will%20now%20reduce%20the%20maximum%20mempool%20memory%20to%205MB%20(users%20may%20still%20use%20-maxmempool%20to%20override).%20Previously%2C%20the%20default%20300MB%20would%20be%20used%2C%20leading%20to%20unexpected%20memory%20usage%20for%20users%20running%20with%20-blocksonly%20expecting%20it%20to%20eliminate%20mempool%20memory%20usage);\">;<\/a> this is often done for validating the blockchain.<\/p>\n<p>All these data can be changed when setting up the node, but this is often not done, as for most it would be a simple waste of extra resources.<\/p>\n<p><strong>And what will happen if you send a transaction with the minimum allowable fee?<\/strong><\/p>\n<p>If the node does not throw it out after adoption due to overflow, and if miners will not take this transaction due of small fee, it will be deleted after 336 hours = 2\u00a0weeks.<\/p>\n<p>After the transaction is accepted, nodes distribute it to other nodes, and miners insert transactions with the highest fees into the\u00a0block.<\/p>\n<p>Considering the limits on transaction size of 400,000 weight units \u2248 100KB (but it could be more with SegWit, but those are already too small details). A maximum of 10 such large transactions can fit into 1 block, and \u2248 10,000 of the smallest. But on average it comes out to 2500 transactions per 1\u00a0block.<\/p>\n<p>The fee itself is calculated by the formula: <em>fee (sat) = vsize (vB) * feerate\u00a0(sat\/vB)<\/em><\/p>\n<p><em>fee<\/em> = commission.<em>vsize<\/em> = transaction size.<em>sat<\/em> = satoshi, in one Bitcoin there are 100,000,000 satoshis.<em>vB<\/em> = Virtual\u00a0Byte.<\/p>\n<p>Your wallet can find out the minimum feerate from the nodes, but this is the lower boundary of whether the transaction will be distributed, not a guarantee of its confirmation. To estimate how much you need to pay now, wallets use mempool statistics and confirmation history.<\/p>\n<p>An average transaction weighs <strong>150vB<\/strong>; if at the given moment the average <em>sat\/vB<\/em> = 2, then the transaction will cost 300 sat. And it will cost\u00a0$0.27.<\/p>\n<p>For example, for this transaction of 45,177 BTC (several billion $), the fee was less than\u00a0$1.<\/p>\n<p>The highest <em>sat\/vB<\/em> was in April 2024 during the halving and was from 1795 to 2751 <em>sat\/vB<\/em> (<a href=\"https:\/\/news.bitcoin.com\/after-halving-event-bitcoin-transaction-fees-soar-to-over-240\">source<\/a>). On that day, an average transaction would have already cost from $160 to $245, depending on how quickly it needed to be processed.<\/p>\n<p>The busier the network, the higher <em>sat\/vB<\/em>. If you want your transaction to get confirmed faster, you set <em>sat\/vB<\/em> above the current\u00a0average.<\/p>\n<p>Nodes define the fee as: <em>fee = sum(inputs)\u200a\u2014\u200asum(outputs)<\/em>, then they look at the transaction size to check if it fits their internal policies.<\/p>\n<p>Don\u2019t forget about UTXO: if over time you received 10 separate incoming transactions, and now you want to send the entire balance in one transaction, the blockchain sees that as 10 inputs\u200a\u2014\u200ameaning the transaction is larger and therefore more expensive.<\/p>\n<p>To save on fees in the future, it is useful to sometimes do \u201c<strong>consolidation<\/strong>\u201d\u200a\u2014\u200asending yourself all small remnants in one transaction when the network is calm and <em>sat\/vB<\/em> is\u00a0minimal.<\/p>\n<p>Returning to the first topic and the block header, the following question may\u00a0arise:<\/p>\n<h3>How does the blockchain know that ~10 minutes passed, and that miners aren\u2019t\u00a0lying?<\/h3>\n<p>The blockchain receives information about the time from miners and nodes (nodes that store information but do not mine) in UTC\u00a0format.<\/p>\n<p>Miners write the time in the block header. Nodes have their own clocks and verify the median time received from other\u00a0nodes.<\/p>\n<p>Bitcoin is a closed system, so the blockchain cannot connect to ntp.org to check if the miners are writing the truth in the block header and the nodes or\u00a0not.<\/p>\n<p><strong>How can the blockchain check if the nodes and especially the miners aren\u2019t\u00a0lying?<\/strong><\/p>\n<p>For this, there is <strong>MTP\u200a\u2014\u200aMedian Time\u00a0Past<\/strong>.<\/p>\n<p>Median Time Past is easier to understand than Past\u00a0Simple.<\/p>\n<p><strong>Not the average, but precisely the\u00a0median.<\/strong><\/p>\n<p>It is calculated from the last 11 blocks arranged in order. For\u00a0example:<\/p>\n<p><em>18, 2, 12000 (<\/em><strong><em>liar<\/em><\/strong><em>), 14, 6, 20, 10, 4, 16, 12,\u00a08<\/em><\/p>\n<p>If we take the average value, then we need to sum all these numbers and divide by 11, we get 1100. Because of the liar who put 12000, everything has changed a\u00a0lot.<\/p>\n<p>But if we take the median, then first we arrange them in\u00a0order:<\/p>\n<p><em>2, 4, 6, 8, 10, <\/em><strong><em>12<\/em><\/strong><em>, 14, 16, 18, 20, 12000\u00a0(liar)<\/em><\/p>\n<p>And we take the value from the middle, that is, <strong>12<\/strong>. This is how MTP is calculated.<\/p>\n<p>The time of a new block is always greater than the MTP; otherwise, the block will not be accepted by other miners\/nodes and will not be inserted into the blockchain.<\/p>\n<p>But if someone wants to go to the future, at what time gap should blocks be rejected?<\/p>\n<p>What will affect my future more, 10 push-ups or this\u00a0article?<\/p>\n<p>In the past Bitcoin used NAT\u200a\u2014\u200a<strong>Network Adjusted Time<\/strong> (time adjusted by the network), which compared median time from peers. Later NAT was removed as a consensus component.<\/p>\n<p>Now nodes use their own system <strong>UTC<\/strong> time to check how far \u201cinto the future\u201d a new block is. If a block\u2019s timestamp is more than <strong>2 hours ahead<\/strong> of a node\u2019s local time, that node rejects\u00a0it.<\/p>\n<p>If some node\u2019s time differs significantly from other nodes, then NAT warns about it\u200a\u2014\u200athat\u2019s basically the only remaining use.<\/p>\n<p>Miners and other nodes, how do they differ and why are they\u00a0needed?<\/p>\n<p>There are 3 main types of nodes in Bitcoin: a full node with two variations (archival and pruned), a light node, and a\u00a0miner.<\/p>\n<p>The other nodes are superstructures on top of these three pillars of the blockchain.<\/p>\n<p><strong>Full archival node:<\/strong> a server that has all the information about the blockchain for all time. Validates or rejects blocks in accordance with the rules of the blockchain.<strong>Full pruned node:<\/strong> also checks blocks but does not store all data, only the UTXO and part of the last\u00a0blocks.<strong>Relay node:<\/strong> a superstructure on top of a full node, which is connected to other nodes with a large number of peers for fast distribution of information. Like torrent\u00a0seeders.<strong>Light node:<\/strong> stores only block headers to check their hashes. For transactions, it ask information from full node. Great for phone wallets or weak devices where storing dozens\/hundreds of GB is inconvenient.<strong>Miner<\/strong>: takes information from a full node or is one; based on this information, searches for a nonce to produce a valid block, then broadcasts it to the\u00a0network.<\/p>\n<p>If you need a non-custodial wallet on a PC, then perhaps a full pruned node for this would be the best option. You can choose the one you need here: <a href=\"https:\/\/bitcoin.org\/en\/choose-your-wallet?step=1%5D(https:\/\/bitcoin.org\/en\/choose-your-wallet?step=1)\">bitcoin.org\/en\/choose-your-wallet?step=1<\/a><\/p>\n<h3>How to hack\u00a0Bitcoin?<\/h3>\n<p>There are many possible attack vectors. If I described all of them, the article would be longer than it already is. But someday I will write. For now, let\u2019s briefly look at two hack variants that are often talked\u00a0about.<\/p>\n<h4>Quantum Computer VS\u00a0Bitcoin<\/h4>\n<p>A quantum computer could derive a private key from a public key\u200a\u2014\u200abut there\u2019s already partial protection. If you\u2019ve never spent from your address, your wallet is protected because outsiders see only the <strong>hash of your public key<\/strong>, not the public key\u00a0itself.<\/p>\n<p>Even with a quantum computer, it is practically impossible to brute-force the hash of a public key. But after the first outgoing transaction, the public key becomes visible to everyone. Therefore, to protect against quantum attacks, you should use addresses once.<\/p>\n<p>However, there\u2019s still a possible \u201cinterception\u201d scenario: if a quantum computer could, after you broadcast a transaction but before it\u2019s confirmed, derive your private key from your revealed public key\u200a\u2014\u200ait would have very little time, but that\u2019s the\u00a0idea.<\/p>\n<p>But there are wallets (outputs) of old formats, where the public key is visible immediately, and such wallets can be hacked even if there was not a single transaction from\u00a0them.<\/p>\n<p>And there are also many \u201clost\u201d wallets; transactions were made from some, but that was many years ago. And with the help of quantum computers, coins from these wallets will probably fall back into circulation and possibly crash the Bitcoin price. But let\u2019s leave these speculations to analysts who were perfectly described by one satirical channel:<\/p>\n<p>\u201dLast week\u2019s target for Bitcoin at 34 thousand dollars has been revised and now stands at 240 thousand.\u201d<\/p>\n<p>So, a quantum computer will not destroy Bitcoin in this\u00a0way.<\/p>\n<p>But they are already thinking about creating a reusable quantum-protected wallet. This will require a <strong>soft-fork<\/strong> (change of rules), which has been done more than\u00a0once.<\/p>\n<p>A couple of texts on this topic: <a href=\"https:\/\/en.bitcoin.it\/wiki\/BIP_0347\">BIP 0347<\/a> and <a href=\"https:\/\/bip360.org\/bip360.html\">BIP\u00a0360<\/a>.<\/p>\n<h4>51% Attack<\/h4>\n<p>If 1 person has more than 51% of the mining power, it will be easy for him to create a second chain of blocks as he wants. In this case, he will be able to cancel transactions and rewrite the history of his spending.<\/p>\n<p>But even in this case, he will not be able in any way to steal someone else\u2019s coins that were never on his wallet. The older the transactions that need to be rewritten, the longer and harder it will be, and there is no 100% guarantee that it will work and he will be able to make his chain longer and faster than the other\u00a049%.<\/p>\n<p>Such an attack is possible even with 30% and 40%, but the probability is much\u00a0lower.<\/p>\n<p><strong>How much money will be needed for such an attack?<\/strong><br \/>If we attack from scratch, then we essentially have to have a power 0.5% more than the entire power of Bitcoin miners. The hashrate today is <a href=\"https:\/\/www.coinwarz.com\/mining\/bitcoin\/hashrate-chart\">approximately 1 ZH\/s<\/a> = <em>1,000,000,000,000,000,000,000<\/em> SHA-256 hash findings per\u00a0second.<\/p>\n<p>Modern ASICs (mining devices) have a power of approximately <em>200 TH\/s<\/em>, meaning <em>5,000,000<\/em> of them will be needed. Their efficiency is \u2248 <em>17\u201320 J\/TH<\/em>. Multiply by <em>10\u2079<\/em> and you get 17\u201320 GW. A bit less than the power of the largest hydroelectric dam in the\u00a0world.<\/p>\n<p>To this, we add the prices for the ASICs themselves, which comes out to \u2248 $7.5 billion. Not counting extra infrastructure which will also be very expensive.<\/p>\n<p>Even all these costs will lead at most to double spending of own coins in the blockchain and censorship of transactions. And even then, it will be visible to everyone and the price will probably crash and the game will not be worth the\u00a0candle.<\/p>\n<p>If you are interested in diving deeper into WEB 3.0 technologies, <a href=\"https:\/\/x.com\/Paolo3Web\">subscribe to my X (<\/a><a href=\"https:\/\/x.com\/Paolo3Web\">x.com\/Paolo3Web<\/a>) <a href=\"https:\/\/x.com\/Paolo3Web\">where there will be more content<\/a>, far from always so long, but no less interesting.<\/p>\n<p><a href=\"https:\/\/medium.com\/coinmonks\/deep-dive-into-bitcoin-answers-to-the-questions-you-rarely-ask-f8ded5aeae47\">Deep Dive into Bitcoin: Answers to the Questions You Rarely Ask<\/a> was originally published in <a href=\"https:\/\/medium.com\/coinmonks\">Coinmonks<\/a> on Medium, where people are continuing the conversation by highlighting and responding to this story.<\/p>","protected":false},"excerpt":{"rendered":"<p>How to hack Bitcoin? How does the blockchain calculate time? How does mining difficulty change? What happens if two miners mine a block simultaneously? Where are transactions stored before confirmation, how are fees calculated, and is it possible to send a transaction with zero fee? What types of nodes exist in the blockchain, and how [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":129854,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-129853","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interesting"],"_links":{"self":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/posts\/129853"}],"collection":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=129853"}],"version-history":[{"count":0,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/posts\/129853\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/media\/129854"}],"wp:attachment":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=129853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=129853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=129853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}