探索比特币区块大小和交易限制:计算密度的崭新概念和应用
最新的BCH协议修改提案bch-vm-limits引入了一个全新的概念——“计算密度(density of computation)”。这一概念在其他UTXO链上并不常见,激发了我的好奇心,因此我进行了深入的研究。
在比特币网络中,区块大小被限制在1M,其中包含3M的签名数据,同时每笔交易也受到尺寸和opcode数量的严格限制。以太坊的交易也设有gas limits的上限,而EOS则通过CPU、RAM和Net三个资源进行管理。这些设计旨在确保区块链网络的安全,防止恶意交易对网络造成攻击。
举例来说,在2018年,以太坊网络遭遇了Fom3D大奖领取事件中的经典攻击。攻击者在特定区块高度间构建了一笔特殊的合约交易,消耗了整个区块的gas limits,导致其他用户的交易无法被打包,最终使攻击者成功领取了10,469 ETH的大奖。
为了防止网络遭受恶意攻击,不同区块链采用了不同的设计:比特币的区块和交易大小限制、以太坊的gas limits,以及EOS的资源消耗限制。比特币的设计经受住了时间的考验,显示出原始且安全的特点。BCH也延续了这种设计,尽管在具体参数上进行了调整。
以太坊的gas limits设计被认为是最成功的标准,而EOS的资源管理则未能达到预期效果,反而成为炒作对象。值得一提的是,以太坊曾有一个名为gastoken的项目,允许用户将gas作为代币进行交易,但最终被V神团队禁止。
在评估安全性和可编程性时,gas limits设计实现了较高的可编程性,使EVM达到了图灵完备,成为以太坊繁荣经济生态的关键因素。相比之下,UTXO技术的可编程性受到限制,尤其是交易opcode数量的限制,这在一定程度上影响了比特币的开发灵活性。
BCH提出的计算密度概念旨在寻求UTXO的可编程性和安全性之间的平衡,试图在确保网络安全的基础上显著提高可编程性。
计算密度是根据每个输入数据的字节长度,限制该输入能够执行的计算操作。交易中的每个输入根据其大小(字节数)被分配一定的计算预算,这个预算决定了节点在验证该交易时能够进行的最大计算量。
在bch-vm-limits协议中提供了具体的计算公式,尽管细节较为复杂,主要涉及到哈希计算。这一点与gas limit的设计不同,计算密度并不改变BCH交易的矿工费设计,矿工费依然按照每字节sats计算。
与gas limit设计允许用户根据支付的gas费用设计任意复杂的合约不同,BCH的计算密度限制了单位交易大小的可计算量。虽然预计其设计出的合约复杂程度会远低于gas limit的设计,但相较于比特币和BCH初期对交易大小及opcode数量的限制,计算密度的文档描述提升了约100倍的可编程性。
协议设计者Jason Dreyzehner在文档中详细阐述了计算密度的优势,并与gas limit进行了对比,期待在实际应用中能有所体现。开发者的观点涉及量子密码学、零知识证明、同态加密等前沿技术,但目前尚无办法验证其真实性。
综合来看,BCH的开发团队展现出了不俗的创新能力。2023年激活的cashtoken及即将推出的计算密度都是币圈中少见的技术创新,令人期待其未来应用的广阔前景。