
Avoiding a pointless blockchain project - Hansi
http://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/
======
justsaysmthng
I've saved a couple of potential clients months of development time and
probably tens of thousand of dollars just by convincing them not to use a
blockchain.

So we have this great world changing idea which will transform, reinvent and
disrupt ... and it uses a blockchain to keep track of ....

Why the blockchain ? Because ... distributed ... anonymous ...

But you have user accounts on your servers.. your project is centralized by
design. Why not save yourself the trouble and use a mysql database ?

People like being involved in things which sound cool and they try to bend
reality so that they can find a use for a cool sounding technology.

~~~
protomyth
I think this story illustrates the thinking pretty well
[http://thedailywtf.com/articles/The_Complicator_0x27_s_Glove...](http://thedailywtf.com/articles/The_Complicator_0x27_s_Gloves)

~~~
wolfgke
The problem is not that the ideas are bad (they are not, IMHO), but the
opportunity cost of working on these problems instead of the original one.

~~~
acdha
Opportunity cost is a huge problem but it seems like an even more basic issue
is just the suitability for the underlying problem. The hype around
blockchains lead a lot of people to suggest them as alternatives for
relational databases or digital signatures, and even if a high-quality,
tested, easy to use, well-secured system magically appeared it'd still be an
inferior choice for any problem which can be solved with those tools:
transactions take orders of magnitude longer to clear and the capacity limit
is orders of magnitude smaller, customer service and fraud are hard problems
rather than routine operations, etc.

Even if the opportunity cost was zero, the choice wouldn't make sense unless
you had a problem which _cannot_ be solved well with mature tools.

~~~
wolfgke
> but it seems like an even more basic issue is just the suitability for the
> underlying problem.

Using unsuitable tools instead of working ones is also a kind of opportunity
cost.

~~~
acdha
They're definitely related problems — I just find it fascinating how often
enthusiasm leads people to completely downplay this category of problem, often
while spending non-trivial amounts of energy trying to deal with them

------
alex_hirner
After much exposure in big data processing and running an Ethereum meetup
since it wasn't yet cool, I think the main promise of this technology is more
conceptual than strictly determined by a dominant protocol. These are:

\- Fully user owned identities

\- Eradicating information asymmetry in mutually beneficial ways

\- Transparent update rules, i.e. an evolving but never deprecated API

Thus different roads will lead to those economic gains. Essentially you take
mongodb, encapsulate any write access into UDFs (=smart contracts) with
permission to execute based on a public/private key, a second set of
keyholders able to read and validate the log and et voila, all promises of
blockchain tech fulfilled.

~~~
natrius
The identity part is what's really going to surprise people. We now have the
tools to build IDs that are more reliable and resilient than state-issued IDs,
but can be used in any application without permission.

Forms? Where we're going, we don't need forms.

~~~
edraferi
Can you expand on that? As I understand it blockchains allow you to use a
private key as your master identity, but don't inherently provide tools for
connecting that key to a real-world identity.

Are you envisioning a system like Keybase, but completely distributed?

~~~
natrius
Blockchains are decentralized cloud computers that enforce rules on a
historical record. Bitcoin's rules are about managing a currency: how coins
are issued, how to transfer them, etc. You can build a blockchain that
enforces any rules, though, and Ethereum lets you define new rules without
having to spin up your own blockchain.

Your identity will no longer be a key. It will be a pointer to a program and
its associated storage on a blockchain. To identify yourself, give someone a
proof that you control that identity. To add a new key to the identity, use
the rules you put in place to add new keys. To change the rules that control
the identity, use the rules you put in place to change the rules. You can
build any rules for an identity management process into a program that runs on
a blockchain. Through trial and error, we will discover the most resilient
patterns with the least trust required.

~~~
pjc50
And what happens when you lose your keys?

~~~
obvio171
Solutions so far seem to boil down to either "trust other people"
(multisignature wallets) or "trust your devices" (a la Keybase:
[https://keybase.io/blog/keybase-new-key-
model](https://keybase.io/blog/keybase-new-key-model) ).

------
schoen
This is a helpful summary!

We could also say that blockchains can be useful in principle when people are
afraid of retroactive modification of history (for example because they get
hacked, or because of governmental pressure to falsify their records). This is
sort of an instance of this article's mutually-untrusting writers issue, but
it's an interesting one because the writers are saying that they don't want to
be trusted.

I think this is the case now for software distributors and certificate
authorities, among others (I gave a talk related to this at CCC); they are
saying "it's bad for _us_ and you if you just believe whatever we say, without
at least a way to know if a larger audience has heard it and whether we're
denying what we said before".

So we can also say that blockchains (or perhaps another kind of distributed
consensus mechanism; clearly Ben Laurie and others are claiming that
blockchains are too heavyweight some or all of the time) can be useful when
people are afraid that they're going to be made to emit writes that they
didn't want to, or to deny writes that they previously emitted.

~~~
zimbatm
For a CA they could structure their data as a log where each entry (new cert)
contains the checksum of the previous entry. That way it's not possible to
change the chain without unwinding it. Each person getting a new signed cert
now has the new HEAD of the log and unwinding means revoking all these
certificates.

Now if you put multiple CAs in the game it start to become interesting to use
a distributed ledger like the blockchain. If all the signed certs are
distributed as part of the ledger it becomes easier to track who issues certs
for what domain. Something we cannot do with the current SSL CA system.

~~~
schoen
There is already a mechanism in use for letting CAs be transparent about what
they've issued.

[https://www.certificate-transparency.org/](https://www.certificate-
transparency.org/)

Sorry I didn't mention it explicitly -- I was trying to draw an analogy to
show why blockchain-esque mechanisms are relevant here, and I thought readers
would already be aware of this system.

------
greenspot
Excellent post.

As much as I am fascinated by the Blockchain, Bitcoin and all related matters
the Blockchain shows how random projects are created around some tech just for
the sake to do something with this new tech.

People fell in love with the Blockchain and desperately try to find a use
case. Bitcoin was and I still think _is_ a killer use case for the Blockchain.
But in the last 24 months I met so many founders of blockchainy
startups—exceptional smart guys, after 15 minutes of listening to them I felt
so stupid like I missed the past five years of tech. But once you ask them
what is the use case of their new shiny blockchainy tech they don't give a
proper answer. Instead they shotgun more words with even higher confidence.

Again, absolutely nothing against the Blockchain and I am highly impressed by
Ethereum. And I understand that people often need to play around with new tech
some while to find proper use cases. But especially with the Blockchain I feel
that people do not find many more killer use cases beyond currency.

------
firmbeliever
Question - does the incentive (or lack thereof) of the miners to create the
blocks also need to be considered? There's an obvious incentive with bitcoin -
you make money. What would be the incentive for me to create a block of (using
one of this article's examples) entries on a shared calendar? It seems like
part of the reason that this works for bitcoin is precisely because the
"thing" being recorded (money) is something I also want as a miner. Why would
I want to put in the computational work to create a block of calendar entries?

~~~
ChemicalWarfare
Good question. The way this works right now is you can submit a non-payment tx
into the bitcoin network and attach tx fees to it just like you would with a
normal payment tx. Miner collects the fees when they mine the block with your
tx in it.

So from the miner's perspective the incentive is there. There's the "wasted
bandwidth" angle there as well but that's a different story...

~~~
firmbeliever
I get how it works with bitcoin - that's why I was saying the incentive is
obvious there. The miner makes money.

I was asking what the incentive would be to go through the computational
effort of creating a block in a system that doesn't involve money. The author
gave the example of using blockchain to maintain a shared calendar. What
incentive would I have to go through all the computational effort to create a
block of calendar entries?

Or let me know if I misunderstood your reply.

~~~
ChemicalWarfare
I understood you correctly you're asking what is miner's incentive to process
a tx if the tx does not involve transfer of funds.

There's nothing preventing the same tx fee system bitcoin is using from being
implemented even if the blockchain itself is not used to transfer value. So
now it is a can of worms, no doubt, as the system would have to have a way of
attaching the fee to a "real world" value - along the lines of how Ether/Gas
relationship works in Ethereum, but it can be done.

Another thing to keep in mind is blockchains the author is talking about in
the article aren't necessarily public - with a private blockchain the nodes
are paid for by the organization using it in some way shape or form.

~~~
firmbeliever
Thanks for the reply. I'll check out Ethereum; I'm not at all familiar with
it. Seems like you'd then be losing some of the - for lack of a better word -
purity of the system. If I understand correctly, part of the point with
bitcoin is that there really are no central entities, gatekeepers, etc. It's
completely decentralized - of the people, for the people, by the people. But
if you need a way to "pay" miners outside of what the system deals in, seems
like you'd be bringing in some sort of central entity. Not that that's a bad
thing, I just understood it to be part of what bitcoin was avoiding. And maybe
it will make more sense when I learn a bit more. Thanks again.

------
Terr_
Yeah, it's a bit like people taking "Internet Of Things" hype and declaiming
that your toaster needs a wireless connection.

~~~
nostrademons
If you also sold a robot that could put the toast in the toaster, I'd love a
toaster with a wireless connection. I could start breakfast from my smartwatch
while I'm still in bed upstairs and only go downstairs when it's ready.

~~~
chriswarbo
> a robot that could put the toast in the toaster

This is almost always the wrong way to solve the problem. Trying to automate a
human-friendly interface is far more trouble than it's worth, when you can
easily use a machine-friendly interface to begin with.

For example, dishwashers aren't robots which stand in front of a sink,
squeezing bottles of detergent on to a cloth and rubbing it over a stack of
dishes. Instead, they're self-contained beige boxes with a well-defined
input/output mechanism (racks to hold the dishes; standard plug for
electricity; standard plumbing connections).

It's like screen-scraping your own application. Or writing a CLI's main loop
with `expect`. Or when sci-fi films show robots typing on computer keyboards.

Let's take your example. Unless you're living in a backwards universe I'll
assume that you want to put _bread_ in the toaster. There are existing
solutions to this, e.g. many hotels have toasters with a conveyor belt; rather
than having to line anything up, there's a large catchment area to plonk the
bread on to. A harder problem would be separating the slices of the loaf; this
can be entirely avoided if the user "loads" a whole loaf at once, like a
cartridge. E.g. by inserting paddles between the slices, they won't be exposed
enough to go bad, but are easily separated as needed.

With everything roughly lined up there's not really anything to control other
than turning it on. Plugs with timers are easy to get hold of (I use them for
switching on lights in the evening). You could use something smarter like a
clapper. Even if you use a "smart plug", there's no need for the toaster
itself to be any different.

~~~
tragomaskhalos
Yes, traditional future-gazing has always had a problem failing to de-
antropomorphise, a failure of imagination IMO. One of Asimov's stories has a
robot piloting a spaceship as a literal humanoid robot in a seat. The ship
won't go because the robot is pushing down on the control bar too hard or
something, something the designers hadn't factored in. Not to overly diss one
of the giants of the genre, but even as a kid I found this setup kind of
silly.

~~~
andrewaylett
As I recall -- and I don't have the book in front of me -- the Robot's
presence was explained as being a reasonable proxy for having a person
present. The in-story thinking was that if the robot survived with no
positronic damage, a person would likely survive too as the positronic and
biological brains were of equivalent complexity and sensitivity.

------
natrius
This is a great article, but I disagree on one point. Blockchains aren't
overhyped. Sure, people promote them for strange use cases sometimes. But I'm
pretty confident that we'll look back on blockchains as _under_ hyped.
Blockchains will reshape entire industries, and some of the largest
corporations on the planet will find themselves competing on a level playing
field with a few kids in a garage.

Has disintermediation ever been overhyped? Currency disintermediated trusted
community members who you knew would do you a favor in return. The printing
press disintermediated the Catholic Church, one of the most powerful entities
of its day. The internet disintermediated... lots of people. Blockchains
disintermediate everyone else.

~~~
edraferi
I hope your right, but I'm concerned that blockchains still rely on the core
developers. Very few people really understand the protocols, and even they
don't audit their nodes' code. You don't have to trust a central database, but
you DO need to trust the code that runs the distributed database.

This need for trust demands politics, and that's why we have Bitcoin's crisis
de jur.

~~~
whazor
A solution for this problem will be general libraries which you can build
blockchains with. But I agree on that maintaining a blockchain needs
governance as well.

------
wslh
I recently talk with a stock exchange team who wanted to start a blockchain
project, so we asked naively: approximately, how many nodes are part of the
system? Only one was their answer.

------
icholy
Sometimes it's hard to know what's a good idea and what isn't until you've
tried it.

~~~
xyzzy4
Well part of the reason we have brains is so you can think about something
before you do it.

~~~
swampthinker
HA! You mean I should think ahead? Nonsense.

------
Matt3o12_
For all of you who get a connecing to the database error:

[http://webcache.googleusercontent.com/search?q=cache%3Ahttp%...](http://webcache.googleusercontent.com/search?q=cache%3Ahttp%3A%2F%2Fwww.multichain.com%2Fblog%2F2015%2F11%2Favoiding-
pointless-blockchain-
project%2F&oq=cache%3Ahttp%3A%2F%2Fwww.multichain.com%2Fblog%2F2015%2F11%2Favoiding-
pointless-blockchain-project%2F)

------
ChemicalWarfare
I'd also point out that there are a couple of projects out there aiming to add
"blockchainish" behavior to a "regular" database without sacrificing the
functionality we're all used to (try finding a tx with a specific value of the
op_return on the bitcoin blockchain for example).

~~~
SkyMarshal
Any chance you can provide names or links to those projects? I've been
expecting this, have even heard rumor IBM is building Paxos into DB2, but
would love to see real projects.

~~~
ChemicalWarfare
I was thinking along the lines of this:
[https://www.bigchaindb.com/whitepaper/bigchaindb-
whitepaper....](https://www.bigchaindb.com/whitepaper/bigchaindb-
whitepaper.pdf)

------
zump
Blockchain idea: Decentralized LinkedIn

~~~
mathgenius
Yeah, decentralized social. Who is doing this? What are the obvious problems?
Spam? Other nefarious content? Who is going to delete all that crap...? So
many questions...

------
Pyxl101
This is a really good essay, and good frank analysis and insight. Thanks for
writing it.

------
sharemywin
seems like an encryption escrow service could meet 90% of use cases for a lot
less costs. I digitally sign and timestamp then encrypt data upload it to web
service and make it available to others.

~~~
woah
That's what a blockchain is, but without you.

~~~
sharemywin
but why write out to 5000 copies of the database when one(maybe 2 or three)
would do for most use cases.

~~~
vertex-four
Because you might not trust any individual or potentially colluding group to
timestamp things according to the rules properly.

Luckily, for the most part, as you say, you and the people you're interacting
with can find someone you all can trust.

~~~
sharemywin
I'm not saying there aren't cases where block chain doesn't make sense.

------
pyabo
I work with blockchain technologies and sometimes I would like to say that the
king is naked

------
ikeboy
(2015)

~~~
daveguy
November 22, 2015 ... It is less than 4 months old.

