Hacker News new | ask | show | jobs
by roasbeef 4130 days ago
Some embedded "internet of things" like device wouldn't be a full-node. Rather it would be a lite-node relying on the SPV[1] model of security.

Storing some type of "working set" is totally feasible. Technically you don't even need to keep around all blocks, simply the resultant state that you arrive at after processing all blocks in order. This is called the Unspent Transaction Output set or UTXO set.

It's also possible to only keep around XGB of blocks, or the last 500 blocks, etc (a pruned log)[3]. The purpose of keeping around all blocks is to bootstrap the syncing of new nodes to the network, or optionally to full-chain wallets for re-scanning. Before pruned nodes are widely deployed, a system needs to be developed to allow a syncing node to efficiently identify and retrieve the relevant blockchain shards it needs so it can validate everything and arrive at the current state.

Also, with BitcoinCore 0.10, syncing takes about 4 hours if you don't have shitty a hardware or internet connection [2].

[1]: https://en.bitcoin.it/wiki/Thin_Client_Security [2]: https://github.com/bitcoin/bitcoin/pull/4468 [3]: https://github.com/bitcoin/bitcoin/pull/4701

1 comments

> Some embedded "internet of things" like device wouldn't be a full-node. Rather it would be a lite-node relying on the SPV[1] model of security.

Well, it's a lot more likely in my eyes that it'd be a thin client operating against a server owned by its owner. Just as safe, and doesn't involve trying to figure out how to allocate enough money on a micro scale to all your individual devices so they don't run out.