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!
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.
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
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.
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"
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!
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 :).
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.
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?
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.
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.
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.
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.
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.
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?
(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.
The Fed already has "FedCoin" for all intents and purposes, and does not need the cooperative casino incentive system known as a blockchain in order to compel rules-compliant participation from its users.
If the blockchain crowd wants to relearn those lessons, they are welcome to, as long as they keep their shenanigans out of the real economy and away from people who don't want anything to do with the experiment.
Transparency is everything. This also explains why a currency like XRP is not a real blockchain. Beware these pseudo-blockchain projects, because they are much more similar to your example from the 1800s.
But that's just a natural by-product of crypto currency's evolution. The amounts being raised in ICO's has been steadily decreasing. In summer 2017, you could raise $100M on a half decent project. Today, you're lucky to raise $10M. Investors are also demanding more transparency and deliverables from the projects.
This trend will continue as the market matures. Fundraising will continuously become more difficult once investors get burned a few times. This is all very new, people have no idea what they're doing. Eventually the fools will go broke and the smart money will remain.
The reality is that with so many scams / useless projects being launched every day, investors need to do more and more research to get positive ROI.
Hayek wrote a book arguing that a system of competing privately-issued currencies would ultimately result in currencies with stable value. Of course we haven't yet seen evidence for that either.
I'm not sure what evidence we should even be looking for here, but certainly the share of Bitcoin in the cryptocurrency markets has dropped alongside its value. Anecdotally, most people I've talked to holding, say, ETH, would be holding more BTC otherwise, so it's hard to argue that the competition doesn't depress the price.
As for the Hayek reference, I have some thoughts on that: https://paulbutler.org/archives/stop-dragging-hayek-into-bit...
And now it's back with technology behind it. A lot of people call ICOs scams. What's the equivalent bank run? Perhaps a panic flee from fiat reserves?
Bitconnect is sure to be one of the first of many examples. https://en.wikipedia.org/wiki/Bitconnect
This is probably the one "feature" of blockchains that will kill it, since they're based on proof-of-lots=of-work, and work needs power.
This proof of concept can now manifest itself in a variety of formats. Many of which we cannot fathom today, because they haven't yet been invented. There are many intelligent people now working on this problem and improving the way a blockchain works, or even pulling from that proof of concept and rethinking the solution without traditional blockchain.
People are too heavily focused on what the technology is capable of right now. That is irrelevant. The industry is in its infancy. Up until 5 years ago, the only blockchains that still exist today in any meaningful format are Bitcoin and Litecoin. Litecoin is just a Bitcoin clone.
Just wait and see how this space will develop over the next 10, 20, 30 years. The proof of concept is that people will assign value to digital assets without any authority backing them. That's the most important development.
> There are many intelligent people now working on this problem and improving the way a blockchain works, or even pulling from that proof of concept and rethinking the solution without traditional blockchain.
In other words, no blockchain is better than blockchain.
Why? There are many Proof of Stake coins out there too, for instance Dash and NEO (and many more coming).
I mean let me put it this way, how can you even claim that a blockchain requires more energy than a Visa transaction? Isn't the price of a transaction an indicator of the amount of energy needed for it, for ordinal comparison?
For instance, if Visa charges $0.3 per transaction, and another network (Whether it's cryptocurrencies or Gnomes carrying gold from you to the other person) charges $0.2 per tx, then as long as the two compete freely, you can say that the energy required by the latter is lower than the energy required by the former.
Keep in mind, I said 'compete' and 'freely'. Visa may have a higher profit margin because the alternate payment system isn't popular enough yet, so Visa's power expenditure could be much lower than reflected by their tx fee.
A means of exchange
A unit of account
A store of value
They satisfy the first but not the other two. I cannot know for sure what value my coins have on any given day, let alone what they are likely to be valued at by next year. Thus they do not act as a store of value nor a unit of account.
If it takes the electricity consumption of Denmark to secure less than $10bn in transactions, how much will it take to replace the $6tn daily Forex volumes?
Honestly I wish people would realise how utterly pointless crypto is as a currency. Maybe then I'll get a cheap graphics card.
A unit of account from my understanding simply means that other people are willing to price their goods/services in your currency. This is a by-product of people participating and using the token, and it being stable enough. So once there is a "stablecoin" that gains traction, this will surely follow.
At the end of the day, there is no button that can be pressed to remove your access to the system.
Simply using a smart contract between two parties doesn't give the underlying coin stability, and it introduces the risk that one party ends up with an undervalued/overvalued coin. The average person will still earn in dollars, shop in dollars, pay tax in dollars and do accounts in dollars. The demand for crypto as a result will be restricted to speculators, criminals and (some) geeks. I cannot see stability anywhere on the horizon.
To solve proof-of-work consuming too much electricity, Ethereum is upgrading to proof-of-stake which is on the roadmap and consumes a negligible amount of power.
Proof of stake is built on trust, much like the financial system, so why reinvent the wheel for a corruptible ledger of a non-trustless, non-currency?
Otherwise armed groups would seize the miners or break into the exchanges and use physical force to steal the bitcoin.
If cryptocurrency and blockchain technology really are the future of money, the world’s central banks need to get involved, a former Fed governor argues.
Isn't that a big "if"? And in that case, the real headline should be - "If Cyrptocurrency is the future Feds should build a Fedcoin says a former Fed Governor".
And I think people who talk about how banks/Visa might be affected by cyrpotcurrency should take some time to read this:
In a nutshell, the St. Louis Fed thinks there's no good case for central banks to get involved in creating cryptocurrencies (though there is a case for fiat electronic money). ISTR that the Swiss National Bank expressed pretty-much the same opinion, too, not more than a few weeks ago.
What the linked paper is talking about (it's also part of the Swiss proposal) is to provide accounts for private individuals (not just banks and large financial institutions) to access this kind of money. The advantage is zero risk of losing your money (unlike commercial banks it wouldn't require the Government having to bail anyone out or insure anything), but the downside is reserves don't attract any interest.
If you'd add a reputable escrow service, dispute resolution system and fraud insurance on top of any cryptocurrency, these features will drive the cost up just as high or more.
This is why e.g. ALDI for many years only took EC, but not MasterCard or VISA.
It's the other way around: the fact that publicly provable and verifiable financial systems are possible, yet the central banks didn't work this out (what they should have been striving for from the start), nor improve on it for another decade now is what fuels distrust of the old blindly trusted financial systems.
What Fed and others in banking want is new forms of distributed accounting and settlement processes. You can apply the cryptographic technology for verifying and connecting database rows across institutions in a way that is both transparent, private and secure. If there is a public ledger online, it can be audited by anyone.
Sometimes I think fed has learned from Bitcoin that they don't trust us with Bitcoin, and they shouldn't trust us with cash either. I don't feel like they really give a shit about what a distributed ledger actually accomplishes and how it protects users.
Additionally, mining. Mining is a huge problem in my eyes because it wastes a ridiculous amount of energy to not produce anything. I'd love to just buy-in with my credit card or with cash, and have those coins generated (until supply is depleted) to meet the value at that time. If fedcoin worked like that, that'd be neat. Otherwise, it's just an energy sink, and I think we should start being more conscious at where all this energy is going.
Side question, HNers who use Bitcoin, why are you using bitcoin? Why aren't you using monero? If it's just convention, then switch! That's how conventions change!
Then the government would just let those coins that pass through this with open arms. Regulation now is the biggest part of an ICO and if you are an investment bank and want a big piece of the distributed ledger pie you probably are already figuring out how to do this.
I was at a meeting with laywers who wanted to understand what an ICO is. KYC and AML laws are now the big problems on implementing an ICO. 2017 was the start of the ICO boom and 2018 will be the start of the enforcement. Expect a bunch of coins to disappear.
For what it's worth, I've been hearing "X will be the year of regulatory enforcement" since 2014. So far all we've seen is a very level-headed and even-handed approach targeting just the outright scams. "year of regulatory enforcement" in the crypto currency space is becoming a bit like the "year of linux on the desktop" meme.
To add: enforcement resources are limited. Every cryptocurrency fraud investigated is a bread and butter fraud ignored. While caveat emptor isn't the law of the land, justice is a slow-turning mechanism. What will be enforced in the long term need not be addressed in the short.
Remember that Coinbase was asked to reveal people who made trades over $10,000.
I was at a conference with someone who gave a speech saying that ~80% of all ICOs are fraudulent. I think that is a bit low in my opinion.
Basically if you're running a ponzi scheme, an investor con, an unlicensed custodial bank, a non-conforming public securities offering, or a money-laundering operation, expect some agency of the Feds to come calling. But, uh.. duh? That has nothing to do with whether you are handling crypto currency or not.
So far we haven't seen action against legitimately innovative, non-scammy operations in this space. Just the offenders that are quite clearly and quite brazenly flipping their middle finger to the regulations.
If the Feds can make it disappear, it was worthless anyway.
Maybe some of the wacko nut-jobs out there in cryptocurrency fandom. But most would welcome this with open arms. It would mean that you could create smart contracts denominated in fiat, or trustless exchanges, or trustless covered shorts on the price of bitcoin, etc. What's the downside?
You can't "dobule spend" the same value.
FedCoin would have one benefit though over a traditional banking system and that is surveillance. It'd be very interesting to have a public, error-free record of eactly how much money each citizen is receiving or has. If it ever did happen and people could see in perfect black and white just how ridiculously unequal the country is I don't think the republic would survive much longer after that.
Which is why this article is kinda hilarious. Even the central bankers, supposedly the smartest men on the planet, don't grasp that this is the whole reason private banks exist: to obfuscate cash and risk flows. Like that's the point . We wouldn't have an economy if private banks couldn't do their thing. An economy based on any kind of public ledger without private banking (and private ledgers) would be radically different.
That said, I have some sympathy for any policy maker giving public statements in an overheated economy: the seeds of the crisis have already been laid and the statements one makes may actually precipitate the crisis rather than avoid it...
More like “when”