
Blockchains Considered Harmful: Is Brute-Force Processing Replacing Good Design? - jcbeard
https://www.sigarch.org/blockchains-considered-harmful-is-brute-force-processing-replacing-good-design/
======
leashless
Hi. I'm Vinay Gupta, the release coordinator for the Ethereum launch.

Firstly, nobody believes that Proof of Work is here to stay - it's bleeding
money from the currencies that use it at an astonishing rate, and as soon as
Proof of Stake (or other algorithms) can replace it, they will. PoW is a
direct financial drag on these economies, and it will not last long. Bitcoin
will probably take longer to clean up its act than Ethereum, but that's
largely for political reasons, not technical ones. Technically, it should be a
lot easier to do than Ethereum, in fact. (It helps not being nearly Turing
complete.)

Secondly, brute force is how things begin. The Unix philosophy has always
suggested using brute force first: premature optimization is the root of all
evil, as they say. We are at the very earliest stages of designing global
public heterogeneous parallel supercomputers, and we should not be surprised
that the early approaches are brute force.

It won't be that way for long.

~~~
gus_massa
> _nobody believes that Proof of Work is here to stay_

I do. I prefer to call it "Proof of Burn" instead of "Proof of Work". With
Proof of Burn you can assure that it's difficult to create fake blocks because
the attacker must burn even more petrol barrels that the good people.

Also, with Proof of Burn you get protection against an explosion of too many
hard forks. If you have a hard fork in a Proof of Burn coin, the miners must
select one chain to mine (or split the resources), so usually only one chain
survives. In a Proof of Stake coin, after a hard fork the miners can continue
mining in both chains.

~~~
diegocerdan
Proof of Work (PoW) is inherent inferior to Proof of Stake (PoS). PoW is just
the most simple way to archive consensus through cryptoeconomic incentives and
that is why first blockchains implemented it.

It is not true that on PoS you can mine multiple forked chains without being
penalized. On the chain that "wins" you can be penalized for mining multiple
chains which is clearly bad behavior.

The main problems of PoS that Casper, the Ethereum implementation, is trying
to solve are "Nothing at Stake" and "Long Range Attacks". Both problems are
being tackled right now and close to be solved.

~~~
tromp
> It is not true that on PoS you can mine multiple forked chains without being
> penalized.

You're confusing multiple branches competing for being the most-cumulative-
difficulty branch, with multiple distinct cryptocurrencies resulting from a
hardforking code change.

Penalization only applies to the first case, but the parent was talking about
the latter case. E.g. a miner could mine both ETH and ETC once both adopt PoS.

~~~
diegocerdan
True. OP said _hard forks_ and I talked about natural forks.

I don't see any problem in hard forks and being able to stake on multiple
chains. Let people hard fork as much as they want and decide, later on, which
chains hold value.

~~~
aeternus
>decide, later on, which chains hold value

How? Who decides?

This is really where every PoS algorithm seems to break down. The whole idea
of blockchain is to build a decentralized consensus, and PoS just handwaves it
away.

~~~
diegocerdan
>Who decides?

Every user of the system.

>How?

Mostly by taking in consideration the differences of the software from both
chains.

------
earlz
I agree, there are much better consensus methods than Proof of Work. It's just
that PoW is by far the most simple to implement. If you just take a peak at
the ecosystem, especially around 2013-2015, it seems like every "altcoin"
project had created their own consensus system. Of course, many of these were
terrible.. but it's a good sign that this space has been trying to get away
from regular ol' PoW since people started really finding out about Bitcoin.

Peercoin invented the core basis of the PoS algorithm in 2012 that was used
throughout the 2013 and 2014 altcoin craze. This is still being used today in
various projects, in augmented forms. Some projects tried to incentivize not
just holding coins, but also making transactions (PoSV/proof of stake
velocity, IIRC). Some projects tried making it so that you must burn coins to
create blocks (proof of burn). And some projects tried doing genuinely useful
computations instead of plain proof of work, such as doing protein unfolding
(I think this was Curecoin?)... And then Dash invented the dBPF algorithm
which is used by numerous coins today beyond just Dash and is similar to PoS
but with a set number of stakers. (usually elected through an election on the
blockchain)

If you look beyond Bitcoin there is a ton of innovation taking place in this
space, and there has been for some time now. A lot of it is mired in scams,
trolls, shills, and FUD.. but there is some genuinely awesome innovation
happening in this space to drive forward consensus algorithms.

