扫描查看手机版网站

海湸区块链

移动区块链科技创新

作者:链上巴根来源:链上巴根


BFChain作为全球首款移动端公有链,实现了真正意义上的移动端设备直连和链上治理。和过去传统区块链相比,BFChain有什么不同之处? 我们先来深入分析一下:“传统区块链”所面临的问题。


  •    伪去中心

因为终端无法直接访问区块链,实际的数据请求和业务过程由其他节点完成,数据的可信度由参与节点是否作弊来保证,这样有违区块链去中心化的初衷。


  •   伪节点

终端如果不能接入区块链网络,或接入了区块链网络而数据不全,将不能有效参与网络的治理(传统共识机制下),虽然看上去是一个节点,在一定程度上也可以通过桥接手段完成间接通信,但依然算不上一个合格的参与节点。


  •    无法参与共识

移动终端不能参与区块的建立,而这意味着伴随区块建立的奖励将无缘获得,对于贡献相同参与度的此类终端来说,某种意义上有失公平。


在人们的日常生活围绕着移动终端开展的现实情况和历史趋势下,让移动终端设备直接访问区块链网络、享用区块链带来的信用服务就成为了BFChain设计的初衷。



但是,要打造一款真正意义上的移动区块链,直接面临的难题就是移动终端设备的局限性

  • 空间较小

  • 计算能力差

  • 网络不稳定


针对这些难题以及区块链实际运行中面对的更多挑战,注定BFChain所做的每一个设计都是创新和突破。


-BFChain技术架构-


BFChain架构中,分别在激励层、共识层、网络层和存储层做了如下创新设计:


一、共识层

难点:避免因算力、权益集中导致的数据控制的问题

解决方案:独创基于参与度的DPOP共识机制


BFChain重新设计了基于参与度的 DPOP 共识机制,不再以算力和权益作为唯一的标准,引入了稳定性、活跃度和交易量等多维度的要素。它除了有效继承了 POS 的业务属性、DPOS 的高效属性、PBFT 的全员参与属性外,还能有效避免无权益节点和高权益节点集体作恶成本低的问题,同时还为 The D-Wallet 终端参与共识提供了基础。

参与投票的节点不仅要提供权益证明,同时还需要提供参与度证明,其中实时节点以提供高可靠的网络性能获取参与度,服务节点(一般为移动设备)通过提供终端服务获取参与度,每一个参与节点在网络上的活动都会一定程度地增加其参与度。这样可以保证不同维度的参与者均可参与网络的共识与治理,从而有效避免单一维度共识机制带来的缺陷。



二、网络层


难点:移动终端通信不稳定;跨网络、跨终端类型的互通

解决方案全链路双工通信、HTTP协议与WebSocket 协议的结合

  • 为了实现让任何终端类型都可以直接接入BFChain网络而非借助第三方服务器中转,BFChain借助NAAS (Node as service)的网络设计, 每一个设备作为BFChain区块链网络的一个节点,均可直接参与治理和共识。

  • 因为没有现成的 P2P 网络支持,BFChain重新设计了 P2P 网络——Full Link Duplex Communication(全链路双工通信)

  • “HTTP协议”与 WebSocket 协议的结合

BFChain引入了互联网使用最广泛的协议“HTTP 协议”(后期将逐步升级到 HTTPS),并将其与WebSocket 协议有机结合了起来。


通过上述方案,不仅解决了移动设备通信不稳定的问题,更让 BFChain 的网络能力不仅能在节点之间提供高效互通,还能为跨区域网络、跨终端类型提供有效互通,为 NAAS 提供支持,也为在BFChain公有链上开发真正意义的分布式应用 DAPP 提供支持。



三、存储层


难点:移动设备存储小

解决方案:专属RSD存储机制、SQLite+MongoDB数据库

通过BFChain专属的RSD网络机制,移动终端以服务节点参与到区块链的共识机制里,处理对计算要求不高的事务,如除打块之外的投票,同步,中转等。

BFChain用两种数据库分工进行存储,区块哈希树(存储于MongoDB)为共识机制执行过程提供快速查询和识别的能力;对于需要参与共识的移动终端,需要在本地存储部分完整区块数据,并通过这部分数据参与到共识机制中。为了尽可能的减少终端存储的数据量,BFChain建立了关键检查点,终端只需要存储检查点后的区块数据(存储于SQLite)即可。


为了解决移动终端计算能力有限情况下的计算问题,引入了移动设备常用的微型关系型数据库SQLite(微型数据库),并与MongoDB进行了融合与改造,让节点既可参与共识又可以保持轻巧的体积,为实现公平环境提供了基础。



四、激励层


难点:多种终端类型节点的公平链上激励

解决方案:独创RSD机制

为了解决传统奖励机制带来的问题,BFChain 引入了多维度奖励机制,并设计了RSD机—— The R-Node(实时节点)、The S-Node(服务节点)与 The D-Wallet(分布式钱包)。参与节点根据参与方式的不同可以获得不同类型的奖励。如: The R-Node 主要获取打块奖励;The S-Node 主要获取服务奖励(为 The D-Wallet 提供服务)

在奖励分配中,目前通过权益获得的奖励和提供参与度获得的奖励各占 50%。打块奖励在打块时进行分配。参与度奖励将会按权重分配到节点上的所有账户(包括 The D-Wallet 的账户),服务节点每提供一次服务都将增加服务节点获取奖励的权重。

上述方案在服务节点少时鼓励服务节点的接入,服务节点充足时鼓励提供更高效率的实时节点,从而通过多维奖励机制从多个维度动态平衡 BFChain网络。



五、应用层

BFChain应用层基于BFChain基本合约能力与实际业务相结合开发具体应用功能,实现链上DAPP功能落实于实际用户使用,安全性完全超越传统应用的同时性能也不落后。

六、合约层

BFChain合约层为区块链提供基本的不可变合约的服务

总结而言,BFChain是通过解决了网络节点设计和共识机制基础上,有效极致地解决了P2P网络和数据存储的技术难题,从而实现了移动终端上链并参与链上共识。


海湸区块链底标2.jpg