While organizing my Crypto materials recently, I came across this article by Zhang Yang. It’s possibly the best plain-language explanation of Bitcoin’s principles and mechanisms ever written, so I’m reposting it here to share.
This article is intended as a popular science piece. It uses analogies to explain Bitcoin’s fundamental principles without delving into the granular details of algorithms and protocols.
The article presents a fictional village called “Bitcoin Village” and tells a story, step by step, explaining Bitcoin’s motivation, the problems it solves, and the objectives and design of its key components.
Bitcoin Village and the Barter System
Once upon a time, there was a small village called Bitcoin Village, home to a few hundred households. The village was virtually isolated from the outside world, living a self-sufficient existence. Without large-scale trade, the villagers had always relied on barter — Old Zhang would trade a sack of flour for one of Old Li’s sheep, and Mrs. Wang would swap a basket of wild fruit for two feet of Mrs. Liu’s cloth. The villagers had been living this simple life all along.

Commodity Money
One day, the villagers decided that barter was just too inconvenient, so the entire village gathered for a meeting to discuss how to solve this problem. Someone proposed using something easily divisible and rare — gold, for example — as a medium of exchange. They would create a conversion table mapping goods to gold: one gram of gold equals one sheep, one gram of gold equals one sack of flour, and so on. Now Old Zhang no longer had to lug a heavy sack of flour all the way to Old Li’s house to trade for a sheep. He could simply pull out a gram of gold, head to Old Li’s, and lead a sheep home. Old Li could then use that gram of gold to buy a sack of flour from anyone willing to sell, or trade it for anything else of equivalent value.
Thus Bitcoin Village entered the era of commodity money.

Symbolic Money
But it didn’t last. Before long, the drawbacks of commodity money became apparent. Gold mines near Bitcoin Village were scarce, and mining and smelting gold was extremely time-consuming and labor-intensive. Meanwhile, gold was constantly being lost to wear, misplacement, or deliberate hoarding. The villagers gathered once again to brainstorm a solution. Someone said, “We don’t actually need to use real gold. Just take any piece of paper, write ‘one gram of gold’ on it, and as long as everyone in the village agrees that this piece of paper equals one gram of gold, problem solved.” Everyone nodded in agreement, but a new issue immediately arose: real gold requires mining and smelting, mines are limited, and the process costs time and resources — no one can conjure vast quantities of gold out of thin air. But writing on paper? As long as you have enough paper and ink, you can write as much as you want. It would devolve into a contest of who has more paper at home — before you know it, ten thousand sheets might buy you just one sheep (this is, in fact, what economics calls inflation).
Good point, everyone thought. But then someone proposed a solution: these notes would only be valid if written by the village elder — a man of great respect whose handwriting everyone recognized. The elder would write out a number of notes and distribute them to each household based on their gold reserves. For example, if Old Zhang had two hundred grams of gold, the elder would issue him two hundred notes, each reading “one gram of gold,” and take Old Zhang’s gold as collateral. In this way, the elder collected all the village’s gold and issued equivalent paper notes. The villagers could now use these notes as currency, and since everyone recognized the elder’s handwriting, no one else could forge them. If anyone’s notes became too worn, they could exchange them for fresh ones at the elder’s house. Furthermore, the elder promised that anyone wishing to convert back to real gold need only return the notes and receive the equivalent amount. Since the gold amount recorded on the notes matched the actual gold stored at the elder’s house, as long as the strict principle of “destroy old notes, issue new ones” was followed, every valid note could always be redeemed for its corresponding amount of real gold.
Thus Bitcoin Village entered the era of symbolic money (paper currency). The village elder assumed the roles of both government and bank.