(source: co-founder of Qtum, a project in this space)

~~~
dozzie
> I agree, there are much better consensus methods than Proof of Work.

It's like saying that there are better grammar parsing methods than binary
search. Blockchain is not a consensus protocol.

------
qznc
> “Proof-of-Work” exists because money is being created. It is, then,
> impossible to “create a new form of money” without invoking Proof-of-Work.

> Satoshi’s design insight was to channel that inevitable work into a
> cumulative process, to optimally stablize a peer-to-peer clock in a cartel-
> resistant way.

– Paul Sztorc [http://www.truthcoin.info/blog/pow-
cheapest/](http://www.truthcoin.info/blog/pow-cheapest/)

~~~
xg15
How is something cartel-resistant that _requires_ that entities must
accumulate more and more capital (mining power) to still be able to
participate?

~~~
tboyd47
Mining profitability is an equation with many variables. If the value of the
reward climbs faster than mining technology advances, we might see mining open
to regular people again.

Also, the traditional cartel action of limiting supply to inflate price would
not work in Bitcoin due to auto-adjusting difficulty.

------
nikolay
It always bothered me how computer engineers who try to conserve energy and
optimize all the time were excited by the wasteful Bitcoin implementation only
because they see a potential in it to increase their wealth. It's like
glorifying random sort because we haven't invented the bubble sort yet!

~~~
feedjoelpie
If you're talking history, I don't think that's quite fair. The whole hash-
based algorithm was just the most mathematically simplistic way to make the
idea work. It still is.

If you're talking present-day, yeah, mostly Bitcoin hoarders don't want to see
any change that might make their currency start functioning like a currency
instead of fake gold.

------
alistproducer2
PoW sticks because as a consensus backbone because it's 1.) easy to understand
and implement and 2.) it's guarantees distribution of updates to the
distributed state. IMO there are better ways to trustlessly secure distributed
state but like all things there's a trade-off. The dirty secret of blockchain
tech is that it can't scale - not without supplementary protocols. Even when
you get it to scale you still have to deal with the storage of the blockchain.
Bandwidth constrains the size of the blocks, which in turn constrains the
amount of transactions. Turn up the block creation frequency (a la ETH) and
you solved one problemt (Tx throughput) but created another (chain size).

I am fundamentally opposed to PoW because it wastes so many resources, but,
for now, it's the most viable way to secure a chain. PoS is doomed to
centralization and relies too much on game theory and incentives for my
tastes. just my 2 cents

------
stale2002
This person is effectively arguing that all of Bitcoins problems would be
solved by just using a centralized system.

This is correct, but it misses the point.

The whole point of crytocurrencies is to order transactions WITHOUT a
centralized system.

There are many centralized systems already. If you want the benefits and
tradeoffs of those, just go use one of them.

The people who do NOT like those tradeoffs will stay with crytocurrencies.

~~~
xg15
He also argues that those lofty ambitions come with a hefty bit of
externalized cost - insanely high energy consumption - that is currently
conveniently ignored but is harmful in the long run - for everyone, no matter
if they use cryptocurrencies or not.

~~~
stale2002
It's not externalized costs though. It's just regular costs.

People aren't stealing that energy (well, MOST miners aren't) . They are
paying real money for it.

How is spending money to buy something and then using that thing (energy in
this case) an externality?

Is me leaving the lights on at my house an externality? I don't think so. Im
the one paying the costs.

If you don't want to pay for crytocurrencies, you don't have to buy them.

~~~
techsupporter
In many parts of the world (and particularly the United States), electrical
power is generated through ways that are rather unfriendly to the environment,
especially when load is unexpectedly higher. Causing higher demand and, thus,
more pollution, is a negative externality that the miner is pushing off onto
the rest of the public.

(Yes, some exceptions apply, like buying power from system operators that are
primarily based around hydro or wind power.)

~~~
stale2002
> especially when load is unexpectedly higher

Interestingly, this is actually the opposite situation for bitcoin mining.

Bitcoin miners are usually located right next to massive solar power plants,
or hydro generators.

This way, the bitcoin miners use the excess energy, that nobody else was going
to use, and they use this "free/excess" energy because it is cheaper.

There is no reason at all to run your bitcoin miner during peak capacity, when
electricity prices are high. You just shut off the miners, and start them back
up again during the night or something.

