Hacker News new | ask | show | jobs
by thedancollins 2828 days ago
Over the past year I have gone from Blockchain enthusiast to more blockchain gadfly. The concept is truly revolutionary but the use cases I typically see trotted out are not compelling in any significant sense and could be solved without blockchain. I believe the reason for this is due to the fact that the true value of a blockchain solution is not in the data aspect of it (which everyone gravitates to and can quickly grasp and understand) but more in the transactability that a blockchain solution can offer. And the value of radical transactability requires much less of a myopic understanding of a person's business vertical than many professionals possess. In energy for instance, much talk about the financial aspect of a blockchain-based energy solution but absolutely zero talk of how the physical grid and infrastructure would engage to support the financial activity.
6 comments

> The concept is truly revolutionary

In what way? Publishing a DB dump with a checksum has been around for decades, and doesn't require a new user to download an entire history of deltas from day 1.

I'm curious about this as well. No one seem to be talking about specific attacks mitigated by blockchains as opposed to authorities signing current state.

The definition implies that if someone says "I'm on block 1000" they cannot create altered version of history without touching all the blocks after the change.

But how is this useful? If there is a disagreement about the last block, majority wins, right? So couldn't majority simply have the most up-to-date version of the database with a single signature?

The attacks that blockchain can protect against are:

- Fraud

- DDoS

- Censorship

The usefulness of a consensus protocol is that no one party can be trusted to have the most up-to-date AND valid blockchain. Every node has the incentive to cheat and the consensus rules define a method of evaluating the proposed chain of blocks and determine it's "trustworthiness". In PoW this is often an algorithm like Greedy Heaviest Observed Sub-Tree (GHOST) which favours the fork with the highest accumulated work.

This is why it's important that mining is an expensive activity, to discourage attackers from wasting thousands of euros in electricity and then losing the block reward payment.

>The usefulness of a consensus protocol is that no one party can be trusted to have the most up-to-date AND valid blockchain.

Consensus protocols do not require mining. You can simply poll X random nodes and compare what they tell you. I don't understand what mining adds to the equation. Okay, instead of "I need to control 50% of all nodes" it becomes "I need to control 50% of all mining capacity". Is that the point of mining? To make inserting hordes of cheap lying nodes impossible?

I didn't say that consensus protocols needed mining, only PoW which is a consensus protocol uses it.

You can poll multiple nodes and each one will give you a different answer because of message propagation times.

Mining fulfils two roles:

- identity management: To identify who is a trustworthy block producer in an anonymous and trustless network, mining introduces a cost to the block generation process and we use a game theory assumption that it serves as a barrier for attackers. This doesn't mean there aren't validation checks performed by other nodes in the network and the consensus forming rules themselves of course.

- consensus formation: In a distributed network, nodes are bound to disagree on which is the canonical chain out of two or more competing forks. The most common algorithm calculates the accumulated computational effort of each chain of blocks and picks the "heaviest" one, ie the one with the most work done on it. This has the nice side effect of ensuring economic finality for the transactions in those blocks.

>Is that the point of mining? To make inserting hordes of cheap lying nodes impossible?

That's called a Sybil attack, and yes that's one of the reasons.

Mining also makes creating blocks have a real world energy cost. So rewriting history quickly becomes almost impossible as blocks are added. An attacker would have to have more than 50% of all mining power for a sustained period of time.

I suggest reading the Bitcoin whitepaper, it's short and sweet.

https://bitcoin.org/bitcoin.pdf

>as opposed to authorities signing current state

That's what it solves. It removes the need for trust and dependence in a central authority. There's no central actor to hack, or that can abuse the system, or be compelled to censor.

Consider Paypal. They're obligated to follow the regulations of every single government whose citizens they serve. Paypal themselves can also make value judgements. That severely limits who can use the system, for what purposes, in what quantities, and how frequently.

FWIW, if a single actor could take command of more than 50% of a chain's hashrate then yes, they could take over and rewrite history. The theory was that this would be far too expensive in power and time for any such attack to succeed and if it did - the chain would simply fork at time pervious to the attack and the person that had taken the now defunct chain over would be the only person operating on that blockchain.
Blockchain is a revolutionary solution to the problem of achieving distributed consensus without a central authority that everyone must talk to and trust.