Centralized Virtual Currency
A few more years passed. The village elder, exhausted from the daily grind of verifying old notes, writing new ones, and meticulously maintaining all the records, eventually worked himself to death.
Bitcoin Village convened another general assembly to discuss what to do. The elder’s son, Ergouzi (literally “Second Doggy”), volunteered to take up his father’s pen and shoulder the responsibility of currency issuance. This young village leader was clever. After a few days of work, he realized he didn’t actually need to write all those paper notes. He could simply do this: have the villagers turn in all their paper notes, destroy them, and instead record each household’s balance in a ledger. From then on, if someone wanted to make a payment — say Old Zhang wanted to pay Old Li one gram of gold for a sheep — the two would simply call Ergouzi, explain the transaction, and Ergouzi would open his ledger, verify that Old Zhang had at least one gram of gold on record, subtract one gram from Old Zhang’s account, and add one gram to Old Li’s. Transaction complete. Upon hearing Ergouzi’s confirmation over the phone, Old Li could confidently let Old Zhang take the sheep.
Thus Bitcoin Village entered the era of centralized virtual currency. No villager needed to make physical payments anymore; the payment process became nothing more than number changes in the ledger maintained by Ergouzi.

Distributed Virtual Currency
Ergouzi was clever, but sometimes too clever for his own good. One day, staring at the ledger, he thought: “The entire village’s wealth is whatever I say it is — couldn’t I just…” On impulse, he secretly transferred ten grams of gold from Old Zhang’s account to his own.
He thought it was the perfect crime, but Old Zhang happened to keep his own records. One day, when Old Zhang tried to make a payment, Ergouzi told him his account was empty. Old Zhang checked his own books — he clearly still had ten grams — and went to confront Ergouzi. The discrepancy revealed the unauthorized transfer.
The scandal broke wide open. Ergouzi’s impeachment was inevitable, but the incident also exposed a fundamental flaw in having the ledger concentrated in one person’s hands:
- The entire system depends on the personal integrity of the ledger keeper. If this person breaks the rules and arbitrarily alters the ledger, the entire monetary system collapses.
- If this person’s house catches fire or the ledger is stolen, it would be equally devastating to the entire system.
Just as everyone was at a loss, a reclusive scientist in the village named Satoshi Nakamoto took the stage. He told everyone he had designed a virtual currency system called Bitcoin that didn’t rely on any central authority, and it could solve all the problems above. Then he calmly laid out his plan.
Let’s see how Satoshi designed this system.
Infrastructure Setup
Satoshi first announced that the existing ledger system would need the following modifications:
- The ledger would no longer record each villager’s balance. Instead, it would only record individual transactions — specifically, the payer, payee, and amount of each transaction. As long as the ledger’s initial state is established and every transaction record is reliable and time-ordered, each person’s current balance can be calculated.
- The ledger would change from private to public. Any villager who wanted it could obtain the complete current ledger, containing every transaction record from the ledger’s creation to the present.
The moment he said this, the crowd erupted. The first point was fine, but the second was nearly unacceptable — the ledger records every villager’s transactions, wouldn’t this expose everyone’s privacy?
Satoshi remained calm and produced a pair of peculiar objects.
Identity and Signature Mechanism (Public Key Cryptography)
Satoshi told everyone not to panic. Under his system, no one would transact using their real identity. Instead, each person would use a unique pseudonym.
He showed the two items in his hands, calling them the “secret stamp” and the “stamp scanner.” He would give every household one of each. Their functions:
- The secret stamp can imprint a mark on paper. Each stamp’s imprint contains a string of characters unique to the entire village, but invisible to the naked eye. Nor can the stamp be reverse-engineered by examining its imprint.
- The stamp scanner can scan a stamped mark, read the hidden information, and display a string of characters on its LCD screen.
With these two ingenious devices, villagers could transact without revealing their true identities, and the hidden character string would serve as each household’s pseudonym. The precise mechanism for using stamps and scanners in transactions is detailed below.
Establishing a Virtual Mining Organization (Mining Groups)
Next, Satoshi recruited virtual miners from across the village. The requirements:
- Miners work in groups; a group can be a single household or several households combined.
- Being a miner doesn’t affect normal currency usage.
- Miners must dedicate some time each day to Bitcoin “mining” activities, but unlike gold mining, virtual miners don’t need to go into the field with tools — they can work from home.
- Miners have a certain probability of earning a reward; the more effort put into mining, the higher the probability.
- Miners can quit at any time, and new miners can join at any time.
Before long, about one-fifth of the villagers joined the mining organization, forming seven groups.
Creating the Initial Ledger (Genesis Block)
Next, Satoshi announced that based on Ergouzi’s ledger, all collateralized gold would be returned to each villager according to the recorded balances. Ergouzi’s ledger would then be permanently destroyed.
Satoshi then produced a new ledger. On the first page, he recorded several transactions. Notably, the “payer” column for all these entries read “System,” while the payees were the hidden character strings corresponding to each household’s stamp — representing the system’s initial allocation of a small number of bitcoins to each household. The amounts were very small, just a few coins each, and some unlucky households didn’t receive any at all.
Satoshi then said: since there are very few bitcoins in circulation right now, everyone can go back to using gold as currency for the time being. Since I’m not the village leader, I have no authority to force anyone to accept Bitcoin — everyone can decide for themselves. But as bitcoins flow through transactions and mining activity continues, the supply will gradually increase.
Payment and Transactions
After all this groundwork, we finally arrive at the main event: how payments work in this system. Let’s use Old Zhang paying Old Li 10 bitcoins as an example.
The Payer Signs the Transaction Slip
To pay 10 bitcoins, Old Zhang first asks Old Li for his identifier string — say “ABCDEFG.” Old Zhang’s own identifier is, say, “HIJKLMN.” Old Zhang writes a slip reading “HIJKLMN pays 10 bitcoins to ABCDEFG,” stamps it with his secret stamp, and hands the slip to Old Li. Additionally, to facilitate tracing the origin of these funds, the slip must note where this money came from and which ledger page recorded the source transaction. In this case, Old Zhang’s 10 bitcoins came from the system’s initial allocation, recorded on the ledger’s first page.

