木星链 木星链
Ctrl+D收藏木星链
首页 > 区块链 > 正文

ASH:区块链与你“最熟悉的陌生人”

作者:

时间:1900/1/1 0:00:00

本文来自:区块链大本营,星球日报经授权转发。

提起“默克尔树作为底层数据结构的分布式系统”你会想起谁?除了区块链,其实还有你最熟悉的陌生人——Git。“简化版”的区块链

从许多角度看,Git都像简化版的区块链。Git的开发始于2005年。彼时,Linux内核开发团队正被之前使用的专有代码管理系统BitKeeper所困扰,LinusTorvalds希望获得一种体验近似BitKeeper的分布式系统,遍寻不得,便选择了自行开发。

Git项目开发效率惊人——Linus4月3日开工,6日向社区宣布,7日实现self-hosting,18日第一批分枝合并,29日就能以每秒6.7次的速度向Linux内核代码树打补丁。6月,在Git的控制下,便发布了2.6.12版内核。如果用三句话阐述Git的运行原理,那就是:生成修改过的文件生成当前目录tree文件,关联当前状态文件生成commit文件,关联到当前目录tree文件,并记下父commit

浙商银行行长:区块链业务可消除银企间信息不对称问题:浙商银行党委副书记、行长徐仁艳表示,区块链业务可以消除银企之间信息不对称的问题,也降低了虚假的交易和重复融资的风险。第二方面利用区块链技术创设了新的电子化金融工具,并且有底层的资产,可以有效的缓释风险。(中国产经新闻)[2020/9/23]

其使用方式可简单描述为:本地提交,累积几次后push到remote。本次提交会关联上一次提交,跟区块链是不是类似?版本控制最重要的是可追溯,如果某次错误提交,还可以回退到历史版本——可追溯也是区块链的重要特性。区块链是分布式的,Git天然就是分布式,不过Git依赖文件系统。以GitHub上的操作为例,代码或者文档一旦提交,操作将无法撤销。如果程序员clonerepo,只要不删除,将永久存储在自身电脑,除非文件系统崩溃;如果某程序员fork该repo,只要账户不被删除,这个repo将永久保留在账户之下。另外,某个repofork、clone次数越多,被摧毁的概率也就越低;再者,某个repo即使最近一次操作清空了所有代码,还可以通过gitlog恢复。区块链的另一个特性是不可篡改,也就是只能Insert。Git呢?GitHub托管的repo里的内容本身是可以修改的,然而这个commit历史却是无法修改的。每一次commit都有唯一标志,本次commit会有parentcommit的信息。Git产生的log也可以通区块链数据库类比。而且,谁能说“不可修改”或者具备共识算法就是可称为区块链的充分条件呢?

张洪波:将探讨区块链等新技术在协会各项工作中的应用:中国文字著作权协会总干事张洪波发表文章指出,为了最大程度降低今年疫情对版权工作的影响,中国文字著作权协会将加快内部办公OA系统、会员作品数据库、教科书选文数据库、教辅图书数据库等信息化建设。创新工作方法,探讨区块链等新技术在协会各项工作中的应用。(中国新闻出版广电报)[2020/3/26]

如果将视角转向底层,我们能发现两者更多相似。共同的底层数据结构——默克尔树

区块链与Git内部数据结构都以树形数据对象表示——即以默克尔树作为底层数据结构。默克尔树这种现代数据结构是由计算机科学家RalphMerkle在1979年提出,并以他的名字命名。

这种数据结构的特点是:大多数为二叉树,也可以多叉树,无论是几叉树,它都具有树结构的所有特点叶子节点value是数据集合的单元数据或者单元数据Hash非叶子节点的value是根据它下面所有的叶子节点值,然后按照Hash算法计算而得出

动态 | 东华软件转让5.04%股份给腾讯 曾宣布将和腾讯联合研发区块链应用:区块链概念股东华软件发布公告称,实控人及一致行动人建水同欣、薛向东、郭玉梅拟将其合计持有的公司1.57亿股股份,协议转让给腾讯科技,该股份占公司总股本的5.04%。转让的价格9.171 元/股,总价款14.41亿元。本次股份转让不涉及公司控制权的变更,腾讯科技持股比例将达5.04%,交易将明确公司与腾讯的长期核心战略合作伙伴关系。而此前2019年10月,东华软件曾宣布称,未来公司与腾讯将联合研发区块链技术的落地应用。[2020/1/10]

