DeepHash专栏|Monoxide:突破区块链不可能三角的极简架构(15)
一个原子操作要在这样的架构下正确安全地完成 , 就不是一个简单的事情了 。 通常为了协同多线程 , 我们有两种办法 , 一个是互相对涉及的资源加锁 , 一个是借由消息传递 。 我们选择了后者 , 不仅是因为加锁将阻塞对应的共识组的吞吐 , 严重影响性能 , 也是因为所有的单链区块链天生就有一个消息传递机制(未确认交易集合) , 从而避免引入新的实体 。
我们先以最简单的支付交易为例 , 介绍我们的设计 。 一个数量为 x 的从地址 A 到地址 B 的支付交易 , 并且 A 和 B 处于不同的共识组 。 这是一个原子操作 , 其中包含一个扣款操作 , 这个操作有条件 , 并且不同的执行顺序会导致不同的状态 。 另一个是存款操作 , 这个操作无条件 , 并且不同的执行顺序不会导致不一致的最终状态 。
对于这样的逻辑 , Monoxide 将现在共识组 A 中 , 尝试完成扣款操作 。 如果成功 , 则将向共识组 B 发生一个接力交易 , 一种特殊的未确认交易 。 接力交易和普通未确认交易一样 , 描述了用什么参数 , 调用哪个智能合约里面的函数 。 和普通未确认交易不同的是权限校验方式 。 普通未确认交易 , 通常由钱包签发 , 通过其携带数字签名来校验权限 。 而接力交易携带的是来自另一个共识组的出块证明:
推荐阅读
- 活体机器人诞生,“五竹叔”要来了吗? | 新京报专栏
- 《反垄断法》大修互联网入法,超级巨头更需尊重竞争规则| 新京报专栏
- 阿里将在手机淘宝一级入口开设兴农脱贫专栏
- 别拿“末日论”看待互联网周期调整| 新京报专栏
- 唐界传媒品牌专栏:2020年值得关注的5大商业趋势
- 从逃离现实的互联网,到逃离互联网的现实 | 新京报专栏
- 互联网时代,过度依赖算法是种“机器官僚主义” | 新京报专栏
- 人工智能时代,战争不再只是争领土和资源 | 新京报专栏
- 徐永专栏∣经济下行与房地产调控的平衡
- 蔡凯龙:强敌压境 币圈堪忧