The Payee Verifies the Signer
Upon receiving the slip, Old Li needs to confirm it was indeed signed by “HIJKLMN” (i.e., Old Zhang). This isn’t difficult. The slip must bear a secret stamp. Old Li takes out his stamp scanner, scans the stamp, and if the characters displayed on the LCD match the payer’s identifier (in this case, “HIJKLMN”), the signature is confirmed. Thanks to the secret stamp mechanism, no one else can forge a stamp, and anyone can verify whether the signer matches the stated payer simply by scanning.
The Payee Confirms the Payer’s Balance
So far, the system still has a problem. Through the secret stamp, the payee can confirm the payer indeed signed the slip, but cannot independently verify whether the payer has sufficient funds. In the previous centralized system, Ergouzi was responsible for checking balances and notifying payees whether transactions were valid. Now that Ergouzi’s been fired, who handles accounting and transaction validation?
As mentioned earlier, Satoshi designed this as a distributed currency system that doesn’t rely on any central figure. The entity that ultimately bears this responsibility is the mining organization mentioned previously. Old Zhang, Old Li, and every other villager using Bitcoin for transactions all depend on the miners’ work to complete their transactions.
The Miners’ Work
The miners’ work is the core of the entire system and also its most complex part. Let’s walk through their tasks and objectives step by step.
Mining Tools
As the saying goes, “A craftsman must first sharpen his tools.” While Bitcoin miners don’t need pickaxes, shovels, or headlamps, they do need some essential equipment.
Initial ledger. Each group first makes their own copy of the initial ledger, which has only one page recording the system’s first allocation.
Blank ledger pages. Each group has a supply of blank ledger pages. Each page contains only the ledger structure with no content filled in — the rules for writing content are described below. Here’s what a blank ledger page looks like; the meaning of each field will be explained later.

