3 ms·
Hey you got some link for other tutorials to go from here?
by todd_wanna_code 9y ago
Hey you got some link for other tutorials to go from here?
- cableshaft 9y agoI haven't encountered any myself, no. But I haven't really been looking either.
- simias 9y agoThe clever part about bitcoin is reusing existing technologies in a novel way. It uses: - Hashcash-style proof of work: http://www.hashcash.org/ http://www.hashcash.org/ (originally designed to make spamming harder, although I don't think it ever really became widely adopted). - Merkle trees to reference transactions in the blocks (same technology used for bittorent chunks): https://en.wikipedia.org/wiki/Merkle_tree https://en.wikipedia.org/wiki/Merkle_tree - Elliptic curve cryptography for signing transactions: https://en.wikipedia.org/wiki/Elliptic_curve_cryptography https://en.wikipedia.org/wiki/Elliptic_curve_cryptography (asymmetric cryptography, used in TLS, SSH etc...) - When a new "node" connects to the network it uses hardcoded addresses and DNS seeds to find other nodes to connect to: https://bitcoin.org/en/glossary/dns-seed https://bitcoin.org/en/glossary/dns-seed (before that it used IRC) And there are probably a few other things but basically if you know how to work with those technologies then you have all the tools you need to implement a bitcoin clone. It's nothing groundbreaking, it's "just" a clever novel use of existing technology. All the actual "rules" of the network (the block reward etc...) are simply validated in the nodes, they'll reject any block that's not properly crafted (i.e. bad reward, invalid proof of work etc...). Therefore the node consensus dictates what bitcoin is. If you implement a non-compatible change in the client and you don't convince all the other users to switch you create a fork since you won't have the same definition of what constitutes a valid block.