Bitcoin mining could even be considered a POSITIVE externality, in some
situations, such as when power production is so high, that the power plants
sell it for negative dollars (ie, the extra power disrupts the grid, so they
need to get rid of it.).

------
saas_co_de
I agree with this and also fundamentally believe that trust is a feature in
systems and not a bug.

Building systems that work without trust (supposedly) is of very limited
social utility since increasing trust is what makes for a healthy society and
healthy economy.

~~~
stale2002
Fortunately for you, there are numerous centralized trust money systems
already. And if you want you should just go use one of those.

The rest of us who disagree should have the option of not using them though.

~~~
feedjoelpie
Not to be all "both sides tho," but I think you're both right. I code on
blockchain stuff from time to time, and it's both really awesome for the
decentralized no-trust part and straight-up nonsense for entire categories of
problems that would be better solved off-chain. The hype machine is crazy and
driving things toward the blockchain that absolutely don't belong there. ("Uh,
do you need a blockchain, or do you just need to cryptographically sign
something, and you've never thought about cryptography before today?") There
are still some very interesting untapped possibilities that aren't better-
served by any centralized system yet.

~~~
stale2002
Oh, yeah definitely. Blockchains are for if you care about decentralized
systems. And you pay a whole lot to get that one feature.

If you don't care about that one feature, decentralized blockchains are
strictly worse on a number of metrics.

------
Thinkbiz
Nice article. It is unfortunately woefully light, if not completely absent of
alternatives. Yes, it is a massive waste of energy, but the ability to both
prove and simultaneously detract counterfeits is brilliant as far as the
creation of a store of value is considered. In the long run, I believe, that
the optimization of ASICS + slowly decreasing power in the hands of a much
larger set of miners will be the long-term winning factor defining legitimacy
for POW algorithms. Until then the one who can burn energy faster and cheaper
(a baseline commodity to begin with) will win.

~~~
QAPereo
Do we have that much of a long run, especially at current projected levels of
waste, never mind use?

------
grondilu
One thing governments could do is this:

\- Create a digital token system that can be exchanged and accounted freely
via a centralized server.

\- Give it a name. Don't even call it a currency, let people use it as money
_if they want to_.

\- Give a limited amount to any citizen who wants some. Or maybe sell it,
whatever. Just figure out a way people can get some. It can't be so hard.

\- Promise there will never be more than some fixed amount in total.

Only governments could do something like that because despite everything, most
people trust them about money.

It'd be kind of a mixed between the different money systems.

~~~
abrkn
> \- Create a digital token system that can be exchanged and accounted freely
> via a centralized server.

This is a database

> \- Give it a name. Don't even call it a currency, let people use it as money
> if they want to.

A token that is used as currency is currency

> \- Give a limited amount to any citizen who wants some. Or maybe sell it,
> whatever. Just figure out a way people can get some. It can't be so hard.

How will the token have value if everyone receives it for free?

> \- Promise there will never be more than some fixed amount in total.

No one will fall for this again. Governments always print money to fund its
own projects

> Only governments could do something like that because despite everything,
> most people trust them about money.

Bitcoin's price goes up because people don't want to trust government with
money

~~~
grondilu
> No one will fall for this again. Governments always print money to fund its
> own projects

But if the total amount of money was publicly visible, things could be
different. For better or worse, people build trust from the past. If they see
that the government has not raised to the total amount for many years, they
may believe it won't do it either during many more years.

Kind of with treasure bonds. Despite the high level of debt most countries are
in, investors keep believing the countries will pay back, because they have
been for so long.

------
natural219
Vinay Gupta thinks "nobody believes PoW is here to stay". Other commenters
think "PoS might be impossible & no prominent cryptographer has some out in
support of it".

It's worth reminding people of the null hypothesis: Perhaps blockchains don't
work.

------
narrator
I don't like proof of stake because a large stake holder could be threatened
privately by a third party into corrupting the whole system. With proof of
work you need to spend a lot of money very publicly for a long time to break
it.

------
abrkn
Proof-of-Work gives the token value because something was lost in order to
create it

~~~
schmidty
What you’ve described is labor theory of value and I don’t think it makes
sense.

------
gardnr
It always puts me off when an article has "Considered Harmful" in the title.

