Forked from PierreRochard/gist:04fc1c1257e15884a330af95c3d8f147
Created
March 21, 2018 23:10
-
-
Save luna-1999/215a92552540bac9151f2bb0cd2cb738 to your computer and use it in GitHub Desktop.
Explaining the Bitcoin software
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Q: Bitcoin has two aspects to it that make unique - software and economics. | |
Can you explain a bit about the software to us folks that can’t code? | |
A: Bitcoin itself can best be described as a protocol: a set of very specific rules that participants | |
agree to. We are used to thinking about social protocols, for example sending a gift on a special | |
occasion and then receiving a thank you card. Bitcoin’s protocol is automated with software. Each | |
participant runs their software, called a node, which connects to other nodes over the Internet. | |
The Bitcoin nodes verify that every transaction sending and receiving bitcoins is following the | |
protocol rules, and rejecting the ones that don’t. Secure timestamps determine the order in which | |
transactions are recorded, to prevent participants from spending the same bitcoins twice. | |
This timestamping function is provided to the network by specialized participants called “miners”, | |
who use hardware performing computationally intensive “proof of work”. | |
It’s important to note that while the media focuses on the energy consumption of miners, | |
the node software can be run on normal computers and consumes less electricity than | |
your web browser. This enables the Bitcoin network to be highly decentralized: the protocol | |
rules are jointly enforced (and thus determined) by a large community of people around the world. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment