Introduction
While we are seeing an increase in educational content about CKB here and there, our information about CKB L1 itself is somewhat lacking compared to other ecosystems of similar maturity level. Further, CKB is quite unique in its philosophy & architecture, and this uniqueness is apparent in nearly every subsystem of CKB. This deserves proper exposition which we do not have today.
CKB should be one of the top L1’s today based on technical merit. However, the best developers in the space and the most technical ones lack a go-to resource to really dig in and learn more about this beeautiful invention in a systematic way. Because of this, they ultimately move onto other ecosystems like Ethereum. This book is made to attract the best technical talents with the resource to start building on Nervos so that CKB can finally get the exposure and adoption it so rightly deserves.
If you really want to understand something, you have to understand it from first principles. This textbook is a first-principles introduction to CKB. But, since CKB’s design decisions are quite thoughtful and broadly relevant, they can serve as useful insights for blockchain architecture & engineering in general . I believe CKB is a very good blockchain to use as the foundational example of good blockchain design. So this book is simultaneously about both CKB and blockchain protocol engineering in general. This also enables the textbook to appeal to a wider audience, which only benefits us as a community & the industry at large.
So, a textbook about designing and building a blockchain, starting from the fundamentals, is one goal of this proposal. By using CKB as the specific blockchain discussed throughout all chapters of the textbook, the second goal is to explain CKB in a more holistic and deeper way than any other resource about CKB has done thus far.
My Background
I have worked in the blockchain industry at multiple layer 1 protocols, including having worked on Nervos from the early days since before testnet release. I was involved in the design of some of the earliest standards we have. Further, I founded Tempest which - despite the fact we lost funding - took advantage of every single unique aspect of CKB to construct a revolutionary new programming model I have come to refer to as “programmable automatons”. This highlights the fact that I understand what makes CKB & the cell model unique, as well as how to apply that uniqueness at the application level.
Most recently, I’ve designed a new L1 from scratch and designed a new consensus protocol which involved the authorship of many technical documents and education materials.
I’ve worked with top people in the space in across a variety of notable projects, which gives me a good social circle in which to solicit feedback, public review, and sharing as well.
Given my background in the industry, as well as the number of years I’ve been involved with Nervos specifically, I believe I am a good candidate to write such a book for the CKB community. Now that some of my other endeavors have calmed down, I also have the time to do this writing.
The Publishing Plan
The book would be a “living document” which CKB community members could view the progress of at any time. When the book is finished (it will be versioned) it will be published on the publishing platform built on top of CKB L1. This is the same platform as the platform that the last chapter of the book walks through building. This platform can be used for other materials created by future CKB community contributors as well.
The book will then be stewarded by the CKB community; “shares” will be minted using some of the platform’s features which give voting power to shareholders. Shareholders can then propose and vote on updates to the textbook contents and will collectively control & govern the on-chain authoritative record of the book. This allows us all to keep it up to date in a way that preserves the integrity of the content and keeps the community’s interests at heart. How shares will be distributed is to be determined, but I have a couple of ideas that I’ll share for discussion when I’ve fleshed them out a bit more (open to suggestions as well).
I may do something community oriented about the cover art as well. But will make the determination when the book is closer to being finished.
It is possible that we will also decide to publish physical copies. In this case, all sales proceeds will go directly to the community DAO fund.
If given a grant (details on request in section following the Book Contents), I will complete this project by August, 2024.
The book contents are shown below (subject to change as the book unfolds)
The Book Contents
Part 1: Foundations
- The Problem of Consensus
- Blockchain Based Consensus
- Introduction to Game Theory and Cryptoeconomics
- All the Cryptography You Need to Know
- Blockchain Protocol Design Process, Patterns and Problems
- Smart Contracts
- Bitcoin, Ethereum, and CKB
Part 2: Consensus
- Evaluating Consensus Protocols
- The State of Consensus Research
- Rate Limiting Mechanisms & Sybil Attacks
- Nakomoto Consensus
- CKB and NC-MAX
- Synchronization & Communication Protocols
Part 3: Execution Layer
- Design Considerations & Tradeoffs in Execution Layers
- The UTXO Model
- The Account Model
- Resource Oriented Models
- The Cell Model & its Data Structures
- EVM, RISC-V, WASM and Move: A Comparison
- The Economics of Execution
Part 4: State Model & Storage
- How Execution and Consensus Design Affect Storage Size & Growth
- Data Structures: DAGs, Trees, and Tries
- Transactional vs Analytic Databases or Why & How to Index the Blockchain
- The Economics of Global State
Part 5: Applications
- Decentralized Application Architecture on CKB
- Introduction to Smart Contracts on CKB
- Programming Patterns for Cells and Cell-Based Transactions
- Useful Tools
- Project: A Decentralized Publishing Platform
- Conclusion & Where to Go From Here
Budget
I suspect this book will take ~800 hours to write, including research required, development of exercises and problems, etc. That, combined with the development of the book website, organizing community graphics, promotion of the book, and editing, will take even more hours. Due to the impact I expect this book to have on the ecosystem & industry at large, combined with the magnitude of work required, I am requesting $165,000. I request this amount in CKB at a CKB price valuation of 1CKB/$0.004 - this is slightly higher price valuation than current market conditions, but I believe it is irrelevant due to CKB’s bright future. The reason for selecting a higher price point is to ensure there is buffer room between now and when the vote is held (if it passes this stage), as I’d rather take a little bit less from the DAO fund than a little bit more.
At the above-mentioned price point, the requested compensation in CKB comes to a total of 37,500,000 CKB.
These funds will be used in the following way:
- To compensate myself for the time I take to write the book and coordinate everything
- Hosting and other technical costs
- Compensation of contributors, reviewers and editors
- Design and development of the book website
- Development & deployment of the publishing platform (including the CKB required to store the contracts on chain)