Unfortunately, this is a problem almost no-one has; meanwhile, where parties are able to agree on a trustworthy central authority - as parties operating within the rule of law, relying on cooperation with protocol and old-fashioned police/lawyers to identify and punish defectors in old-fashioned meatspace, generally are - blockchain is an incredibly expensive solution to the problem of distributed consensus compared to other options available to them.

The term blockchain should come with a way to decide consensus, like proof-of-work or possibly proof-of-stake. This is a solution to decentralized consensus which is a truly revolutionary concept.
From a technical perspective, yes. But the case for blockchain is difficult to make from a technical perspective so I do not bother talking about it. The tech struggles to be viable. With that said, everything is impossible .. until it is not. Somebody will figure it out.
What do you mean struggles to be viable? Cryptocurrencies is already viable and used in a lot of places. If you mean other usages of blockchain I do agree.

And please don't bring up scaling (it's already viable today so the future is irrelevant to the point) or high fess (caused by Bitcoin's incompetent devs).

The technology cannot support millions of transactions per second - at least not in the case of a bitcoin blockchain which uses a PoW consensus mechanism. I am not sure how to respond to the second statement as there is some hand-waving and dogmatic proclamation that scalability is not an issue. Saying that cryptocurrencies are used in certain cases today and therefore - scalability is not an issue is like saying you once ate an apple and therefore all apples are edible.
I'm saying it's already viable and as such handles the scale we have today. Complains like "but it can't scale to all of the payments in the world" is severely missing the point.

Also we can already achieve PayPal like transaction amounts today, with Bitcoin Cash having in practice 20% of throughput. The limiting factor to scale further is software limited, not hardware. Furthermore it's possible to reach VISA levels of throughput with further work.

Scaling is one of the hardest issues for sure, but dismissing the viability of cryptocurrency because of it is naive.

>Publishing a DB dump with a checksum has been around for decades

This solves the problem of where you would publish said checksum. Instead of publishing it in an issue of the New York Times, say (which could theoretically be forged), you publish it somewhere that you can be 99.99% sure won't be forged, is viewable to everyone, and can be done fairly cheaply and would likely hold up in any court of law.

However, that's pretty much it. That's the whole benefit. You could also probably publish said checksum on facebook, with the same likelihood of it not being tampered with.

Note that I'm not arguing that blockchain won't gain adoption, just as people probably could have made a similar value-based argument about facebook in its early days, I personally believe there are cultural forces that will keep some blockchain asset in somewhat high demand.

> However, that's pretty much it.

That's not quite it. The other thing you get is "and this database guaranteed to have some properties". In the case of bitcoin for example you are guaranteed every transaction was authorised by the owner of the bitcoin being exchanged and there are no double spends.

But even that's not quite it, because those properties are flexible - even for bitcoin. They are actually assertions made by computer programs, something the lines of "if the database says X an Y are true, then I say Z is true". For example X might be "I have the put $x in an escrow account". Y might be "I have not paid the supplier $x in the agreed y days". Z might be "The escrow agent is allowed to deduct an fee from $x for himself, and pay the balance to myself and the supplier as he sees fit".

And thus we have gone from publishing the checksum of a database to controlling what can happen to $x in the future.

In general taking a snapshot of a blockchain at a single point in time and saying "all I have done is published an immutable database" misses the bigger picture. The blockchain is a chain of assertions about what has happened in the past and based on those what can happen in the future - and you can't alter the control of those future assertions re-writing the past, which is prohibitively expensive.

We currently have another way of doing a similar thing that has been refined over the centuries - contracts, interpreted by courts rather than software, enforced by governments, police and guns. Right now the new boy on the block, blockchains, only thrives where this existing system refuses to play - which is to say illegal transactions. (And maybe its detractors are right - maybe it will always be too clumsy and slow to expand beyond that.) However to say the blockchain is merely a snap shot of its database rendered immutable by a published checksum is like saying our system of law is a just the series of title deeds on house, rendered immutable because they line in some government office.

Because it finally provides a mechanism by which bad actors on a network could face repercussions for their activity. Consider how different the internet would be if hyperlinks were two-way rather than one-way. Again, it is not only about data, it is about the speed of transactability that would result when value could be exchanged instantaneously with radical transparency behind the actors on the chain. Bankers go away, auditors go away, credit requirements for market participation go away. What could be do with the trillions of dollars tied up and sitting in credit collateral accounts? Liquidity is a good thing.
> Bankers go away

People will still need loans. People will still want low risk investment vehicles to "store" their wealth in. At least some sizable number of them will want an institutional actor to handle operational security and insure against key loss.

> auditors go away

The blockchain mostly guarantees that a ledger hasn't been tampered with, but it doesn't guarantee that the transactions were correct and complete in the first place. Plus, it's trivially easy to transfer funds without it registering on the ledger; all I have to do is create a wallet and give the private key to you out of band somehow.

> credit requirements for market participation go away.

There are no credit requirements today, as long as you're only spending funds you have on hand. Credit requirements allow an actor to spend funds they don't actually possess with a reasonable expectation that they will be willing and able to produce those funds (plus interest) at some later date. Having the ledger public reduces, but doesn't eliminate, the need for the actual providers of those temporary funds to want to form some expectations of future performance.

Most of the ancillary infrastructure that's grown up around fiat currencies is there for really good reasons, and most of those reasons don't automatically go away when the underlying currency type changes.

You are not grasping the import of being able to exchange value WITHOUT a banking system in place.

As for the credit requirements comment, yes - good point. But in the case of a micro-transaction, realtime agreement. I can consume 15 minutes of power and pay for it at 15:01. A credit requirement still exists -0 but it is one second as opposed to 60-90 days worth of power. This idea assumes many things into existence that do no currently exist - I am merely offering the idea as a thought experiment. Blockchain could make everything pay-as-you-consume.

I can exchange value today without a banking system in place. I have some paper currency in my possession, and if that doesn't work there are plenty of commodity goods available to barter with. You'll notice that even in situations where cash or barter are feasible the vast majority of actors opt into the banking system anyway.

Cryptocurrencies are genuinely useful for parties who don't have access to the formal banking system for one reason or another, but I've got every reason to believe that crypto-backed banks will still be profitable and that people will flock to them as soon as they're available.

As for microtransactions, I can also consume 15 minutes of some service and not pay for it at 15:01, then automatically generate another burner account to consume another 15 minutes. This might not work for power, since there's physical infrastructure that would have to be cut over, but it would work just fine for a very large number of other services. The service provider is going to pretty quickly generate some fraud prevention strategy to prevent you from doing that, and now we've reinvented credit requirements for market participation.

Yes, you have paper money in your possession that is only worth as much as a centralized bank SAYS it is. And the awesome thing about that is that centralized banks never print ridiculous amounts of money and devalue their own currencies. That would be crazy and short-sighted. What sort of idiots would do that?

Crytpocurrencies are useful to people for a variety of reasons. And if a bank wants to deal in crytpocurrency, that is fine with me. I am glad that you have no doubt they will be profitable but you are pulling such sentiment out of thin air. There is not a precedent for cryptocurrency and how it may affect and integrate with existing systems. But consider that if you consider having a bank involved is a good thing for cryptocurrency - you might not understand the point of blockchain.

And the final point, the ledger is open, and everyone can see everything. You must consider this aspect in your scenario. I would imagine such a microtransactions agreement manifested into a smart contract or if not, prepaid. But again, only at a 15 minute. There is a level of credit there but still much smaller than 30 days worth.

What benefit does transferring value with a blockchain have over any other method of transferring digital currency? People have been using chest keys and cosmetic items as currency on Steam for years, there are even sites where you can cash out and get money in exchange for digital currencies. Steam also has the benefit of being a point of authority that can handle fraud and theft.
I would offer that the value is the distributed ledger. Where everyone would see the quality of your business dealings because you kept them on a stable blockchain for all to see.
> it is about the speed of transactability

As somebody pointed out https://news.ycombinator.com/item?id=18076542 high transaction throughput is not exactly the killer feature of modern-day blockchains.

Well ok, buit I was talking about transactability - not throughput. I have stated numerous times that the tech struggles to be viable at scale. On Bitcoin's blockchain you can transact and settle in 10 minutes. That beats 2 to 3 days all day long in a fiat-based system.
This is somewhat disingenuous. Transaction times can be as low as 10 minutes on Bitcoin, but this has high volatility. If I look in the past few months, average transaction times spike to a few hours quite frequently. Of course, if you look at the graph for January, the average transaction time jumped to days.

In standard interbank settling times, the transaction time takes days. But that's because transactions will automatically abort if they don't clear fast enough, and banks will take as much time as they can to actually close the transaction so as to avoid having to reverse it after the fact. In practice, many banks are happy to credit your balance with the deposit immediately (if the deposit is small enough, about $5k with my bank) without waiting for confirmation.

Of course, the time it takes to settle the transaction actually doesn't matter that much for the most part. In many cases, the transaction clearing time is going to be an insignificant portion of the time between invoicing the transaction and actually sending the goods.

And the reason for the spikes - blockchain technology struggles to handle large transaction volumes. The consensus mechanism monitors block creation time and tries to keep it at 10 minutes. Ideally, there are never more than a block's worth of transactions to be created at any given time. When that is not the case a backup occurs and yes, the settling takes far too long. This is the technical challenge that must be overcome before a PoW backed blockchain should be considered "viable" ready-for-prime-time. It is a significant engineering problem that I am excited to try to solve.
I transacted and settled with a physical fiat currency today in 10 seconds.
This is a perfectly cromulent response (see what I did there)?

I'd argue that you did not settle a transaction but more exchanged in a barter of one item for another. I am glad it worked out well for you and pray that you will experience continued expedient transactions in the future - blockchain-powered or not.

Why does this matter? What can I do with ten minute settlements that I can't do with my debit card?
One of the ideas is that smaller payment amounts are viable on a blockchain - and there will be mining or transaction fees assessed but there will be fewer and smaller fees. Point-to-point transactability cuts out the ubiquitous payment middlemen and it gives the person making the transactions CONTROL of their transaction data. No longer will business pay credit companies to learn about you - they will have to pay YOU to learn about you.

Data is worth billions and trillions of dollars. And blockchain allows you to take control of it.

>Because it finally provides a mechanism by which bad actors on a network could face repercussions for their activity.

Would this require globally broadcasting all transaction? If yes, wouldn't globally broadcasting all transaction give you a lot of transparency anyway?

A blockchain is a ledger of all transactions, yes. Son the result is transparency.
Technically, you don't need to download the network's history to interact with it.

The reasons to run a personal node are related with privacy, trust and decentralisation.

Honestly, I don't see why everyone hates blockchain these days. Two things are going on:

1. It's a potentially revolutionary technology (trust-less, decentralized, nearly tamper proof, etc) that hasn't yet found a killer app(s) at scale

2. We're in the middle of a gold rush with zillions of shit-coins really throwing off the signal to noise ratio

This period will pass. Blockchain tech is maturing (PoS replacing PoW, throughput increasing, formal verification, on-chain governance, etc). Most of the shit-coins will disappear (a common headline these days is exchange X delisting NN coins because they're worthless). Things will consolidate, the really valuable tech will bubble to the top.

If you follow the news, you'd know there's a lot of stuff in the works, from major corporations to governments trialing blockchain for different purposes. Now, you can take a philosophical position about blockchain and say it's worthless, but the rest of the world doesn't seem to care and its widespread adoption is beginning to look like a foregone conclusion.

> In energy for instance, much talk about the financial aspect of a blockchain-based energy solution but absolutely zero talk of how the physical grid and infrastructure would engage to support the financial activity.

http://news.trust.org/item/20180828095937-yg29h/

This is a project trialing in Bangkok. Excess electricity from private solar is sold off automatically.

> Helping it along is blockchain, the distributed ledger technology that underpins bitcoin currency, which offers a transparent way to handle complex transactions between users, producers, and even traders and utilities.

> Blockchain also saves individuals the drudgery of switching between sending power and receiving it, said Martin.

I don't have any details, but it seems they've figured out how 'energy on blockchain' actually works. I have heard the project has been successful enough that city decided to tax them to the point of being unprofitable (will likely correct itself in the future, was probably just a knee jerk reaction).

>It's a potentially revolutionary technology (trust-less, decentralized, nearly tamper proof, etc) that hasn't yet found a killer app(s) at scale

I'd argue it has: cryptocurrency and all the criminal enterprises it supports (e.g., ransomware). If you're willing to enter legally-enforceable contracts with other parties, then "trustless" and "decentralized" don't matter all that much to you.

Ok, but counterpoint is obvious. Are there people using blockchain for illicit purposes? Yes. And also water is wet. There are also many people using cash for illicit purposes.

And of course, you can always include as many people in your transactions as possible but what blockchain does is to make those people unnecessary. Why is this important? Because it enables micro-transactions and credit-less agreements. A blockchain provide options that fiat-based systems can never provide.

I like the Bangkok example because it highlights that one of the problems we have in the "more developed" world economies is that we have existing systems and financial institutions to hurdle. Developing economies do not and it is giving them a fast track tot he new way of doing business. There is a good chance that when blockchain takes off - it will catch Wall Street off-guard.
Maybe this is a different way of putting it, but my assumption is that if there are killer apps for blockchain tech, the value created will tend to be in the equity of companies rather than tokens. In most cases where those things are being conflated (e.g. ICOs), there's no obvious reason for it. Not everything needs a bespoke ledger and microeconomy. The complexity is completely unjustified.
That is a good point and it is why I am slowly moving towards gadfly - the use cases typically do not NEED blockchain. The thing that is compelling about blockchain is not the tech, which is not ready for prime time - but in the idea of pseudonymous transparency, faster transactability, fewer middlemen in any given transaction, decentralized control ...
> Not everything needs a bespoke ledger and microeconomy. The complexity is completely unjustified.

I also think that the mad gold rush has the potential to turn off those who would build the real ecosystem, small pieces of useful, reusable smart-contract code at a time.

My friend, we are living in the Age of Complexity. Do you see ANY aspect of our lives that is getting simpler? Saying that the world doesn't need a realtime market for the valuation of chocolate bars - well, maybe it does. Maybe the end result is then cheap and freely available chocolate! What sort of monster are you, depriving the world of delicious chocolate?!
Can you give an example of this transactability, especially in an example where it would be superior to existing solutions?

Also, are you the Dan Collins in Phoenix? I think we did a project together about 4 years ago...

I am not that Dan Collins. And as for an example - credit card transactions. I am sure somebody else can provide more color but it is my understanding that there are 6 or 7 intermediaries that each credit card transaction travels through - each taking their fraction of a penny and delivering questionable value - all to eventually have that transaction finally settle 2-3 DAYS later. On a blockchain that can happen in as little as 10 minutes and nobody else is involved (other than the miners in the case of a PoW consensus-backed blockchain like Bitcoin).

But more importantly, blockchain might provide a way to get around the information asymmetry problem that dominates financial value exchange. Blockchain is better in the idea that the entity trying to transact exposes all their cards on the blockchain - if they want to extract value from a transaction it will not simply be because they "know more than you". Power to the people.

> I am sure somebody else can provide more color but it is my understanding that there are 6 or 7 intermediaries that each credit card transaction travels through - each taking their fraction of a penny and delivering questionable value - all to eventually have that transaction finally settle 2-3 DAYS later.

I worked on Square's payment systems and I agree. Most credit card payments at least go through a merchant acquirer, one or two card networks (they can proxy to one another), and the card issuer. Settlement tends to involve other parties like First Data. Sometimes there are extra middlemen like Braintree.

Settlement is slow mainly because of the ancient technology. Payments are usually settled in batches, which are typically processed once a day, and transferred with some variant of FTP. Since there are a few parties involved, it usually takes a few days for each of their batch settlement jobs to complete. The companies involved tend to be very cautious and slow to change; a lot of them still use COBOL running on IBM mainframes.

> On a blockchain that can happen in as little as 10 minutes

Or a matter of seconds with BFT systems :) I'm working on a BFT system with a goal of subsecond consensus.

I think you mean the idea of applying a naive concesus algorithm revolutionary, right?
I mean that the potential impact that a blokchain-based system could have on the way we generate and exchange value - could be revolutionary. It could be one way that wealth distribution could be facilitated if you buy the idea that data is the new currency. Blockchain brings power to the people because it puts data in the hands of the person with the keys to that data. Ideally, we are careful enough to maintain those keys and not abdicate control of them to yet another centralized authority.
The reason to build blockchain based systems is the desire for architectural decentralisation and trustless systems. Most use cases you can think of you have already seen elsewhere, hence why you can think about them right?

To give you a concrete example of a use case that can't be met without a blockchain, I'd suggest looking into Aragon and their DAO (decentralised autonomous organisation) software.