Code generator (hash function). Satoshi also distributed several code generators to each mining group. This device is remarkable: insert a completed ledger page and the machine automatically prints a 256-character string of "0"s and "1"s in the “This Page’s ID” field. The truly magical properties of the code generator are:
- The generated ID depends solely on the content written on the ledger page — it’s independent of who wrote it, the handwriting style, the time of writing, and other factors.
- Ledger pages with identical content always produce the same ID, but changing even a single character produces a completely different ID.
- When printing an ID, the code generator also requires all transaction slips referenced on the page to be inserted. The machine scans for consistency between the transaction slips and the written entries, especially the secret stamps. If any stamp doesn’t match its stated payer, the machine refuses to print.
- When a pre-printed ledger page is inserted, the machine verifies whether the ID was genuinely machine-printed and whether the ID matches the content. The ID cannot be forged.
- Transaction slip mailbox. Each mining group must hang a collection box at their door for receiving transaction slips.
- Bulletin board. Each mining group also needs a bulletin board for posting public notices.
With these tools in hand, the mining organization can get to work.
Collecting Transaction Slips
Satoshi established that anyone initiating a transaction must not only give the transaction slip to the payee but also make several copies and deliver them to every mining group’s mailbox.
Mining groups periodically collect all accumulated transaction slips from their mailboxes.
Filling Out the Ledger
The group then takes a blank ledger page, writes these transactions into the “Transaction List” section, finds the last page of their current ledger, and copies that page’s ID into the “Previous Page ID” field. Note there’s also a “Lucky Number” field — they can fill in any number they like, such as 12345. Then they insert the page into the code generator, which prints an ID. One ledger page is now complete.
If you thought the miners’ job was that simple, you’d be sorely mistaken. Satoshi imposed a fiendish rule: a ledger page is only valid if the first 10 digits of its ID are all zeros.
Based on what we know about the code generator, the only way to change the ID is to change the page’s content. The “Transaction List” and “Previous Page ID” can’t be arbitrarily modified, so the only option is to change the Lucky Number. Thus, to produce a valid ledger page, miners must repeatedly copy out ledger pages with different Lucky Numbers, inserting each one into the code generator. If the resulting ID doesn’t meet the requirement, that page is wasted. They repeat this process until a valid ID is generated.
We know that if each digit of the ID is random, miners must try, on average, over 1,000 different Lucky Numbers to get one valid ID.
So why would miners relentlessly grind away at this seemingly meaningless task? Remember the rewards mentioned earlier — that’s their motivation. Satoshi decreed: the first transaction on every ledger page is “The system pays this group 50 bitcoins.” In other words, if you generate a valid ledger page and it’s accepted by all mining groups, this transaction is also accepted, and your mining group earns 50 bitcoins.
This is why miners are called miners, and why, as mentioned earlier, the supply of bitcoins gradually increases through transactions and mining activity. Below is an example of the mining process, where the group’s public Bitcoin address is “UVWXYZ.”

When the Lucky Number reached “533,” the system generated a valid ledger page.
Confirming the Ledger
When a mining group is lucky enough to produce a valid ledger page, they must immediately notify the other groups to get their work confirmed and earn their reward. As mentioned, there are currently seven mining groups in the village, so the lucky group must transcribe six copies and rush them to the other six groups for confirmation.
Satoshi decreed that when any group receives a ledger page from another group, they must immediately pause their own mining work and perform verification.
Three things need to be confirmed:
- The page’s ID is valid.
- The previous page referenced is valid.
- The transaction list is valid.
For the first check — this is straightforward. Simply insert the received page into the code generator for verification. If it passes, the ID is valid.
For the second check — compare the “Previous Page ID” on the received page against the last page ID in this group’s own ledger. If they match, it’s confirmed. If not, trace backward through the existing ledger to find the matching page. If no matching “Previous Page ID” can be found at all, the group discards the received page and refuses confirmation.
Note that this mechanism ensures that if all groups hold the same set of ledger pages, they can all assemble them in the same order. Since each page’s ID depends on the previous page’s ID, the code generator’s mechanism guarantees that the relative ordering of all valid ledger pages is consistent across every group (there may be branches, but no loops — more on this later).

