Even if one needs trust that there's lack of tampering, publishing a real-time transaction log is in many cases sufficient, just as long as you're willing to trust that the central point is ordering transactions fairly. Which is fine in the case where there's a legal relationship between the entities involved.
For example I still often hear people say the blockchain is cool but the value token isn't. When I tell them blockchain without a value token doesn't incentivise decentralised mining and it's just a regular old database, there's just no real response because their point was a talking point they read somewhere.
I stopped talking about it around 2015, I just got bored of having the same conversations.
The moment that was, in retrospect, pivotal was being summoned to a meeting with some of our sales guys and an industry analyst as an 'authority' on blockchain (when really I'm just someone who had an interest in it). The analyst went on a long rant about how 'Smart Contracts' were going to revolutionise the insurance industry by being able to execute payouts automatically and how agreements were all going to be automated etc. etc. I tried to explain that 'Smart Contracts' weren't really 'smart' or 'contracts' and that what she was thinking about would probably be better described as 'Ricardian Contracts' (which don't require a blockchain to exist), but I could tell by the glazed over expression in her eyes that she was so sold on her notion of Smart Contracts that there was little to no chance that I was going to be able to dissuade her in a 15 minute discussion.
Really, you can keep adding hashes to your log, but a client needs to save old hashes and have some access to old logs before they can verify anything.
IMO, a large reason everything went blockchain is you can tack it in without changing anything. Just setup a process to modify your logs and boom another buzzword.
Having global consensus (PoW) is a different matter, but that doesn't mean what you are saying isn't a blockchain.
There is a good conversation me and @geofft had the other day, would love your thoughts on it: https://news.ycombinator.com/item?id=17000401
In practice, many of these organizations talking about using in-house blockchains have legal trust relationships and systems of laws in common, and they won't only be relying on a transaction log to make sure the record isn't getting fiddled.
And often the threat model isn't related to changing the historical ledger anyhow; there is a lot of fraud, embezzlement, and other financial crime that attacks other points in the system. That requires a significant system of financial controls, which will be sufficient to catch ledger tampering as well. Meaning that the checksums become a modest nice-to-have, not a significant anti-fraud technique.
You are saying because these types of verified logs can't control for other variables, they do not represent a "complete" set of the system, and therefore aren't as useful for fraud analysis? Hmm.
But this is where I feel like calling a cryptocurrency economic model a "blockchain" is just a silly misappropriation of a word. To me, clearly "blockchain" is not like "capital" or "communes", a blockchain is a cryptographically verified data structure. However, I do hear a lot of people throwing around the word "blockchain" just to reference an economic model, which seems excessive.
I like your point though, and well described.
So, while Blockchain has nothing directly to do with being distributed, that's just a useful feature but requires proof of work of some kind, or someone can quickly manufacture several blocks.
Fair point about it being distributed
The Proof of Work solves a separate problem, that of Double-Spending. The Proof of Work here isn't arbitrarily to slow the system itself down, just to slow non-canonical histories.
But that itself is not the "blockchain" (thus the "how do you define it?" question, I'm curious to hear your take), I'm just playing devil's advocate: A lot of people who weren't around in the 70s are now calling verified logs a "blockchain", now it is a stupid buzzword, but at what point do we consolidate the word for an idea, versus argue there are semantic differences?
Even if they did want that for some reason, most countries have anti money-laundering laws where you have to be able to stop doing business with certain parties.
These private institutions have way too much arbitrary power to decide the fates of others with opaque & inconsistent reasoning-- I see nearly anything providing a check against that power as useful. I'm no longer convinced blockchain tech is a viable answer, but I do think having a variety of non-consolidated payment processors to choose from is a good thing.
Payment processors have also been known to discriminate against perfectly legal businesses for a long list of random things some old jackass in a suit decided were too 'unsavory'.
I think these organizations are wrong to meddle so much rather than being passive facilitators as originally envisioned. They have a right to exclude things which put their assets at risk, as well as a legal obligation to assist law enforcement where appropriate, but beyond that neutrality and privacy should be the rule.
Typically, it's because of fraud, not unsavory-ness. Fraud on the customer's side, not the business'.
The solution to that is not making every transaction put the weight of fraud solely on the customer.
Edit: help me understand why you disagree
The real problem here is organisations jumping on the bandwagon without really understanding what they're doing.
Sure, when Maersk uses a private blockchain to track shipments, it's hard to see how it improves on an ordinary database.
But let's say you want to build a prediction market for official corruption. The minute you start taking bets on which government officials are taking bribes, you'll have a powerful people trying to take you offline.
It's extremely difficult to build a completely anonymous and decentralized application to do this, but decentralized nodes with anonymous validators that you control is a potential hybrid that's resistant to censorship.
Feel free to think up all the rules you want to prevent this, but a motivated entity can always simply pay large numbers of people to act on their behalf. If they're good at it, you won't know until it's too late.
Past a certain point, involving people's actual identities in the nitty gritty real world becomes increasingly necessary to establish trust. There are exceptions, but AFAICT they mostly rely on being uninteresting to would-be attackers.
Or did I miss something?
I've found myself asking that frequently with the blockchain/cryptocurrency mania. The answer has always been no.
If you just want to avoid tampering, you're better off with servers publishing (signed) messages and clients storing those in an append-only log; a good example are the CT logs: https://en.wikipedia.org/wiki/Certificate_Transparency
This is a little like how I used to not understand why banks or other large firms cared about blockchains at all - isn't the point to get rid of them? Then it became clear that the problem of individuals trying to sync views of balances over the internet without powerful middlemen is a scaled down (or up) instance of a more general problem that lots of firms have between themselves, trying to sync data between organisations. And that this is a legitimate problem to want to solve with peer to peer technologies.
The main reasons you see companies deploying "blockchain but we control all the nodes" - an apparently nonsensical setup - are twofold:
1. They do want the ability for other orgs to run nodes in their blockchain network, or rather, some of their customers want the ability to run their own nodes and rely on the centralised firm less. But many customers don't care. They prefer to trust a centralised authority, at least given the current state of technology. Therefore, firms want the ability to decentralise selectively in response to demand.
2. They're doing a tech refresh. The world is full of financial middlemen who have platforms decades old that have been incrementally patched and upgraded over time, often with lots of customers. They decide it's time to do a rebuild onto more modern tech, but they can't justify a from-scratch rewrite unless there is a significant difference that can't just be bolted on to the existing architecture. Decentralisation is an example of such a change. By betting on blockchain tech now, they open up the possibility of totally new business arrangements in future that would have been blocked by centralisation/lock-in fears today.
If you decide to make your existing business app selectively decentralisable - perhaps in order to unlock new features or products in an environment where customers are concerned about data sharing - then it makes sense that you'd maintain one platform, run all the nodes yourself and migrate users to it in bulk. You've opened up new options for yourself and if later the business winds change and you don't want to allow this anymore, OK, you have a slightly more complex architecture than a plain old SQL DB but modern DLT systems like Corda (the one I work on) map blockchain data through to relational databases anyway so you can still use a lot of the same tools and processes that you're used to. It's not quite such a huge leap as it'd have once have been.
Why might some customers not want to be decentralised? A situation we see a lot is where a business or industry group wants to allow people to run their own nodes, but isn't sure the usability of taking part in a P2P network is high enough for everyone (or are sure it isn't). Remember that many businesses have very small or sclerotic IT departments, or no IT department at all, and peer to peer networks are historically associated with piracy, viruses, spam etc. So that + the prevalence of the web means that setting up anything that isn't HTTP to port 80, like a business P2P node, is considered to be a bit novel and exotic.
Again, because Corda is designed for large firms it has features that help with this, in particular for really large and paranoid firms like banks where the internal IT departments don't always trust each other :) But ultimately if you're trying to pull off a major platform migration, you don't want it to hit the rocks if some users reject the idea of running local infrastructure and just want an ordinary web app.
This exact problem is prevalent in the Bitcoin and Ethereum communities too. Many users don't run nodes or even SPV wallets. They just dump all their coins on an exchange and trust a centralised service completely. They could go full P2P but that involves small sacrifices like having to back up your private keys, so they choose centralised trust instead. The nice thing about cryptocurrencies is users can choose their own configuration.
As a consequence of all this, a popular feature request for Corda and something we're spending a lot of time thinking about is how to split a node up, so parts of a node run in some cloud somewhere, and other parts run locally on e.g. a mobile or desktop app. For instance private keys and transaction signing could be done locally, with everything else run remotely - this is "share the my data but not my authority". In more advanced setups you allow people to migrate from hosted nodes to local nodes and back again in smooth automated ways.
I don't think we've written much on the topic of deployment with centralised nodes before though.
Is there any software out there that I could readily adapt to provide the same properties and guarantees without incurring hundreds of hours of development and testing?
Well, yes, it would have been possible. There are a couple of minor things the blockchain does better and a couple of things it does worse for this use case, but fundamentally, I believe the blockchain based solution was cheaper to build and will be cheaper to maintain.
People need to consider these solutions in the context of whether or not they solve business problems effectively, and put aside knee jerk reactions based on technological prejudices.
By using ethereum, we didn't need to write microservices to front the database, we didn't need to configure the database (not trivial if you want serializability https://blog.dbi-services.com/oracle-serializable-is-not-ser... ), we didn't need to write any cryptography code, we don't need to run any kind of infrastructure (let alone expensive, distributed infrastructure) to allow people to interact with and update the data. We get broadcasting of changes to clients so that the UIs can be kept up to date for free too.
We do have to carefully audit our smart contracts, but they are much smaller pieces of code than the microservices and triggers that we would otherwise have written.
Mainly, because our use case was similar to the crypto-asset tracking use case, there was a lot of code we could rely on already in ethereum that we would have had to write ourselves in the RDBMS world.
By the way, did you use any historical data from the tracking? Does ethereum provide good tools to analyze that?
If you can trust the miner, why not just use a regular RDBMS? The controller is the primary/master, you just need to disallow UPDATEs and DELETEs, and to have a constraint that prevents an account from spending more than they received. The other nodes are read-only replicas.
(To the complaint that a single master doesn't scale: it should scale as well as a single miner. They're both the only writer to the database.)
But your blockchain client will know immediately if the single miner has rewritten the block chain. It won't be able to download any new blocks based on the one it current thinks is head.
So while you can't stop the miner from doing what you said, no one will be fooled when it happens.
I suppose I could implement my own hash-chain to verify the authenticity? (aka, no missing data)
In my country, all invoicing software must implement that (it's part of the SAF-T format that we must deliver to the IRS), and it took us less than ten lines of Ruby to do it. It's literally concatenating a few strings, then using some crypto library to hash and sign it.
Verification is just doing the same process, then checking if the signed hashes match.
Actually, it's much worse from an efficiency point of view. Which means that all those applications are fad-driven.
I'm sure there can be genuinely useful applications for blockchain tech, but for now the only truly compelling one I'm aware of is to execute unlawful transactions (I don't count speculating on the price - something I've done too a bit - as genuinely useful).
Without experience most of the team is made of people who might have read up on the topic and thought - "Well! This can be changed via blockchain". What they don't realize is academic exhortations are vastly different from practical implementations.
For example, if everyone could implement that amazing trading system from that trading book, everyone would be millionaire. But that is never true. Another good example of this is the mistaken understanding of banking and especially Visa:
What this means blockchain solutions either run into issues during build or work in a very specific circumstances.
For example, the building block of most cryptocurrency is game theory - if someone takes over 51% then rational economical thing to do is continue the chain. But what if we have an irrational actor who doesn't care? Or what if people can manipulate the change even below 51%. A good example is the F2Pool's manipulation of Status ICO with 25% hash rate:
The problem was much more narrow than this: double spending prevention by an incentivized network of peers.
The basics of cryptographically secure electronic cash had been worked out long before Bitcoin came along in 2008.
What was new was the idea of replacing the mint (a trusted entity through which all transactions must flow) with an open P2P network secured by monetary incentives and probabilistic settlement.
With no controlling entity at the center of the system, no valid transaction can be censored. This is the new force that Bitcoin unleashed on the world: censorship-resistant electronic commerce.
The fact that Bitcoin's main value proposition is censorship resistance leads many in the affluent minority to miss the point of Bitcoin entirely. They don't have a money censorship problem (at least none they care to face), and they view everyone who does as morally inferior.
The Argentine and Venezuelan situations had a different cause: the economies had tried to peg to the dollar, but that requires capital controls in crisis situations to avoid capital flight.
In each case the fundamental problem is that a country can't print other countries' money; either they have to accept (a) the possibility of a bank run or (b) the possibility of a floating currency dramatically changing in purchasing power.
Bitcoin solves (a), IF AND ONLY IF people hold their own bitcoins rather than using exchanges. Bitcoin and gold advocates tend to avoid talking about problem (b) or pretend a rapid shift in purchasing power can't happen in the presence of a fixed money supply, which is contradicted by history.
Whichever it is, if he'd done illegal things presumably there'd be an open case against him for those things but there isn't. Even the sex charges were dropped (they'd have never survived court anyway, hence the paranoia). Now he's simply stuck because of his prior attempts to evade arrest.
I would argue that its strength lies in another area: It gets people excited. It makes people start thousands of new projects and companies, millions read all the news articles and a huge crowd invests a lot of money into the space.
And, of course, it gets people excited because it hits a nerve. It promises a change of power structure in the world. Away from monolithic, opaque, political structures to democratic, transparent, border-less systems. Changing the role of everyone from a helpless observer to an actice participant.
Obviously the build-up is messy and over-promising but it may very well change the core infrastructures of how the whole world currently operates - economically, politically and socially.
I mean, name the 10 biggest use cases. Bitcoin is 10 years old, it is a household name, it's been in every newspaper, every developer in the world has heard of it, it captured orders of magnitude more angel and venture investment than say a google or facebook did. It should have some genuine users who are using it not because it's a volatile asset class with an average annual return of >10x.
It's virtually impossible to find any usergroup of significance anymore. Outside of course the asset class, which so far hasn't changed the power structure so much as it has made a few techies and rich people (paper) rich.
Blockchains aren't widely exciting. There are some interesting applications, yes... but there are not millions of people following blockchains, there are not "thousands" of new projects. It's a quiet back-end evolution, not a revolution in the public-facing world.
I didn't know what a publican was, so I googled it...
a person who owns or manages a pub.
2.(in ancient Roman and biblical times)
a collector of taxes.
I assume the author is referring the first definition.
It all depends on incentive. BitTorrent was so popular that it had to be outlawed and heavily persecuted
> It doesn’t stand in for all the slow and messy bureaucracy and debate and human processes that go into building cooperation, and it never will.
Blockchains didn't want to go there anyway. But they replace the implied trust in statespersons that lies behind any bureaucracy with machines. thats quite radical, even if you layer a huge trust-based bureaucracy on top of that.
> there is no linear-causal relationship between decentralization in technical systems and egalitarian or equitable practices socially
There is a causal relationship between centralization of the internet and monopolies/inequality and everything that people hate
By the time the system has reached mass adoption, we will probably come to find that there is a central entity with majority influence over it but the utility and infrastructure integration will have such momentum that changing will be effectively impossible. Fringe communities may be able to operate relatively independently, but the core will be subject to the most dystopian control and tracking system ever devised - Huxley and Orwell could not have imagined worse.
That isn't to say that life won't be improved in general - there will be major positives. However, an undercurrent of entrapment will pervade even if it isn't at the forefront of attention.
On the other hand, a currency which people are forced to use by law (legal tender for tax payments) will always have a huge advantage. So if governments decide to move to most transactions in the national currency taking place via cryptographically signed attestations involving government-provided keys, that will be a major move towards the kind of dystopia you're imagining.
I fully expect governments will embrace and utilize crypto to terrifying effect. Maybe it's time for Mars colonization?
That’s not going to change with a different medium. It may change the parameters that they can control (ie no inflation) but it won’t change the inequality.
The 51% of the network will consist of a small number of wealthy as it always has.
2. The end
Nothing technical there but it is a central bank backed digital currency that IMHO exists as a consequence of cryptocurrencies.
My 2 eCents :P
Desktop publishing disrupted the idea of Copyright as Intellectual Property. The Internet obliterated it.
Open Source is a superior alternative to Capitalism. People cooperate on a project instead of capitalist organizations competing and trying to extract rents. In both cases, quality goes up but in the open source case, costs stay near zero the whole time. Once again this became possible because of information dissemination.
When Newton said he stood on the shoulders of giants, those giants didn’t charge rent!
Next will be open source drugs.
I would like to see a new system emerge. One where people GIVE AWAY their inventions because if they don’t, someone else will beat them to it, and control for a time the direction.
In this world, people are more free and Basic Income lets them choose what to do with their lives. Robots do more and more work while people contribute here and there to a growing snowball.
It is the world of OpenAI, Wikipedia, WikiNews and citizens uploading videos etc. and not this lamenting about how the newspaper industry will make money.
The alternatives to Capitalism aren’t “socialism” only. They are Collaboration. Science! Open source!
A society may be “free” by anarcho capitalist standards but each individual person may fear losing their paycheck. This is not sustainable in the face of technological unemployment.
What kind of freedom is it that you are coerced by the system into committing to working on things you don’t like in a constant state of food insecurity and pne month away from homelessness? This is the situation for millions of people.
It doesn’t have to be like that. We have enough resources to feed and house everyone ten times over.
> Desktop publishing disrupted the idea of Copyright as
> Intellectual Property. The Internet obliterated it.
> Open Source is a superior alternative to Capitalism.
> People cooperate on a project instead of capitalist organizations competing and trying to extract
> In both cases, quality goes up but in the open source case, costs stay near zero the whole time.
Once your consider the full chain, you're probably looking at something like 2000+ people working full time to make Game of Thrones. How do you organize and incentivize them when there is no material reward for their labor? Right now the incentive is "we'll give you money" and the system of governance is "the person who gives you money tells you want to do". That second part is as much the problem as the first; if you had 2000 people making GoT as a labor of love, what happens when there is a schism over how it should be adapted?
For example, Britannica was done in the way you say, while Wikipedia is a mashup of many edits by many people, and governance is done less by money and more by expertise and consensus of people with reputation.
Who says Game of Thrones needs to be done this way? We can always have capitalist projects. However, they have a totally different flavor. They suck you in, make you watch more and more, just like fb so you can make them money. Who needs these things, anyway? I for example didn’t have TV since grad school. Sure the high budget shows are cool but they aren’t essential to life.
I would even say Copyright can stat but Patents should go. Finding a life saving drug is way more major than producing a blockbuster movie.
Not to mention that a lot of stuff can now be automated, eg music production doesn’t require a 100 person orchestra anymore since you have synthesizers.
In fact, as costs come down we will have a glut of movies people produce in their bedroom. Just notice, there are no longer the “world class” mozarts and einsteins of the world. Now everything is more democratized.
Cryptocurrencies are a superior way to represent stocks, especially software company stocks where the service can be tightly coupled to the currency itself.
There are multiple reasons why cryptocurrencies are better at representing company ownership shares:
- There is no need to trust a middleman or government to maintain your holdings. There is no room for bad actors.
- Transparency regarding who owns what (assuming that the ledger is public).
- It can never go bankrupt unless all users of the network abandon it - But they all have a strong financial incentive to keep it running.
- It doesn't need government regulation to function properly; in fact, it transcends government boundaries. Loose government regulation makes it extremely liquid. Imagine if you could buy your lunch using company stocks directly instead of cash.
> Imagine if you could buy your lunch using company stocks directly instead of cash.
This sounds like an excellent way to complicate your tax return.