近年来,除了Bitcoin、Ethereum、IPFS,一大批计算机工程突破,都得益于这种数据结构进行完整性校验,例如文件系统ZFS、Btrfs,另一种分布式版本控制系统Mercurial,NoSQL数据库ApacheCassandra、Riak、Dynamo等。BT下载,也是通过默克尔树进行完整性校验。要实现完整性校验,最简单的方法是对整个数据文件做Hash运算,把得到的Hash值公布在网上,下载数据后,再次运算Hash值,如果运算结果相等,就表示没有任何的损坏。假如从稳定的服务器上下载,那么采用单个Hash来进行校验的形式是可以接受的。但在点对点网络中作数据传输时,会从同时从多个机器上下载,且线路充斥着不稳定,这时需要有更加巧妙的做法。实际中,都是把比较大的一个文件,切成小块。如果有一个小块数据在传输过程中损坏,只要重新下载这一个数据块就行。当然这就要求每个数据块都拥有自己的Hash值。以我们熟悉的BT下载为例,下载真正的数据之前,会先下载一个Hash列表的。这时有一个问题出现——那么多的Hash,怎么保证它们本身都是正确地呢?答案是需要一个“根Hash”。把每个小块的Hash值拼到一起,然后对整个这个长长的字符串再做一次Hash运算,最终的结果就是Hash列表的根Hash。于是,如果我们能够保证从一个绝对可信的网站,或者从我们的朋友手里拿到一个正确的根Hash,就可以用它来校验Hash列表中的每一个Hash都是正确的,进而可以保证下载的每一个数据块的正确性了。这种设想挺好,但实际应用中,还有不足,这就是为什么要发默克尔树。在最底层,与Hash列表一样,数据被分成小块,有相应的Hash和其对应。但是往上走,并不是直接去运算根Hash,而是把相邻的两个Hash合并成一个字符串,然后运算这个字符串的Hash,这样每两个Hash就结婚生子,得到了一个“子Hash”。如果最底层的Hash总数是单数,那到最后必然出现一个单身Hash,这种情况就直接对它进行Hash运算,所以也能得到它的子Hash。于是往上推,依然是一样的方式,可以得到数目更少的新一级Hash,最终必然形成一棵倒挂的树,到了树根的这个位置,这一代就剩下一个根Hash了,称为默克尔根。相对于HashList,MerkleTree的明显的一个好处是可以单独拿出一个分支来对部分数据进行校验,这个很多使用场合就带来了Hash列表所不能比拟的方便和高效。参考文章:https://www.jianshu.com/p/458e5890662fhttps://dbarobin.com/2018/02/06/blockchain-vs-git/

海纳云CTO邹均:区块链在当前世界中存在一些限制:海纳云CTO邹均在区块链技术与应用峰会之区块链的核心技术峰会上表示,目前区块链技术在当前这个不完美世界有一些限制,难点主要是在分布式系统里面所有的节点步调一致,体现在第一个大家熟知的大家叫系统限制,大家都在讨论多少支撑应用,拓展性限制,很多个结点共识到底有没有公信力,到底是中心化的还是去中心化的,这个是一个问题。易用性用户实际上是写不了,也部署不了,也看不懂,易用性怎么调动区块链的功能,另外,链与链之间怎么做流转,这也是一个限制。现在确实存在这个限制。[2018/4/4]

标签:ASHHASH区块链COMsashimiswapFilcoin Standard Full Hashrate Token区块链是局吗Harcomia

区块链热门资讯
区块链:迟疑与荣耀:阿里区块链往事

编者按:本文来自白话区块链,作者:孙副社长,星球日报经授权发布。在今天的文章开始之前,各位读者不妨先问自己一个问题:“对自己来说,阿里意味着什么?”答案可能是多种多样的:普通用户会说,阿里意味着.

1900/1/1 0:00:00
稳定币:稳定币行业简析

1、什么是稳定币1.1定义稳定币为加密货币的一种,旨在最大限度地降低价格波动性。稳定币的底层逻辑是在建立整个区块链世界的支付体系.

1900/1/1 0:00:00
区块链:星球日报 | BCH分叉进行时;百度成立区块链媒体实验室;上海将成立区块链产业引导基金

头条BCH分叉进行时,ABC链算力暂领先BCHSV链星球日报讯,11月16日01:52,SVPool矿池挖出最后一个公共区块后,BCH链劈成两半.

1900/1/1 0:00:00
TER:星球首发 | 做稳定币和支付平台,Terra想成为区块链领域的“支付宝”

作为分布全球的电商联盟,Terra近期获得了来自包括BinanceLabs、PolychainCapital、OKEx、HuobiCapital、FBGCapital、ArringtonXRPC.

1900/1/1 0:00:00
比特币:比特币十年:如何延续支付革命的驱动力?

2008年11月1日,在一个“密码学邮件组”中出现一个署名为中本聪的新帖子。我正在开发一种新的电子货币系统,采用完全点对点的形式,且无需受信第三方的介入.

1900/1/1 0:00:00
MON:腾讯微信PC端疑似被挂Coinhive.A木马?虚惊一场

本文来自:知乎用户,崇慕,星球日报经授权转发。今天打开PC端微信,windows10防火墙Defender一直弹出这个提示,微信PC端关闭后就不弹:如果没有拦截会打开http://www.qq.

1900/1/1 0:00:00