bitget

Bitget交易所

Bitget交易所是全球前4大交易所之一、打新活动多、领空投到手软,新用户注册即可领取BGB空投

点击注册 立即下载

Bitget交易所官方网站

www.bitget.com

了解Bitget交易所的投资者都清楚,Bitget拥有默克尔树功能,但是很多新手投资者并不了解它到底是什么,今天就为大家答疑解惑。

默克尔树

定义

默克尔树是一种数据结构,又称哈希树。将数据储存在树形结构的叶节点中,借由哈希值数据逐层记录到最顶层的根节点,叶节点数据的任何变化都会传递给更上层的节点,最后会显示更改后的数据在树形的根部。

1. 默克尔树的作用

- 零知识证明

- 确保数据不变性

- 确保数据隐私

2. Bitget Limited 的默克尔树定义

2.1 节点讯息

每个树节点中存储的讯息包含:

1. 哈希值(Hash value)

2. 用户资产快照中所包含的币数(以BTC、ETH、USDT 为例)

2.2 哈希规则

叶节点(填充节点除外)

- 加密Uid:用户的加密UID

- nonce:分配给每位用户唯一的值

- balances:用户资产快照币种数量组成json 字串(注意:去除末尾无效0,并保留8 位精度)

父节点

- h1:当前节点的左子节点的hash

- h2:当前节点的右子节点的hash

- 阶层:父节点所在的位置

树节点的高度定义:一个完整的默克尔树(满二元树)需要2^n个叶节点数据,叶节点阶层= n + 1,父节点阶层= 子节点阶层- 1,根节点阶层= 1,叶节点阶层为最高

填充节点规则

一个完整的默克尔树(满二元树)需要2^n 个叶节点数据,但实际情况数据的数量未必满足且还可能是奇数。在此种情况下,如果一个节点k 没有兄弟节点,则自动填充生成一个兄弟节点k',该兄弟节点hash(k') = hash(k),节点k' 的币种数量设定为零。

验证原理

1. 验证原理:根据Bitget Limited 默克尔树定义,从用户本身叶节点开始往上计算父节点的哈希值,一直到根节点得出哈希值,对比步骤1 中获取到的默克尔树路径中根节点的哈希值,如果二者相等则通过验证,不相同则验证失败。

2. 范例:结合图一和下面的json 文本,依据用户本身叶节点h3 和提供的相邻节点h4 讯息可以计算出父节点h6 的哈希值,再和提供的相邻节点h5 讯息可以计算出父节点h7 的哈希值,然后和默克尔树路径数据中提供的根节点h7 讯息对比哈希值是否相等即可完成验证。

关于默克尔树的一些知识已经分享完了,大家如果想学习更多交易知识,直接登录Bitget交易所官方网站即可。

bitget

Bitget交易所

Bitget交易所是全球前4大交易所之一、打新活动多、领空投到手软,新用户注册即可领取BGB空投

点击注册 立即下载

Bitget交易所

Bitget交易所V

交易所官方网站了解交易所的投资者都清楚拥有默克尔树功能但是很多新手投资者并不了解它到底是什么今天就为大家答疑解惑默克尔树定义默克尔树是一种数据结构又称哈希树将数据储存在树形结构的叶节点中借由哈希值数据逐层记录到最顶层的根节点叶节点数据的任何变化都会传递给更上层的节点最后会显示更改后的数据在树形的根部...

文章数
0 评论数
浏览数

最近发表

热门文章

标签列表

目录[+]