零知识证明和扩容 目前来看,区块链所有设计的出发点,本质都是围绕区块。交易构成区块数据,共识机制决定区块生成、验证和顺序。按照交易的角度思考,交易经过用户私钥签名发起,经由网络广播,进入全网交易内存池,区块构造者/MEV搜索者/定序器挑选交易,提交交易列表给区块构造者,区块构造者/区块生产者向网络提交区块,区块验证者验证区块合法有效以后确认上链。按照区块的角度思考,区块要完成构造、提交上链和上链确认三个步骤。去中心化的设计机制,会为交易或区块的每个环节增加全网成本和安全性,以此实现机器信任。合法的最长区块链,我们称之为主链/一层网络/基层链/Layer1。 在软件设计开发领域,设计模式有单一职责、设计架构有分层架构,设计原则有高内聚低耦合,这一切的理论和指导为的都是以模块化的思想重构软件。区块链的模块化,可以从数据可用(数据层)、逻辑执行(执行层)和共识机制(共识层)三个主要层面进行划分。如果将扩容对应到这三个层面,那么,分别会有数据层扩容、执行层扩容和共识层扩容。为了简化,我们按照主链变动与否,分为链上扩容和链下扩容。链上扩容方案有增加区块大小、分片、调整共识机制。链下扩容方案...