区块链的几种跨分片的方简介

几种跨分片的方案

  • 客户端来维护分片之间状态一致性,典型的就是Omniledger

    分片之间的通信完全是靠客户端来驱动。优点是分片协议不用考虑维护一致性的问题,技术简单,且避免了分片之间一致性协议的开销。缺点显而易见,没法做到交易丢出去不管,客户端在这个过程中必须保持运行。让客户端去分片间状态维护,总是感觉不靠谱。我更倾向于认为,由于分片机制不完善,解决不了状态一致性而强行打的补丁。

  • 基于trace对 transaction 进行标注,典型的就是Chainspace

    交易注入到网络中之前,先模拟trace,并以此标注出可能与其他交易冲突的地方,然后再根据这些冲突发到相关的分片中处理,相关的分片之间再用S-BAC(Sharded Byzantine Atomic Commit)去共识。如果每一个交易可能的冲突都要相关的分片之间去跑一轮共识,一个分片如果牵涉到很多个这样的交易,那每一次就要跟不同的分片跑很多个这样的共识,自然而然就会产生效率问题。

  • 分割交易,典型的就是Ethereum

    这种方案类似于将交易过程切开,交易的发送+交易的接收,并且这两个过程在不同的共识周期中完成。具体在Ethereum中的话,假设Alice给Bob发送 10 eth。在一个共识周期中,分片A上,Alice 产生一笔交易(转移10Eth给Bob),其账户余额会减少 10 Eth,并在主链中产生一个收据(receipt),然后在下一个共识周期中,另一个分片B中,Bob依据这个收据(receipt)来接收交易,即其账户会增加 10 Eth。

    这类似于火车和旅馆问题。旅游旺季,我们准备去西藏旅游,要定火车票和旅馆。倘若我们定了火车票,但是旅馆没订到,那GG了;倘若我们订到了旅馆,但是火车票没订到,那总不能走过去吧。问题产生的原因就是交易分裂到多个共识周期,破坏了原子性。

    Ethereum目前在这一块还处于初步的理论研究阶段,计划在分片的第四期中实现。

更多区块链知识,请参考:
区块链学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值