LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 轻松读懂BBU全节点公链的算法机制

轻松读懂BBU全节点公链的算法机制

2020-08-22 BBUpool 来源:区块链网络

BBU全节点公链是建立在IPFS分布式存储协议基础上的应用级公链,其分布式存储结构是建立在23个主节点、48个大节点、城市节点、小节点和微节点基础上的。BBU全节点公链权益分配是采用开放式矿场的形式进行分发的,其共识机制是SCPOC(存储量证明+贡献量证明)共识。

那么我们来看看BBU全节点公链的算法机制是如何运作的。

BBU全节点公链的分布式存储机制的本质即是一种新的网络传播技术。这种新的传播技术打破了传统的架构, 逐步地去中心化,扁平化,从而达到节点平等的未来趋势。BBU全节点核心存储 是以P2P文件分享网络作为入口,围绕一个文件网络系统,将其可操作性结合区块链的公式算法设计出新型扁平化,去中心化的云存储网络。同时保留了区块链公开,透明的特性。

BBU全节点链使用 Kademlia 算法。Kademlia 通常又被称为第三代 P2P 技术,是一种 P2P 通用协议,适用于所有的分布式点对点计算机网络。Kademlia 定义了网络的结构,规划了节点之间的通讯以及具体的信息交互过程。在 Kademlia 中,网络节点之间使用 UDP 进行通信,通过一种分布式哈希表来存储数据, 每个节点都会有一个自己的 ID,在用来标识节点本身的同时,也用以协助实现 Kademlia 算法和流程。

Kademlia使用键值来确认在网络上的节点和数据。其键值是不透明的,长度160个比特。参加进来的电脑每一个都会拥有一个键值,称为NodeID,填充在 160比特的键值空间中。由于BBU全节点链存储内容的时候是由KV(key-value)对其存储的,每一个在BBU全节点链中的Data也都是独立于160位键值中的key对应的空间的。在开始时,一个Node不了解任何其他的Nodes。当新的Nodes注册后,找到这个节 点的链接,然后将新的NodeID存起来。当存储满溢,Contact会被选择性去掉,然后在bucket内部被组织。从一个Node找一个NodeID的方式,是从一个已知的路由 表中,从一个Node找到另一个最近的Node,直到找到RequestNode。

每个BBU全节点链节点都有160比特的NodeID,每个数据的键值也是一个160位的标识符。 想要确定KV对存在哪个节点中,BBU全节点链用了两个标识符间距离的概念。在给定两个160位标识符,x和y下,BBU全节点链通过他们两个的“异或”来确定他们之间的距离,并表达为一个整数d(x,y)=x⊕y。XOR(异或)获得到的是系统二叉树框架中对距离的定 义。在一个完全的160位ID二叉树ID中,两个ID距离的大小是最小的包含两个节点的子树。当树不是一个完全二叉树的时候,距离IDx最近的叶是与x共享最长公共前缀的叶。

BBU全节点链节点查找过程是通过给定的键值去定位k个最近节点的。节点查找中选择采用的是递归算法。发起查找的一方首先从非空k-bucket中找到一个节点(或者,如果那个bucket有比该节点少的键值对数组,那他就只能通过键值得到1 个最近节点)。发起方通过并行异步方式发送FIND_NODERPC给选到的 1 个节点。 在递归的阶段,发起方重新发送FindNode给之前发过RPC的节点。无法迅速回应的节点就会被移除,除非直到这些节点回复。

如果一轮下来寻找节点没有找到任何比最近观察节点更近的节点,发起方会重新 发送FindNode给那些没有被请求过的节点中寻找k个最近的。当发起者请求后得到k 个最近观察节点的回复后,查找过程就会结束。每一个节点至少知道它每个子树中的一个节点,每一个节点都可以通过NodeID定位到其他节点。要存一个KV对,节点需要通过键值定位对应k个最近节点然后发送STORERPC。要找一个KV对,节点需要查找到对应键值最近的k个节点。但是,值(value)的查找会使用FIND_VALUE而不是FIND_NODE,而且这个过程当任何节点返回值的时候立刻停止。

以上就是BBU全节点链的算法机制,它保证了BBU全节点链的正常的数据存储、传输和数据安全。BBU全节点矿场公链对于整个行业是友好的,提供开放的API,允许任何人接入基于BBU全节点公链,使用、开发自己的Dapps应用,为全行业提供高速存储生态。

BBU全节点链正在改变你的生活方式!

—-

编译者/作者:BBUpool

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...