The Bitcoin White Paper was published by Satoshi Nakamoto in 2008; the first Bitcoin block got mined in 2009. Since the Bitcoin protocol is open source, anyone could take the protocol, fork it (modify the code), and start their own version of P2P money. Many so-called altcoins emerged and tried to be a better, faster or more anonymous than Bitcoin. Soon the code was not only altered to create better cryptocurrencies, but some projects also tried to alter the idea of blockchain beyond the use case of P2P money.
Frankly, secure implementation of Bitcoin is already a pain in the ass .. adding more complexity just seems like the wrong move at this point. It’s already trying to be a currency, a networking protocol and a client in the same codebase. Adding turing complete (or not) scripts with arbitrary outcomes, multiple versions of the official client cooperating, multiple clients, and now multiple blockchains is basically the nail in the coffin in terms of widespread implementation.
@gendal, good question. Think of the identity hash as a bitcoin address, it is indeed public. So to assert anything with this identity you need to sign the object you are creating or changing with the identity’s private key. Specifically it is a private key that corresponds to a public key that you published in your identity’s object (json). The signature is not placed on the bitcoin transaction, as OP_RETURN has only 40 bytes. The signature is added to a [json] object that is modified with this identity. If you see any fault with this, please let me know.
The sole distinction between public and private blockchain is related to who is allowed to participate in the network, execute the consensus protocol and maintain the shared ledger. A public blockchain network is completely open and anyone can join and participate in the network. The network typically has an incentivizing mechanism to encourage more participants to join the network. Bitcoin is one of the largest public blockchain networks in production today.