DeepHash专栏|Monoxide:突破区块链不可能三角的极简架构(18)
Oxidation 语言是 Monoxide 平台的智能合约语言 , 一种基于函数编程(Functional programming)的语言 。 这个语言模型的设计并不是论文的一部分 , 这部分工作也尚未全部完成 。 这里给出一个类似 ERC20 代币的合约示例代码 。 这里比较特殊的是系统调用 yield 。 这个调用将在合约执行的过程中生成接力交易 , 如果 b 为一个跨共识组的地址的话 。 代码中可以出现多个 yield 调用 , 也可以有条件地调用 yield , 但是 yield 调用不允许重入 。
伸缩性的上限——为什么说区块链不可能三角被突破了?
为了正确完成跨共识组交易 , 接力交易的权限校验需要接收到发起方所在的共识组的对应的块头 。 这件事情成为了 Monoxide 全网伸缩性的最主要瓶颈 。 这意味着 , 每个全节点都需要同步并跟踪所有共识组中的块头 , 同时加上连弩挖矿机制 , 这个同步消耗的带宽为:
( BlockHeadSize + 32 × log2 n ) × n / BlockInterval
BlockHeadSize 为块头的元数据 , 大致 120 字节 。 这个部分不定长 , 是因为 Monoxide 采用可变长度的 Nonce , 以适配不同的挖矿难度 。 32 × log2 n 部分为连弩挖矿机制引入的算力证明 , 即前文的 MerkleTreePathi 。 BlockInterval 为出块间隔 。 基本上 , 这是一个 O(n log2 n)的开销 , 只要 n 大到一定程度 , 性能的提升会低于这个开销的增加 , 从而定义了伸缩性的天花板 。
推荐阅读
- 活体机器人诞生,“五竹叔”要来了吗? | 新京报专栏
- 《反垄断法》大修互联网入法,超级巨头更需尊重竞争规则| 新京报专栏
- 阿里将在手机淘宝一级入口开设兴农脱贫专栏
- 别拿“末日论”看待互联网周期调整| 新京报专栏
- 唐界传媒品牌专栏:2020年值得关注的5大商业趋势
- 从逃离现实的互联网,到逃离互联网的现实 | 新京报专栏
- 互联网时代,过度依赖算法是种“机器官僚主义” | 新京报专栏
- 人工智能时代,战争不再只是争领土和资源 | 新京报专栏
- 徐永专栏∣经济下行与房地产调控的平衡
- 蔡凯龙:强敌压境 币圈堪忧