Certified Blockchain Professional - Module 14: Scalable Blockchain
As previously discussed, I'm doing the Certified Blockchain Professional course. It is self-directed learning, so I'm going through it at my own pace. In order to consolidate my learning, and help organise my thoughts, I'm blogging about my reflections on each module.
These are mostly notes to myself - but I hope if you find something interesting (or incorrect) that you'll leave a comment.
Bitcoin is limited to 3-7 transactions per second. Ethereum isn't much better - max of about 20.
Can possibly be solved by on-chain solutions like increasing block size. Or off-chain - where transactions are performed offline, then bundled up.
Or, an abstraction where different layers of the chain are responsible for different things.
Controversy over Bitcoin block size proposals.
Ethereum has no fixed block size - instead the gas limit restricts the amount that can be created.
Or, instead of block limit changes, decrease the time between blocks. Ethereum is down to 14 seconds - which is better than Bitcoin's 10 minutes (!).
Invertible Bloom Lookup Tables - basically transferring information about the state, rather than the full state.
Sharding - similar to how traditional databases work. Multiple nodes splitting the tasks between them.
State channels - use out of band messaging for state updating.
Private blockchains - fast because participants don't need to mine.
Proof of Stake is faster than PoW (no evidence or explanation given.)
Sidechains - take things off main to a faster chain (why not move everything there?)
Subchain - poorly defined.
Tree chains - rather than a 1 dimensional chain, use a structure like a binary tree.
Bitcoin-NG - use leader blocks for PoW and microblocks (which don't require PoW).
Layer 2 solutions - like Lightning. Introduced in 2016, allows for off-chain instant payments.
Better consensus protocols. Either implemented in hardware, or move away from PoW.
Assignment
Read the paper at https://lightning.network/lightning-network-paper.pdf.
Answer the following questions
- Do micropayments channels require trust?
- No. They are trustlessly deferred to a later date.
- What is the use of SIGHASH_NOINPUT?
- The two parties sign the transaction - but don't broadcast it to be validated.
- Can allow for spending before signing from all parties.
- What is HTLC?
- Hashed Timelock Contract
- Lock a transaction via a commitment which can only be valid after a certain date
- Revocable
- How can malleability be resolved?
- Forking change to Bitcoin.
- New sighash types
- Allows parties to spend contracts without either being able to broadcast to the chain until both parties agree.
FJ!! said on twitter.com:
The title alone is like a contradictory riddle made to break Borg brains.
More comments on Mastodon.