美文网首页
区块链中的梅克尔树指什么?

区块链中的梅克尔树指什么?

作者: Luella_Lin | 来源:发表于2018-08-07 21:36 被阅读260次

    最近大家在群里转发了区块链公司的面试问题,来看看:

    区块链企业面试一般基本问题?

    一、名词解释

    梅克尔树、非对称加密、椭圆算法、环形签名、私钥公钥、拜占庭将军问题,Signal协议,DAG;

    二、选择题

    买过币嘛?都持有些啥币?用的哪家交易所、哪家钱包?最喜欢的区块链媒体有哪几家?

    三、 简答题

    你最熟悉的区块链公司是哪家,请根据公司基本简介和团队结构,判断两年后公司发展概况?请简答跨链协议和去中心化交易所的关系?简答全币种钱包和跨链协议的关系?

    市场上那么做做链的,你最看好哪一条?为什么?

    四、作文题

    1. 结合区块链当前技术发展现状和各国政策风向,分析并预判未来三个月大盘走势及爆发点。

    2. BTC/ ETH/ EOS 三者之间有什么必然的联系?Mixin Network 跨链协议采用的DAG 技术为什么能达到商业级应用?

    五、经历

    学校、专业、工作经历;上一次离职是为什么?遇到了哪些困难?

    为什么选择区块链行业从业?


    那么,这些问题,你会吗?

    我们先来看下梅克尔树是什么?

    梅克尔树/ Merkle Tree

    其实,梅克尔树或称墨克树就是哈希树,哈希数的概念由瑞夫·墨克于 1979 年申请专利,故有了别名的由来。

    在密码学和计算机科学中,哈希树(hash tree)是一种树形数据结构,树的每个叶节点存储了数据块的哈希值,而除了叶节点以外的节点则是存储自己的子节点的哈希值 。

    一般意义上来讲,它是哈希大量聚集数据“块”(chunk)的一种方式,它依赖于将这些数据“块”分裂成较小单位(bucket)的数据块,每一个bucket块仅包含几个数据“块”,然后取每个bucket单位数据块再次进行哈希,重复同样的过程,直至剩余的哈希总数仅变为1:即根哈希(root hash)

    这是一种二叉树(其实也可以多叉,只是二叉应用很广泛),是一种高效和安全的组织数据的方法,在区块链中被用来快速查询验证特定交易是否存在,由一个根节点、一组中间节点和一组叶节点组成。

    它使用哈希算法将大量的书面信息转换成一串独立的字母或数字。最底层的叶节点包含存储数据或其哈希值,每个中间节点是它的两个子节点内容的哈希值,根节点也是由它的两个子节点内容的哈希值组成。

    是不是很晕?看图:

    二叉哈希树示例

    哈希 0-0 和 0-1 分别是数据块 L1 和 L2 的哈希值。哈希 0 是将哈希 0-0 和 0-1 连接后所取得的哈希值。

    是不是一下子就清楚了~

    哈希树的顶部为顶部哈希(top hash),亦称根哈希(root hash)或主哈希(master hash)。以从 P2P 网络下载文件为例:通常先从可信的来源获取顶部哈希,如朋友告知、网站分享等。得到顶部哈希后,则整棵哈希树就可以通过 P2P 网络中的非受信来源获取。下载得到哈希树后,即可根据可信的顶部哈希对其进行校验,验证数据是否完整、是否遭受破坏。

    相关文章

      网友评论

          本文标题:区块链中的梅克尔树指什么?

          本文链接:https://www.haomeiwen.com/subject/mpylvftx.html