The Need For A Generic Thin Client Protocol
Q: What Is A Protocol?
A protocol is a description of a fixed pattern of behavior.
A protocol is not:
- A platform.
- An implementation.
- A network.
Or any other "thing". Protocols are how the things themselves behave.
Q: Why Are You Telling Me This?
Because the Internet needs blockchains, and it needs to be able to access them securely from mobile devices. At the same time, it would be unwise for the entire Internet to rely on any specific blockchain.
Q: Why Does The Internet Need Blockchains?
Because blockchains are how you do digital property on the Internet in a secure and decentralized fashion.
Q: OK...? Why is that important?
It's important and relevant for all the following applications:
- Communication (aka: Identity + Security)
This Design Shop is all about identity. If you want to be able to actually own your identity online, then you need blockchains.
No individual owns their online identity today. Companies and governments own your online identity, and this applies to individuals as much as it does to other companies and groups.
Since blockchains make individual ownership of digital property possible, they make it possible for you to actually own (and therefore have control) of your online identity.
Q: OK... So What's This About A "Generic Thin Client Protocol?"
Blockchains are difficult to run on most end-user devices.
A thin client (or a light client) refers to software that downloads only a portion of the blockchain . This gives clients some ability to verify for themselves the authenticity of information within it.
The Internet needs a blockchain agnostic and technique agnostic thin client specification.
Agnosticism is essential because:
- Any blockchain may become abandoned by the Internet community.
- The “ideal blockchain” is unknown and may not exist.
- Non-agnostic protocols promote potentially harmful centralization.
Although most thin client techniques are derivatives of Satoshi’s original Simplified Payment Verification (SPV), it turns out there’s more than one way to skin a thin client. And so, in order to define a flexible thin client standard, we must find out just how different they can be.
Other known thin client techniques are:
And there are very likely others. We do not know how many there might be and what they all might look like (yet), but by studying the existing ones it may be possible discern a commonality between them, and that in turn can be used to specify a generic protocol that can wrap all possible techniques.
Such a protocol, if standardized and adopted, would allow any software to communicate securely with any blockchain. That would be highly valuable and useful.