sjinko / purcel

Little piggy banking system
1 stars 0 forks source link

Annontate Nakamoto 2008 #2

Closed sjinko closed 2 years ago

sjinko commented 2 years ago

Annotation of Nakamoto, Satoshi, 2008. “Bitcoin: A Peer-to-Peer Electronic Cash System”. White paper published on October 31: https://bitcoin.org/bitcoin.pdf.

We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers.

The core issue mentioned by Nakamoto is thus the double-spending problem. The principl of “proof-of-work” is the solution proposed. The idea that the largest pool of CPU power controls the mining of the chain is already projected. Finally, Nakamoto warns on the risk that cooperation between nodes can lead to an attack of the system.

To some extend, Nakamoto proposes a model that requires adversity between groups of nodes that form the pools of CPU power, since cooperation can lead to an attack on the system. The system, which requires nodes to compete rather than cooperates leads to the need to increase the difficulty of the proof-of-work, and thus CPU power, coalitions of nodes into pools and energy consumption. As noted on Wikipedia, “In 2014 mining pool Ghash.io [Headquartered in the Neatherlands] obtained 51% hashing power which raised significant controversies about the safety of the network. The pool as voluntarly capped their hashing power at 39.99% and requested other pools to act responsibly for the benefit of the whole network."

While the system [of financial instituions serving as trusted third parties to process electronic payments] work well enough for most transactions, it still suffers from the inherent weakness of the trust based model. Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for non-reversible services. These costs and payment uncertainties can be avoided in person by using physical currency, but no mechanism exists to make payments over a communication channel without a trusted party.

What is needed is an electronic payment system based on cryptographic proog instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party.

This situation resembles the one of research publication in which the institution or editor acts as a trusted third party. The main difference being that currency makes financial capital, unlike knowledge, agnostic. Value of the financial capital is fixed by its purchasing power of the currency. Knowledge, on the other hand, is non-transactional because it does not hold a single currency. Using a blockchain-like system, we could develop a currency of knowledge acquisition and production. NFTs could also be used to claim knowledge stewardship. The system should however be designed so to not exclude inviduals based on their display of capacities. For example, digital literacy should be be a discriminatory factor, the same way it might be in other block-chain systems. Likewise, various forms of knowledge and know-how, and not just ”Western scientific knowledge” should exist within the system.

We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership.

The same principle could be applied to knowledge transmission. Each transmission would be 'signed' by the transmitter. Knowledge, in this case, would behave the same way that a good would, with the risk that its value lowers with decay or increase due to higher demand. Yet, because knowledge is non-material, its sharing does not negatively impact the transmitter, who maintains their possession of the knowledge. It is however affected by decay or inconsistency, and requires encoding and recording onto material supports such as written notes.

only coins issued directly from the mint are trusted not to be double-spent. The problem with this solution is that the fate of the entire system depends on the company running the mint, with every transaction having to go through them, just like a bank [and the centralization of power and capital in this third party].

Here again, we could see a paralelle with the scientific publication industry which requires trust in the publisher to avoid “double-publication” (or previous publication of the same knowledge). Ironically, this task is then delegated to “trusted” reviewers who take the responsability with nothing but a very small compensation in status capital.

The only way to confirm the absence of a transaction is to be aware of all transactions. [...] To accomplish this without a trusted party, transactions msut be publicly announced, and we need a system for participants to agree on a single history of the order in which they were received.

The systems, which Nakamoto proposes, resembles again the one of academic publication which should guarantee the order in which knowledge is produced. But because knowledge is shared and not owned, it is difficult to think of a system that would truely produce a single history of that order.

The solution we propose begins with a timestamp server. [...] Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.

The proof-of-work also solves the problem of determining representation in majority decision making. [...] Proof-of-work is essentially one-CPU-one-vote. [...] If the majority CPU power in controlled by honest nodes, the honest chain will grow the fastest and outpace any competing chains.

The steady addition of a constant of amout of new coins is analogous to gold miners expending resources to add gold to circulation. In our case, it is CPU time and electricity that is expended.

The consumption of electricity and the need for more and more CPU power was indeed foreseen.

To facilitate this without breaking the block’s hash, transactions are hashed in a Merkle Tree, with only the root included in the block’s hash. Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do not need to be stored.

As such, the verification is reliable as long as honest nodes control the network, but is more vulnerable is the network is overpowered by an attacker. While network nodes can verify transactions for themselves, the simplified method can be fooled by an attacker’s fabricated transactions for as long as the attacker can continue to overpower the network.

To this, Nakamoto provides a “solution” by having notes create an alert when they detect an invalid block. Another strategy could be to limit the capacity for pools to hash two blocks in a row. This “latency” could also secure a more fair distribution of proof-of-work to a variety of pools.

Privacy can still be maintained by breaking the flow of information in another place: by keeping public keys anonymous. The public can see that someone is sending an amount to someone else, but without information linking the transaction to anyone.

The setup of privacy in Bitcoin is a concern for allowing illegal financial transactions to take place. To solve this issue, we could imagine a system in which identities of parties is not anonymous, but in which the amount of the trasaction is unknown. This, obviously, would limit the attractivity of the digital currency, since it‘s potential use in illegal financial transactions partially explains its popularity.

sjinko commented 2 years ago

Transfered to wiki. https://github.com/sjinko/purcel/wiki/Nakamoto-2008