How Ethereum Classic Light Clients Can SECURELY Operate
December 4, 2017
Ethereum Classic (ETC) light clients are clients that do not maintain a copy of the entire ETC blockchain. I will explain how they can nevertheless securely operate.
Light clients obtain blockchain information by communicating with network nodes. It is possible that malicious network nodes may censor blocks on the longest chain. Light clients can still operate securely as long as they connect to at least one honest and up to date node. It is not sufficient to connect to an honest node. The honest node must itself be connected to another honest node, and so on. Otherwise, honest nodes may not have all the blocks on the longest chain.
Here is a list of honest ETC network node TCP sockets that light clients can connect to. (This list can also be found here.):
18.104.22.168:30303 22.214.171.124:30303 126.96.36.199:30303 188.8.131.52:30303 184.108.40.206:30303 220.127.116.11:30303 18.104.22.168:30303 22.214.171.124:30306
Hashes are fixed length strings that can guarantee the integrity of all information. Merkle trees are trees of hashes that can minimize the necessary communication between network nodes and light clients. The tops of Merkle trees are referred to as root hashes. Block headers contain the root hashes for light clients to securely and efficiently obtain state and transaction information from network nodes. Because block headers are much smaller than entire blocks, light clients with limited storage can still operate securely by storing just the block headers of the blockchain.
To be sure a light client is connected to the ETC network, confirm the first block (genesis block) of the blockchain is associated with the following hash:
Also, confirm block 1,920,000 is associated with the following hash:
This block is where the ETC blockchain diverges from the Ethereum (ETH) blockchain.
Some think the need for light clients to request state and transaction information from network nodes might be a vulnerability. The concern is that network nodes may not always have sufficient incentives to assist light clients. Some have suggested compensating network nodes for assisting light clients. At the very least, supporters of ETC are motivated to support light clients to grow the number of users. Also, smart contract application providers are motivated to support light clients to increase the number of potential customers.
It is amazing that a protocol exists for even tiny embedded devices to securely utilize the ETC system. By connecting to honest nodes, only storing block headers, and, utilizing the properties of hashes, even toasters can benefit from the ETC world computer.
You can contact me by clicking any of these icons:
I would like to thank IOHK (Input Output Hong Kong) for funding this effort.
This work is licensed under the Creative Commons Attribution ShareAlike 4.0 International License.