~~~
hunter2_
I have to imagine some nonzero percentage of new CH essays are authored by
people who agree (i.e. have seen
[https://meyerweb.com/eric/comment/chech.html](https://meyerweb.com/eric/comment/chech.html)
and the like) but proceed anyway, since the clickbait nature of doing so
surely gives a boost exceeding the loss from those who are put off.

------
pishpash
"considered harmful" meme is tired and cliched, please retire.

~~~
kilovoltaire
"considered harmful" considered harmful

~~~
robotpony
""considered harmful" considered harmful" _considered harmful_

------
dozzie
> The underlying technology of blockchains to achieve distributed consensus
> has been touted as a solution to many challenges in decentralized systems.

I hate blockchain hype and I hope the whole bubble around it dies soon, but
even I can tell, judging from the title of the article and just the very first
paragraph, that the author doesn't know a shit about how the thing works or
why it is designed the way it is.

 _Blockchain does not solve consensus problem_. It's a timestamping service.
Not a consensus solver.

And then the author draws dumb statements about what blockchain is from all
over the place. Why the hell would anybody think "proof of work" is a
"solution to denial-of-service attacks"?

~~~
acjohnson55
Your comment comes off as pretty angry, yet I don't really get the faults
you're pointing out in the original article.

> Blockchain does not solve consensus problem. It's a timestamping service.
> Not a consensus solver.

Certainly Bitcoin seems to be a distributed consensus system. Is your
complaint that it takes a whole system on top to provide the consensus aspect,
which might be considered separate from the blockchain structure?

> Why the hell would anybody think "proof of work" is a "solution to denial-
> of-service attacks"?

Isn't it? You can exchange QoS for non-malicious users for protection from
DoS.

~~~
dozzie
>> Blockchain does not solve consensus problem. It's a timestamping service.

> Certainly Bitcoin seems to be a distributed consensus system.

It is not. Bitcoin only tells which of the pair of documents was earlier (a
document describes a single transaction). It doesn't allow to negotiate a
value. If you swapped producing the proof of work with sending the transaction
to a trusted third party for adding a timestamp, Bitcoin would work just as
well. Go read "trusted timestamping" topic, Wikipedia has a good description.

>> Why the hell would anybody think "proof of work" is a "solution to denial-
of-service attacks"?

> Isn't it?

What service does blockchain protect against availability disruption? How?

~~~
acjohnson55
Still not sure what you're saying. What do you mean by "negotiate"? Because
there are certainly rules for resolving conflicts. As long as we're using
Wikipedia, the article for consensus in computer science explicitly mentions
Bitcoin.

Proof of work can be used to protect against denial of service. If you provide
a web service, you can choose to require proof of work before serving a client
to make the client commit some proportional amount of effort.

~~~
dozzie
> Still not sure what you're saying. What do you mean by "negotiate"?

OK, then what _do you_ mean by "consensus"?

> As long as we're using Wikipedia, the article for consensus in computer
> science explicitly mentions Bitcoin.

Yes, and wrongly, too. Especially that the specific problem of establishing
consensus that the Wikipedia page talks about has, since its very first paper,
the impossibility proof at 1/3 of the participants, compared to 1/2 for
Bitcoin (which means that Bitcoin is something different than consensus with
Byzantine faults).

~~~
acjohnson55
> The consensus problem requires agreement among a number of processes (or
> agents) for a single data value. Some of the processes (agents) may fail or
> be unreliable in other ways, so consensus protocols must be fault tolerant
> or resilient. The processes must somehow put forth their candidate values,
> communicate with one another, and agree on a single consensus value.

This seems to me to be exactly what Bitcoin does, where the "value" is the sum
of all facts asserted on the blockchain.

~~~
dozzie
Wikipedia page is about a very concrete problem described in a specific paper.
Have you read the paper?

Then, Bitcoin does not allow to choose "the sum of all facts asserted on the
blockchain", not any more than a typical DHT or a gossip protocol in a peer-
to-peer network. In fact, there is nothing resembling the end state as in "we
now terminate the protocol with this value as the outcome", which is required
by definition of any type of "consensus" term.

Also, have you tried, _as I said two comments ago_ , swapping sealing
transactions using proof-of-work with a trusted third party that provides
unique timestamps for the transactions? Have you read what timestamping is?

~~~
acjohnson55
What paper are you even talking about? You _might_ even be right, but you are
a poor communicator.

~~~
dozzie
Well, I sort of assumed that since you voice your opinion about consensus as
defined in computer science, you at least should know _what it is_. I talk
about Leslie Lamport's (plus Shostak and Pease) original publication about
Byzantine generals problem, from 1982.

