How exactly would 𝘺𝘰𝘶 go about creating a censorship-resistant, decentralized, public network on a global scale?
We can first start with a public ledger that anyone can add lines to, where individuals would transact and settle in fiat currency at a later time
Very quickly…
You’d start to see some very serious issues arise as more and more users come to the ledger for accounting, & that would require trust in each and every one of them
We don’t know if people are being honest when adding new lines of transactions to this ledger
So what do we do?
With Bitcoin, Satoshi Nakamoto introduced the idea of digital signatures
These digital signatures are unique, and can not be forged (more on this later)
So if anyone can see the digital signature, how can we ensure users don’t simply copy one & submit fake txs to the ledger?
This is where the public key and private key come in to play.
The public key is used to verify digital signatures, which proves ownership of the private key
Producing a digital signature requires both a message and the private key, represented as a series of bits (256)
Only you can make that signature, & no one can simply copy it to forge on another message
When submitting a transaction, this is basically used to determine whether or not it was produced by the private key associated with the public key
There are 2^256 signatures. That’s huge.
The possibility of correctly guessing a signature to forge txs is astronomically impossible (& even that is an understatement)
So now we know with certainty that any tx produced on this ledger will be from the private key associated with the public key
Because if anyone can see the digital signature for a transaction, couldn’t they simply copy the message/signature combination that remains valid?
To fix this, Satoshi Nakamoto introduced the idea of adding a unique ID associated for each transaction
In other words, copying valid message/signature combinations would require a completely new signature for each one
The result is a public ledger that anyone can add lines to with certainty that each message originated from who they were designed to be from
But we still have some issues that remain… How can we ensure one doesn’t rack up a ton of debt on the ledger and never actually settled in cash?
This is where Bitcoin starts to come in to play.
Let’s say for instance, someone added $100 to this ledger…
He then makes two payments to his friends for $50, spending the remaining of his balance. Trying to cheat the system, he sends another transaction worth $20.
Since this is more than he added to the ledger, this transaction is invalid.
What’s interesting here is the fact that…
this means, in order to verify even a single transaction, each person has to record the entire history of transactions on the chain
The idea of Bitcoin as a form of general accounting on this ledger cuts off the need to settlement of USD entirely.
If everyone in the world used this ledger for accounting, there would be no need for actual settlement in fiat currency
𝘛𝘩𝘦 𝘩𝘪𝘴𝘵𝘰𝘳𝘺 𝘰𝘧 𝘵𝘳𝘢𝘯𝘴𝘢𝘤𝘵𝘪𝘰𝘯𝘴 𝘪𝘴 𝘵𝘩𝘦 𝘤𝘶𝘳𝘳𝘦𝘯𝘤𝘺
So now, since we know that everyone who wants to add lines to this ledger has to record the history of the whole chain, how do we ensure each person is recording the correct record?
This is where the beauty of decentralization comes in for Bitcoin with proof of work
Put simply, the proof of work consensus mechanism in Bitcoin makes it so that producing any fraudulent txs with other recorded ledgers would be computationally infeasible
Proof of work does this with cryptographic hash functions
A hash function is a hashing algorithm with a basic input (which can contain any message), and an output represented in a string of 2^256 bits
It’s essentially a bunch of 1’s and 0’s, where if the input is changed even slightly, the resulting output is entirely different
Bitcoin uses SHA256, which is impossible to convert in the other direction
If I show you a string of 1’s and 0’s and asked you to find which message produced this, it would be impossible
Your best bet is to guess by brute force for eternity
Even your bank and the very way of which your viewing this tweet with a secure connection most likely uses SHA256
& as described previously, each proof of work is tied to the entire history of transactions, so if you change one even slightly, it changes the resulting hash…
Requiring a malicious actor to go through more than a billion guesses to find a new proof of work that is valid
So where do miners come in?
The term miners, often refers to a set of computers who prove specific computational work used to create a block and get rewarded
They are essentially combining broadcasted txs on the network, racing to guess the correct hash starting with a certain number of 0’s to provide as a “receipt” to the bitcoin protocol for a block reward requiring x amount of computation
A block is only valid with proof of work.
Each block has to contain the hash of the previous block as it’s header
Malicious miners can’t switch the order of blocks because if you change one block it would change the block that comes after, which changes its hash, which changes the block after it and so on
Depending on how many miners there are, the protocol will adjust the randomness, or difficulty to guess a valid hash
All of this guessing requires computational work, proving you did this work
Anyone can produce blocks in this ledger, one happening every ten minutes
If there are two contradicting blocks proposed, miners defer to the longest block with the most work put into it, & with this we can arrive at decentralized consensus
An attacker would have to find a valid proof of work before all the other miners each working on their own block
But even then all other blocks are being reviewed amongst miners.
Meaning a malicious actor would have to consistently beat other miners to find valid hashes, and this is an insurmountable amount of computational power
Miners will simply defer to the chain with more work.
And there you have it. The true beauty of Bitcoin.
The first mathematically sound form of monetary policy, without borders, that everyone in the world can agree on and use
Anyways, I hope this helped you understand crypto on a deeper and fundament level
Enjoy! 🥐
• • •
Missing some Tweet in this thread? You can try to
force a refresh
There are so many absolutely insane things that can be done with certain DeFi protocols, yet it still seems no one applies it to the world outside of crypto.
DeFi on $ETH has tons of unique opportunities for you to discover.
I’ll explain below… 🥐
Did you know that a $DAI loan can be converted to fiat & used as a traditional loan?
I know this sounds very obvious, but hear me out.
You can keep exposure to $ETH by borrowing $DAI, then use for loans on cars, houses, etc!
No credit scores, no banks, & lower interest rates…
Did you know that tens of thousands of farmers in Kenya have crop insurance thanks to smart contracts on Ethereum?
Utilizing $LINK oracles, Etherisc provides you with automated protections for a variety of use cases
It has insurance for flight delays, crops, hurricanes, & more!
With all of the NFT hype, I’m surprised to see that ENS names aren’t going absolutely parabolic in use
I believe they are the key for the decentralized internet.
The topics discussed below represent just a fraction of the mind-blowing use cases for the Ethereum Name Service 🥐
If you have no idea what I’m talking about, don’t worry!
The Ethereum Name Service is a simple lookup system, linking certain info to a given name
But it is not just limited to $ETH, it provides a secure & decentralized way to address resources to human readable names anywhere!
With this base foundation and a bit of cryptography, ENS functions in a way that is similar to how website domains work.
What makes this so attractive is that their root of trust is native to $ETH, and holders can host decentralized websites on the next iteration of the web