Finally, confirming the transaction list’s validity means verifying that each payer in every transaction has sufficient balance. Since each transaction includes information about where the funds came from, along with the ID of the ledger page recording the source transaction — for example, HIJKLMN wants to pay ABCDEFG 10 bitcoins and notes that these 10 bitcoins came from a previous payment from OPQRST to HIJKLMN — the verification process first confirms whether this earlier transaction exists, and then checks whether HIJKLMN hasn’t already spent those 10 bitcoins elsewhere. Once all this is confirmed, the transaction’s validity is established.
The first transaction is the 50-bitcoin system reward to the group that produced the page — everyone accepts this by default. For the remaining transactions, the tracing method above can confirm whether HIJKLMN truly has 10 bitcoins to pay ABCDEFG.
If all the above verifications pass, the group accepts the ledger page as valid, appends it to their main ledger, abandons their current work-in-progress, and continues future mining based on this updated main ledger.
Ledger Confirmation Feedback
For the mining group that sent out the page: if they subsequently receive a page from another group whose “Previous Page ID” is the ID of the page they sent out, that means their work has been accepted — because another group is already building on top of it. At this point, they can roughly consider their 50 bitcoins earned.
Additionally, whenever a group generates a new valid page or confirms another group’s page, they post the latest accepted transactions on their bulletin board. Payees who see their transaction acknowledged by the various groups can be fairly confident the money has arrived in their account, and they can reference this transaction as the source of funds in future payments.
This is the complete Bitcoin payment system. Let’s now analyze why this system can sustain itself and what risks it may face.
Analysis of the Operating Mechanism
Although the basic rules of Bitcoin have been explained, the villagers still had many questions. So Satoshi held a special Q&A session to address common concerns. Below is a summary of the most frequently raised issues.
Core Q&A
What if two valid ledger pages are received simultaneously?
Note that in the mechanism described above, mining groups work in parallel. It’s entirely possible that a group receives two different ledger pages, both based on the current last page of the group’s main ledger, and both perfectly valid. What then?
Satoshi explained that groups should not organize the ledger linearly but rather as a tree structure. At any given time, the longest branch serves as the main ledger, while other branches are preserved. For example, if a group simultaneously receives valid pages A and B, they should organize them as a fork, like this:

The black line represents the current main chain. At this point, either page can be chosen as the main branch — let’s say A:

If a new page is produced based on A, the main chain extends:

If this trend continues, it means everyone is essentially working off A as the main chain, and B will be forgotten. But it’s also possible that B suddenly becomes the longer branch:

In that case, we need to switch to B as the main chain and continue working from there.

Looking at the big picture, although different groups’ main chains may temporarily diverge at any given moment, the overall direction remains consistent. Those minor branches that occasionally sprout due to timing differences are quickly buried in history.
What if miners forge the ledger?
Satoshi explained that as long as the majority of the mining organization is honest, the system remains reliable. He addressed this from several angles.
First, thanks to the secret stamp mechanism, no one can forge someone else’s identity for payments, because the code generator checks all transaction slips’ stamps during ID generation and refuses to print if any stamp doesn’t match its stated payer.
Furthermore, honest miners will never approve illegitimate transactions (such as one where the payer has insufficient balance).
Therefore, the only possible attack vector is this: after the payee has confirmed receipt, the attacker creates an alternative transaction on a different branch, cancels the previous payment, and spends the same funds again to someone else (the so-called “double-spending” problem). Let’s illustrate with an example.
Suppose an attacker has 10 bitcoins and plans to pay this same amount to two victims, A and B, getting both transactions accepted.
Step one: The attacker plans to buy 10 bitcoins’ worth of gold from Victim A. He signs a transaction slip transferring 10 bitcoins to Victim A.

Step two: This transaction gets confirmed in the latest ledger page and is posted by the mining groups. Victim A sees the announcement, confirms the bitcoins have arrived, and gives the attacker gold worth 10 bitcoins.

Step three: The attacker goes back to the ledger page just before the one containing the transaction with Victim A and creates a new branch, generating enough pages to overtake the original branch. Since the attacker’s branch is now the main chain, the branch containing Victim A’s payment becomes a side branch. The mining organization no longer recognizes the earlier transfer, and Victim A’s 10 bitcoins are reversed.

