back

by jeffreyrogers·12y ago·view on hn ↗
The article mentioned the possibility of a peer to peer based internet of things and then suggested it use some sort of block-chain like algorithm as its distributed consensus algorithm. That seems a bit strange to me since if I understand the block-chain correctly it requires a massive amount of storage that only grows as the network is more widely used.

When you also assume that most of the IoT devices are going to be very low power and probably not have much storage or processing power, it seems an odd choice to use. What's the advantage of block-chaining over something like Paxos which is already widely used and more or less the standard distributed consensus algorithm?

4 comments
My guess is that the reporter simply doesn't understand consensus at a professional level. 'Blockchain' seems to be used as a buzzwordy shorthand for 'distributed consensus algorithm'. However, if you are interested in a blockchain-based distributed trustless store that does not require a huge amount of storage, check out: https://github.com/dominictarr/secure-scuttlebutt
Deep subject.

The block chain solves the distributed consensus problem in a way that is robust against attacks. That's what is so costly. Paxos requires that every node be trusted.

The problem the article is getting at is emerging as a core technology problem. Either your security is feudal, the you don't own it model, or you are responsible for admin. Few people have the knowledge or time for that. So in that model it becomes the Internet of someone else's pwned things. Now instead of your car not starting because you're late on a payment, your car doesn't start because someone who heard about your blog on 4chan doesn't like you.

I think solving this problem in a way that is neither feudal nor opens everyone to attack is a core tech problem of the 21st century. It's an engineering problem, and no I don't think the block chain solves it. Block chain schemes as a class are too heavy and have scalability problems. They can work in some domains but not this one, and not universally.

Wouldn't something that uses consensus on multiple servers, at the price of more bandwidth , possibly also with replaceable IOT card on your device - to give you more options in case of something suspicious happens ?
This question doesn't make sense -- Paxos and the blockchain solve different problems. You were probably misled by people talking about how the blockchain solves distributed consensus. That's a decent analogy but not a precise statement about computer science.

There are several differences, but the main one is that with Paxos all the members are trusted, and have to be under a single administrative domain. With the blockchain, the whole point is to come to consensus without trust in a central authority.

Other differences:

- Paxos (Chubby, etcd) and related algorithms (Zab/Zookeeper) are used with a small, fixed membership -- i.e. 3 to 7 servers. Everybody else is a client. In contrast, the blockchain is for a huge, frequently changing membership.

- Paxos is expensive and is used within a single data center with LAN latency. The blockchain is used in the exact opposite situation: on the Internet with large latencies and large variance in latency.

Google and ARM already support a mesh networking protocol, so the IoT devices don't have to be connected to the Internet - but can be, though a gateway like a mobile phone.

http://www.threadgroup.org/2014_07_Press_Release.aspx

There's also Zigbee[1] which was specifically designed as a radio protocol for home automation, in which each device has a relatively short radio range but works on the assumption that if you're automating your home there's likely to be devices all over the place which can mesh together. I've not used it myself, but it looks to be pretty popular amongst manufacturers.

[1] http://www.zigbee.org/

If it sounds too good to be true, it is - they had to break a perfectly good protocol by making it closed and requiring a costly license to use it. If we want good, consumer-friendly IoT, it needs to be built on a protocol that people are free to hack on in their garages.
For a less nifty, but probably also less complex solution, I'm using Ciseco radio units to build some home automation at the moment. They're available for < $20, and with the right aerial have a range measured in kilometres (although more usually a few hundred metres). I'm pretty sure there's also a repeater mode on the actual radio modules if you need extra range.
ZigBee modules are available for less than $20 in single units. Just how much cheaper do you expect them to be? The license may be expensive, but the manufacturer is making the interfaces by the millions and that cost is amortized across the base.
What does mesh have to do with Internet connectivity? A WiFi network can also be off the Internet.

Also, note that Thread is at least a year from being baked.