To me, a blockchain is a way of solving double-spend problems in a Merkle tree maintained by open distributed consensus, by using some scheme to resist Sybil attacks. The scheme is not necessarily proof-of-work, but the fact that there's a double-spend problem and you're solving it is key to the idea.
If you don't have a double-spend problem because all your transactions commute (e.g., Certificate Transparency), you don't have a blockchain, just a Merkle tree. Which is great, you don't have to incur the costs of mining at all, nor do you need to think about mining incentives and structures.
If you're not using distributed consensus because you have a central coordinator, you don't have a blockchain either, and again, you get to not think about mining. Whichever transaction reaches the coordinator first wins, so double-apend becomes irrelevant.
If the Fed wants to build FedCoin, I don't see any reason why they should refuse to be the central coordinaor and instead outsource consensus to the internet. I don't see any reason why they would, if they want to influence monetary policy at all—70% of Bitcoin mining last year was in China, which meant that it would have been straightforward for China to (globally!) freeze a Bitcoin address, and a little more complicated but still possible to prioritize or throttle certain transactions.
Maybe being protocol-compatible with Bitcoin or ERC20 or something would help, but fundamentally this would be an API to transfer USD, not a decentralized system.
See also patio11's Tweet https://twitter.com/patio11/status/583698553614143488 "Most advantages of Bitcoin which matter are captured by, and improved upon by, a LAMP app which simply holds account balances." If the Fed wants to build that app, great!
There is already a word for what you are talking about, and you used it:
Consensus.
So I counter your argument. It is useless to call "Blockchain" something that must necessarily have consensus. Or else we should just call it a consensus mechanism, not a blockchain. So instead, I propose the following:
A blockchain, is a cryptographically signed linked list.
Note, things like "a distributed ledger" aren't included in that definition. Why? Because a distributed ledger is only possible if writes are cryptographically signed. Else, it is too easy to fake, sybil, forge, exploit, manipulate, lie, or mutate the ledger in a public setting.
I've done a lot of work on commutative transformations (CRDTs, at https://github.com/amark/gun ), and while they are a very different (and more scalable) approach to arriving at consensus (through deterministic means), I still think it is appropriate to call such CRDT/DAG/Merkle/other cryptographically based systems a blockchain. Why? Simply because they can be used as a distributed ledger, and that is the point that most people actually talk about/intend.
At the end of the day, what people intend when they talk about "blockchain" isn't even cryptography or technology, it is simply an economic model. An economic model that doesn't require institutional trust.
So in that sense, would a FedCoin pass as being a "blockchain"? From a technology standpoint, sure, but not from an economic perspective.
What about a cryptographically signed linked list that can't be used as a distributed ledger?
Because if those are blockchains too, then my country had dozens of developers writing blockchains before Bitcoin ever appeared, since we had to implement https://en.wikipedia.org/wiki/SAF-T
... like your classification. My version of that is in short:
Blockchain is a technical protocol ( crypto signed list over a P2P network with consensus).
DLT is a higher level function on top of a blockchain which adds social / legal / economic status to the data in a blockchain.
"Consensus" was a word used in the distributed systems literature for all sorts of problems well before the Bitcoin paper. (As was "Sybil-attack-resistant", which is another phrase I ~used that was also in common use.) Bitcoin is interesting because it allows reasonably trustworthy consensus in a Sybil-attack-resistant way for a particular problem, namely, a distributed ledger that permits anyone to participate without permission from a central authority. There were lots of other systems for distributed consensus for other problems: a random example is BitTorrent.
I would actually dispute the definition of "cryptographically signed linked list" for Bitcoin. What makes Bitcoin blocks valid is not that they're cryptographically signed (signatures are over transactions, from the address that is trying to send money, but you can sign two different transactions and now you have double-spend). What makes them valid is the inclusion of a solution to the mining problem that incorporates the data being sent, and I think that in any context other than Bitcoin, "a message that includes a random nonce such that the hash has certain properties" wouldn't be called a "signature" at all. Take Hashcash, the proof-of-work system for email anti-spam that somewhat inspired Bitcoin: the web page and paper calls the authentication token a "stamp", and doesn't use the word "signature". The FAQ suggests an extension for mailing lists using the phrase, "A hashcash specific approach (avoiding signatures)".
I am super excited about CRDTs but they seem like an entirely unrelated problem space to Bitcoin, so using the term "blockchain" doesn't make sense to me. (In the same way that I am excited about DVCSes like git using Merkle trees to allow mergeable offline work without a central coordinator, but git is definitely not a blockchain.) That said, I did say this on an IRC channel the other day:
< geofft> I would define "blockchain" as "a Merkle tree that solves the double-spend problem in a way that's resistant to Sybil attacks"
< geofft> if your transactions commute, you don't have a double-spend problem, and therefore "blockchain" isn't meaningful
< ...> geofft: doesn't stop people hawking blockchain solutions though :P
< geofft> oh, sure
< geofft> I would also define "blockchain" as "the word you should use instead of Merkle tree on your investor pitch"
So if that's your reason for using the word "blockchain," good for you :-)
I am reading through your Distributed Matters slides - exciting stuff and the point about ATMs not being strongly consistent is a very good one. Will need to reread a few times to make sure I get it!
You bring up so really good and fair points, specifically around the double-spend problem.
BitTorrent doesn't need to solve the double-spend problem. Yes, it wasn't the cryptographic signatures that solved that in Bitcoin, BUT at the same time, they could have used PAXOS/RAFT to "elect" a random leader to prevent double-spend AND you'd still have consensus.
But it isn't the "consensus" alone, as you note, that makes Bitcoin special - but this is exactly my point in the previous post about why "blockchain" should mean something other than just consensus. It was the ability, as you say, to get consensus without using leader-election algorithms (that would ultimately depend upon trusting that random leader).
Now, if you suggest, instead, that "blockchain" should mean specifically that, a trustless non-leader double-spend solution, I think I can buy that. However, immediately PoS and similar algorithms have to be thrown out as not blockchains then (which hey, I'm okay with that).
This is exactly where, according to what I think you are saying, then things like CRDTs/DAGs could still match your definition, despite being commutative. Sybil-attacks become irrelevant (because the CRDT/DAG approach only cares about the validity of signatures, not who is trading/mining/elected the most, which might be vulnerable to Sybil-attacks), because if a 1000 extra peers/bots commute the same operation, it doesn't change its significance compared to a single peer that commutes the operation.
So wouldn't that match even your own "blockchain" definition?
Oh, I'm glad you found that explainer! I'm glad you enjoyed it :).
This really misses the picture of what's going on. Fedcoin could be coordinated by the federal but live on or be connected to a public smart contract platform where that, now digitised asset, could be used programmatically and interdependently with many other systems in a much more efficient and easy to assemble way than can now be done. This may not sound like a good idea to most on hn but it's at least new.
Smart contracts are cool, but I don't think smart contracts and blockchain are the same technology. (Indeed, Bitcoin does not meaningfully support smart contracts, so we should use different words because they're different concepts.)
It's certainly possible to implement centralized, non-proof-of-work smart contracts: publicly send the Fed's API a Lua script. Whenever the Fed changes their ledger, they run your Lua script in a sandbox with limited CPU, see if it outputs any transactions, and processes them. Anyone can run the Lua script themselves and see if the Fed was trustworthy - but if the Fed chooses not to run your script, well, that's just a centralized bank doing its centralized thing, tough luck.
If you want to not put your reliance on a centralized bank to run your script, then you've got to use a distributed consensus platform. Even if you had something Ethereum-like that the Fed simply oversaw, they could just refuse blocks they don't like (and in fact they'd essentially have to to have any meaningful control of the currency at all), so all the complexity of gas and proof-of-work isn't buying you anything.
Relatedly, and along the lines of what 'patio11 was saying: you can implement smart contracts for a centralized currency today. A startup that had its own API for opening accounts, sending it USD, and running publicly-visible Lua scripts would be a straightforward thing to build, and if that startup ran for enough time, you'd gain (centralized) trust in it doing its thing.
Again, there are perfectly fine and very useful blockchains that do not provide any kind of trustlessness. See corda.net. This insistence that a blockchain cannot be permissioned is not accepted by most people. It's silly to keep insisting a word means some restrictive value of X when a great many people do not use it as such. A FedCoin could be highly centralized and still provide enormous value as a trustworthy, distributed database.
The Fed can create unlimited money out of nowhere and doesn't have to answer questions about it from anybody. I don't think they dream is a transparent blockchain and money supply limited by an algorithm.
They don't want to be seen as "not having to answer to anyone" , so they would be going the blockchain rule, i.e. semi-accountability , i.e. stealing some of bitcoin's "decentralized" fame.
The whole point of having a national currency is that the money administrators answer to Congress, not the businesses who borrow and lend money. "Decentralization" means taking power away from Congress and giving it to Goldman Sachs and the other big banks.
Moreover, the currency that the Fed issues is not technically a "national currency", its "Federal Reserve Notes", that is a debt instrument which is theoretically backed by "US Dollars". Where are these US Dollars?..and more importantly how do we get some?
It is not "owned" except in a weird metaphorical sense, and moreover, big banks are obligated to own an exact amount of shares - no more and no less, and they may not sell them - by act of Congress. If you scroll a little bit up from your link: "the 'ownership" of the Reserve Banks by the commercial banks is symbolic; they do not exercise the proprietary control associated with the concept of ownership nor share, beyond the statutory dividend, in Reserve Bank 'profits.'"
A "US Dollar" is a unit of measurement; a "Federal Reserve Note" is a physical object. You can no more own a US dollar than you can own an acre or a joule, but you can certainly own land or a battery. Casting doubt on the US dollar because you can't touch it makes as much sense as casting doubt on meters or Bitcoins or Goldman Sachs because you can't touch them either. They're all social constructs, but social constructs are quite real for anyone participating in the society that constructed them.
It could be reasonable to somehow have control over things like the difficulty of mining or to be able to spawn new currency at a reduced cost via some sort of master certificate while still allowing transfer without communicating with a central coordinator system. A distributed system is a lot less likely to go down or become completely compromised.
The properties of "unlikely to go down" don't require a trustless blockchain; the attributes of being resistant to a node being compromised don't require trust beyond consensus. git is unlikely to go down and verifiable. Copies of a git repo verified by gpg signatures and repos that only accept commits that pass verification requires only as much distribution as running three instances. The fed can do all of this without giving up any control.
There is a tremendous difference between "we have three servers so our stuff probably won't go down" and "the system could theoretically remain in use forever even if we disappeared from the world".
And that difference is gigawatts of power. A system that's "only" as reliable as Fedwire or SWIFT but uses 99% less power than cryptocurrency is an interesting tradeoff.
All Chinese miners are subject to the government's laws. They don't have to be directly day-to-day controlled by the government for the government to say, "We are applying sanctions to this entity, nobody may participate in helping them move money. Mining a block that involves a transaction from this Bitcoin address counts as helping them move money. Mining on top of any new blocks that involves transactions from this Bitcoin address, and therefore causing consensus to accept that block as part of the longest chain, also counts as helping them move money."
This isn't a China-specific argument: I'd expect that any functioning government could the same. The only difference is that governments without a working national firewall would probably be less willing to spend resources on chasing down miners who connect to Bitcoin peers via VPNs in other countries. It just happens to be true in this case that the Chinese government has a national firewall that they use to shut down VPNs, the Chinese government's international interests are often opposed to the US Fed's, and 70% of Bitcoin mining happened in China's jurisdiction last year.
I am always curious, blockchain was not defined in Nakamoto's work. So, where did the word actually originate from? And what did it meant for the word's inventor.
So probably the word "blockchain" came about because someone read or heard someone else say "chain of blocks" in the paper and they said "oh, so a blockchain", and thus the word was born.
I would say this is a rather limited, technical understanding of a blockchain. The three most interesting aspects of a blockchain are (1) the state of blockchain is visible to all participants (2) the rules (the code) for changing the state is visible to all participants and (3) there is some mechanism to detect and punish rule breakers and aggressors who try to deform the state. Look at it this way and indeed a blockchain is really a very sophisticated collaboration model.
You don't need the distributed consensus or the decentralization or the trustlessness. There are blockchains with central coordinators and without trustlessness that may still prove very useful especially in global finance. People think Bitcoin or Ethereum are complicated but really, they are nothing compared to the global financial system. Distributed blockchain databases are much more elegant than what we have today in terms of achieving consensus on a very large (global) scale.
FedCoin is a crazy idea but it's not stupid. A national public ledger would open a lot of very interesting doors. (Though the republic would likely collapse, see my other comment.) Even if the Fed required only trusted nodes (ie bank-like entities) it still would provide everything from a true national ID system to real, binding peer-2-peer lending between citizens to a system where everybody has perfect, real-time visibility into the national economy (unlike the primitive system we have today where the Fed collects a bunch a data, massages it, and then announces it each month.) Lots of other problems -- everything from medical records to real-estate -- become a lot more tractable.
What? There is no mechanism to "detect and punish rule-breakers" in either Ethereum or Bitcoin. Bitcoin's only mechanism is to push global human-readable alerts, or to pressure rule-breakers to stop through a blog post, as in the case of SPV mining: https://bitcoin.org/en/alert/2015-07-04-spv-mining.
If you define "rule-breaker" as "generates invalid blocks", then the only punishment rule-breakers receive is that... their block is invalid, they're ignored, and they get to try again next time.
I don't see any sophisticated collaboration model in play here.
Even if the Fed required only trusted nodes... Lots of other problems -- everything from medical records to real-estate -- become a lot more tractable.
Why aren't they solved by a database and a public API? What does the blockchain add?
Blockchain coordinates databases over different legal entities. That's the magic. It's still your DB in your Datacenter when you run your own node. You have autonomy over your own records with your keys. And you have visibility of all other records. A big central DB is under the control of a central body. With a blockchain the central control is / could be limited.
Definitely, but this is a feature that a centralized authority like the fed would prefer to do without. Whatever technology is behind any sort of "FedCoin" would certainly not be blockchain. They will not relinquish control of their currency, doing so would make themselves obsolete.
(1), (2), and (3) are true of Certificate Transparency.
(1), (2), and (3) are true of a system where a single trusted coordinator gets to order (and perhaps reject) transactions. A slightly less anonymous version of any electronic stock exchange would count.
(1), (2), and (3) are true of the Debian apt repository.
(1), (2), and (3) are true of any game without secret information, like chess or Go or Pretty Pretty Princess.
You could call all of these "blockchains," but I think that makes the term so generic as to be useless. If you want a national public ledger, that sounds interesting, but please call it a national public ledger, not a blockchain.
Comments
What is a "blockchain"?
To me, a blockchain is a way of solving double-spend problems in a Merkle tree maintained by open distributed consensus, by using some scheme to resist Sybil attacks. The scheme is not necessarily proof-of-work, but the fact that there's a double-spend problem and you're solving it is key to the idea.
If you don't have a double-spend problem because all your transactions commute (e.g., Certificate Transparency), you don't have a blockchain, just a Merkle tree. Which is great, you don't have to incur the costs of mining at all, nor do you need to think about mining incentives and structures.
If you're not using distributed consensus because you have a central coordinator, you don't have a blockchain either, and again, you get to not think about mining. Whichever transaction reaches the coordinator first wins, so double-apend becomes irrelevant.
If the Fed wants to build FedCoin, I don't see any reason why they should refuse to be the central coordinaor and instead outsource consensus to the internet. I don't see any reason why they would, if they want to influence monetary policy at all—70% of Bitcoin mining last year was in China, which meant that it would have been straightforward for China to (globally!) freeze a Bitcoin address, and a little more complicated but still possible to prioritize or throttle certain transactions.
Maybe being protocol-compatible with Bitcoin or ERC20 or something would help, but fundamentally this would be an API to transfer USD, not a decentralized system.
See also patio11's Tweet https://twitter.com/patio11/status/583698553614143488 "Most advantages of Bitcoin which matter are captured by, and improved upon by, a LAMP app which simply holds account balances." If the Fed wants to build that app, great!
There is already a word for what you are talking about, and you used it:
Consensus.
So I counter your argument. It is useless to call "Blockchain" something that must necessarily have consensus. Or else we should just call it a consensus mechanism, not a blockchain. So instead, I propose the following:
A blockchain, is a cryptographically signed linked list.
Note, things like "a distributed ledger" aren't included in that definition. Why? Because a distributed ledger is only possible if writes are cryptographically signed. Else, it is too easy to fake, sybil, forge, exploit, manipulate, lie, or mutate the ledger in a public setting.
I've done a lot of work on commutative transformations (CRDTs, at https://github.com/amark/gun ), and while they are a very different (and more scalable) approach to arriving at consensus (through deterministic means), I still think it is appropriate to call such CRDT/DAG/Merkle/other cryptographically based systems a blockchain. Why? Simply because they can be used as a distributed ledger, and that is the point that most people actually talk about/intend.
At the end of the day, what people intend when they talk about "blockchain" isn't even cryptography or technology, it is simply an economic model. An economic model that doesn't require institutional trust.
So in that sense, would a FedCoin pass as being a "blockchain"? From a technology standpoint, sure, but not from an economic perspective.
Would love to hear your counter-thoughts!
I've always assumed this definition by analogy with Cipher Block Chaining (https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation...), but of course where a word starts out and where it ends up can be two very different things.
Seriously, even the term was coined back then and the concept is actually pretty identical if you think about it.
What about a cryptographically signed linked list that can't be used as a distributed ledger?
Because if those are blockchains too, then my country had dozens of developers writing blockchains before Bitcoin ever appeared, since we had to implement https://en.wikipedia.org/wiki/SAF-T
... like your classification. My version of that is in short:
Blockchain is a technical protocol ( crypto signed list over a P2P network with consensus). DLT is a higher level function on top of a blockchain which adds social / legal / economic status to the data in a blockchain.
"Consensus" was a word used in the distributed systems literature for all sorts of problems well before the Bitcoin paper. (As was "Sybil-attack-resistant", which is another phrase I ~used that was also in common use.) Bitcoin is interesting because it allows reasonably trustworthy consensus in a Sybil-attack-resistant way for a particular problem, namely, a distributed ledger that permits anyone to participate without permission from a central authority. There were lots of other systems for distributed consensus for other problems: a random example is BitTorrent.
I would actually dispute the definition of "cryptographically signed linked list" for Bitcoin. What makes Bitcoin blocks valid is not that they're cryptographically signed (signatures are over transactions, from the address that is trying to send money, but you can sign two different transactions and now you have double-spend). What makes them valid is the inclusion of a solution to the mining problem that incorporates the data being sent, and I think that in any context other than Bitcoin, "a message that includes a random nonce such that the hash has certain properties" wouldn't be called a "signature" at all. Take Hashcash, the proof-of-work system for email anti-spam that somewhat inspired Bitcoin: the web page and paper calls the authentication token a "stamp", and doesn't use the word "signature". The FAQ suggests an extension for mailing lists using the phrase, "A hashcash specific approach (avoiding signatures)".
I am super excited about CRDTs but they seem like an entirely unrelated problem space to Bitcoin, so using the term "blockchain" doesn't make sense to me. (In the same way that I am excited about DVCSes like git using Merkle trees to allow mergeable offline work without a central coordinator, but git is definitely not a blockchain.) That said, I did say this on an IRC channel the other day:
So if that's your reason for using the word "blockchain," good for you :-)I am reading through your Distributed Matters slides - exciting stuff and the point about ATMs not being strongly consistent is a very good one. Will need to reread a few times to make sure I get it!
You bring up so really good and fair points, specifically around the double-spend problem.
BitTorrent doesn't need to solve the double-spend problem. Yes, it wasn't the cryptographic signatures that solved that in Bitcoin, BUT at the same time, they could have used PAXOS/RAFT to "elect" a random leader to prevent double-spend AND you'd still have consensus.
But it isn't the "consensus" alone, as you note, that makes Bitcoin special - but this is exactly my point in the previous post about why "blockchain" should mean something other than just consensus. It was the ability, as you say, to get consensus without using leader-election algorithms (that would ultimately depend upon trusting that random leader).
Now, if you suggest, instead, that "blockchain" should mean specifically that, a trustless non-leader double-spend solution, I think I can buy that. However, immediately PoS and similar algorithms have to be thrown out as not blockchains then (which hey, I'm okay with that).
This is exactly where, according to what I think you are saying, then things like CRDTs/DAGs could still match your definition, despite being commutative. Sybil-attacks become irrelevant (because the CRDT/DAG approach only cares about the validity of signatures, not who is trading/mining/elected the most, which might be vulnerable to Sybil-attacks), because if a 1000 extra peers/bots commute the same operation, it doesn't change its significance compared to a single peer that commutes the operation.
So wouldn't that match even your own "blockchain" definition?
Oh, I'm glad you found that explainer! I'm glad you enjoyed it :).
This really misses the picture of what's going on. Fedcoin could be coordinated by the federal but live on or be connected to a public smart contract platform where that, now digitised asset, could be used programmatically and interdependently with many other systems in a much more efficient and easy to assemble way than can now be done. This may not sound like a good idea to most on hn but it's at least new.
Smart contracts are cool, but I don't think smart contracts and blockchain are the same technology. (Indeed, Bitcoin does not meaningfully support smart contracts, so we should use different words because they're different concepts.)
It's certainly possible to implement centralized, non-proof-of-work smart contracts: publicly send the Fed's API a Lua script. Whenever the Fed changes their ledger, they run your Lua script in a sandbox with limited CPU, see if it outputs any transactions, and processes them. Anyone can run the Lua script themselves and see if the Fed was trustworthy - but if the Fed chooses not to run your script, well, that's just a centralized bank doing its centralized thing, tough luck.
If you want to not put your reliance on a centralized bank to run your script, then you've got to use a distributed consensus platform. Even if you had something Ethereum-like that the Fed simply oversaw, they could just refuse blocks they don't like (and in fact they'd essentially have to to have any meaningful control of the currency at all), so all the complexity of gas and proof-of-work isn't buying you anything.
Relatedly, and along the lines of what 'patio11 was saying: you can implement smart contracts for a centralized currency today. A startup that had its own API for opening accounts, sending it USD, and running publicly-visible Lua scripts would be a straightforward thing to build, and if that startup ran for enough time, you'd gain (centralized) trust in it doing its thing.
Again, there are perfectly fine and very useful blockchains that do not provide any kind of trustlessness. See corda.net. This insistence that a blockchain cannot be permissioned is not accepted by most people. It's silly to keep insisting a word means some restrictive value of X when a great many people do not use it as such. A FedCoin could be highly centralized and still provide enormous value as a trustworthy, distributed database.
The Fed can create unlimited money out of nowhere and doesn't have to answer questions about it from anybody. I don't think they dream is a transparent blockchain and money supply limited by an algorithm.
They don't want to be seen as "not having to answer to anyone" , so they would be going the blockchain rule, i.e. semi-accountability , i.e. stealing some of bitcoin's "decentralized" fame.
The whole point of having a national currency is that the money administrators answer to Congress, not the businesses who borrow and lend money. "Decentralization" means taking power away from Congress and giving it to Goldman Sachs and the other big banks.
The Fed is a private entity which is owned by its "Member Banks" (ie. big banks).
https://en.wikipedia.org/wiki/Federal_Reserve_System#Member_...
Moreover, the currency that the Fed issues is not technically a "national currency", its "Federal Reserve Notes", that is a debt instrument which is theoretically backed by "US Dollars". Where are these US Dollars?..and more importantly how do we get some?
It is not "owned" except in a weird metaphorical sense, and moreover, big banks are obligated to own an exact amount of shares - no more and no less, and they may not sell them - by act of Congress. If you scroll a little bit up from your link: "the 'ownership" of the Reserve Banks by the commercial banks is symbolic; they do not exercise the proprietary control associated with the concept of ownership nor share, beyond the statutory dividend, in Reserve Bank 'profits.'"
A "US Dollar" is a unit of measurement; a "Federal Reserve Note" is a physical object. You can no more own a US dollar than you can own an acre or a joule, but you can certainly own land or a battery. Casting doubt on the US dollar because you can't touch it makes as much sense as casting doubt on meters or Bitcoins or Goldman Sachs because you can't touch them either. They're all social constructs, but social constructs are quite real for anyone participating in the society that constructed them.
So, Tether?
Would it have an incentivized structure?
It could be reasonable to somehow have control over things like the difficulty of mining or to be able to spawn new currency at a reduced cost via some sort of master certificate while still allowing transfer without communicating with a central coordinator system. A distributed system is a lot less likely to go down or become completely compromised.
The properties of "unlikely to go down" don't require a trustless blockchain; the attributes of being resistant to a node being compromised don't require trust beyond consensus. git is unlikely to go down and verifiable. Copies of a git repo verified by gpg signatures and repos that only accept commits that pass verification requires only as much distribution as running three instances. The fed can do all of this without giving up any control.
There is a tremendous difference between "we have three servers so our stuff probably won't go down" and "the system could theoretically remain in use forever even if we disappeared from the world".
And that difference is gigawatts of power. A system that's "only" as reliable as Fedwire or SWIFT but uses 99% less power than cryptocurrency is an interesting tradeoff.
No. It's not like all the Chinese miners are controlled by the government. It's not some monolithic agency.
And then, there are many other coins.
All Chinese miners are subject to the government's laws. They don't have to be directly day-to-day controlled by the government for the government to say, "We are applying sanctions to this entity, nobody may participate in helping them move money. Mining a block that involves a transaction from this Bitcoin address counts as helping them move money. Mining on top of any new blocks that involves transactions from this Bitcoin address, and therefore causing consensus to accept that block as part of the longest chain, also counts as helping them move money."
This isn't a China-specific argument: I'd expect that any functioning government could the same. The only difference is that governments without a working national firewall would probably be less willing to spend resources on chasing down miners who connect to Bitcoin peers via VPNs in other countries. It just happens to be true in this case that the Chinese government has a national firewall that they use to shut down VPNs, the Chinese government's international interests are often opposed to the US Fed's, and 70% of Bitcoin mining happened in China's jurisdiction last year.
It's a safe assumption that everything is under government control in China. If not today, maybe tomorrow.
I am always curious, blockchain was not defined in Nakamoto's work. So, where did the word actually originate from? And what did it meant for the word's inventor.
However the whitepaper does use the phrase "chain of blocks". https://bitcoin.org/bitcoin.pdf, page 7.
So probably the word "blockchain" came about because someone read or heard someone else say "chain of blocks" in the paper and they said "oh, so a blockchain", and thus the word was born.
Wikipedia cites what looks like a mirror of Nakamoto's original Bitcoin source, which uses "block chain" in the comments of main.h: https://github.com/trottier/original-bitcoin/blob/master/src...
I would say this is a rather limited, technical understanding of a blockchain. The three most interesting aspects of a blockchain are (1) the state of blockchain is visible to all participants (2) the rules (the code) for changing the state is visible to all participants and (3) there is some mechanism to detect and punish rule breakers and aggressors who try to deform the state. Look at it this way and indeed a blockchain is really a very sophisticated collaboration model.
You don't need the distributed consensus or the decentralization or the trustlessness. There are blockchains with central coordinators and without trustlessness that may still prove very useful especially in global finance. People think Bitcoin or Ethereum are complicated but really, they are nothing compared to the global financial system. Distributed blockchain databases are much more elegant than what we have today in terms of achieving consensus on a very large (global) scale.
FedCoin is a crazy idea but it's not stupid. A national public ledger would open a lot of very interesting doors. (Though the republic would likely collapse, see my other comment.) Even if the Fed required only trusted nodes (ie bank-like entities) it still would provide everything from a true national ID system to real, binding peer-2-peer lending between citizens to a system where everybody has perfect, real-time visibility into the national economy (unlike the primitive system we have today where the Fed collects a bunch a data, massages it, and then announces it each month.) Lots of other problems -- everything from medical records to real-estate -- become a lot more tractable.
What? There is no mechanism to "detect and punish rule-breakers" in either Ethereum or Bitcoin. Bitcoin's only mechanism is to push global human-readable alerts, or to pressure rule-breakers to stop through a blog post, as in the case of SPV mining: https://bitcoin.org/en/alert/2015-07-04-spv-mining.
If you define "rule-breaker" as "generates invalid blocks", then the only punishment rule-breakers receive is that... their block is invalid, they're ignored, and they get to try again next time.
I don't see any sophisticated collaboration model in play here.
Why aren't they solved by a database and a public API? What does the blockchain add?
Blockchain coordinates databases over different legal entities. That's the magic. It's still your DB in your Datacenter when you run your own node. You have autonomy over your own records with your keys. And you have visibility of all other records. A big central DB is under the control of a central body. With a blockchain the central control is / could be limited.
Definitely, but this is a feature that a centralized authority like the fed would prefer to do without. Whatever technology is behind any sort of "FedCoin" would certainly not be blockchain. They will not relinquish control of their currency, doing so would make themselves obsolete.
(1), (2), and (3) are true of Certificate Transparency.
(1), (2), and (3) are true of a system where a single trusted coordinator gets to order (and perhaps reject) transactions. A slightly less anonymous version of any electronic stock exchange would count.
(1), (2), and (3) are true of the Debian apt repository.
(1), (2), and (3) are true of any game without secret information, like chess or Go or Pretty Pretty Princess.
You could call all of these "blockchains," but I think that makes the term so generic as to be useless. If you want a national public ledger, that sounds interesting, but please call it a national public ledger, not a blockchain.