Step four: The attacker can now sign another transaction slip, paying the same 10 bitcoins to Victim B. Once Victim B confirms receipt, they hand over gold of equivalent value.

At this point, the attacker has spent the same 10 bitcoins twice, purchasing equivalent gold from two victims. The attacker could repeat this trick — cancel the transaction with Victim B, and pay the same funds to yet another person…
To counter this attack, Satoshi’s recommended solution is that payees should not immediately confirm a transaction when it first appears on the bulletin board. Instead, they should wait and watch for the mining groups to post six more confirmation pages after the one containing their transaction, and only confirm receipt if the original page hasn’t been rolled back.
Satoshi explained that the fiendish ID rules were specifically designed to defend against this. As described earlier, generating a valid ledger page is no trivial matter — it requires massive effort trying different Lucky Numbers, and the process is entirely a matter of luck. If a ledger page containing your incoming payment has six more pages built on top of it, it becomes extremely difficult for an attacker to overtake the current main chain from a branch that’s six pages behind — unless the attacker commands more manpower than all the honest miners combined.
Moreover, if an attacker had that much manpower, it would be far more profitable to simply mine honestly than to waste such enormous resources on this kind of attack. This eliminates the motivation for attacks at a fundamental level.
Won’t bitcoins keep increasing indefinitely, causing severe inflation?
Satoshi said, “I’ve thought of this too. I forgot to mention earlier — the operating manual I gave to the mining organization specifies that initially, generating one ledger page earns a group 50 bitcoins. But every 210,000 pages, the reward halves. For example, after 210,000 pages, each new page earns 25 bitcoins; after 420,000 pages, 12.5 bitcoins; and so on. By the time the ledger reaches 6,930,000 pages, there will be no more rewards for generating new pages. At that point, the total supply of bitcoins will be approximately 21,000,000 — this is Bitcoin’s total supply cap, so it won’t increase indefinitely.”
With no rewards, no one will mine, and there’ll be no one to confirm transactions
By then, miners’ income will shift from mining rewards to transaction fees. For instance, when making a transfer, you can designate 1% as a transaction fee paid to the group that generates the ledger page. Groups will prioritize confirming transactions with higher fees.
If the number of miners keeps growing, will bitcoins be generated faster?
No. Satoshi explained that while anyone can freely join or leave the mining organization, causing the number of miners to fluctuate — and each miner does receive a code generator — he has already built a difficulty adjustment mechanism into the code generators. The more generators currently in operation, the lower each machine’s efficiency, ensuring the rate of new ledger page generation remains constant.
Although everyone uses pseudonyms, if someone’s pseudonym is leaked and the ledger is public, couldn’t all their transactions be traced?
Indeed. For example, to transact with someone, you necessarily need their pseudonym to fill in the transaction slip’s payee field. However, Satoshi said he can provide an unlimited number of secret stamps, and he recommends using a different stamp for each transaction. This way, tracing the ledger won’t reveal all transactions belonging to a single person.
Q&A complete.
Notes
This article uses accessible analogies to explain Bitcoin’s operating mechanism. A few things to note:
For the sake of clarity, I’ve made many simplifications, so some mechanistic details may not perfectly match the actual Bitcoin protocol. However, the overall philosophy and key principles are consistent.
Since many concepts from the computer world (such as public key cryptography and network transmission) don’t have perfect real-world equivalents, some parts of the story may feel a bit forced or unrealistic.
This article describes the technical principles and operating mechanism of the Bitcoin network itself. When trading Bitcoin on exchanges like Mt. Gox, the exchange acts as an intermediary and does not follow the mechanism described above.
References
- Bitcoin Whitepaper (English)
- Bitcoin Whitepaper (Chinese)
- Bitcoin Wiki (English)
- Cloud Wu’s Blog: “Basic Principles of Bitcoin”
via. Original article