吴思进:一文读懂区块链最基本的技术原理

来自:gongxiangcj.com 归档时间:2017-04-26
很多搞技术的朋友都觉得区块链技术可能不是很难,但实际落地却不多,而且有些人说区块链概念太热了,33复杂美创始人、CEO吴思进认为是因为他们还没有真正理解区块链的商业价值,只有真正明白区块链的基本技术,才有可能理解区块链的颠覆意义。
 
多账本记一样的账
 
比如有6个帐本,张三有30元,李四有50元,每一个帐本的帐都是一模一样的,这就是区块链的第一个概念:多个帐本记着同一个帐,而且每个帐本都是一样,可以相互校验。
 
hash值的计算,校验数据的一致性
 
哈希就是把一个字符串,映射成一个相对固定长度的摘要值 64位16进制。
     
我们可以把区块链比喻成打牌,比如张三、李四、王五、赵六他们四个人在打牌。第0局每个人都发放100元,第0局,高度0区块他们的校验码hash值是hash0。第1局,高度1区块就是张三输给李四30元,大家可以看到张三的余额是100减30等于70,李四100加30等于130,所有这些交易及余额的变动就形成了hash1。
 
第2局,高度2交易就是李四输给赵六30元,王五输给赵六20元,然后他们的余额也分别变动为100、80、150,他们的hash值就是hash2。同样到第3局,张三输给李四70元,这是一笔交易,他们的余额也变成0、150,这些交易和余额的变动就是hash3。
     
前面这张表只有一个节点,现在我们可以看有两个节点的图:节点A和节点B。节点A的高度是小写的hash0,和节点B的hash0是一致的,节点A的hash1和节点B的hash1也是一致的。依此类推,两个hash2一致,两个hash3也一致,那么说明这两个节点的所有的交易和余额的数据都是一致的。如果有十个节点,那这十个节点也都是一致的。
     
我们可以用一个time33来解释一下hash值是怎么计算的。计算123 的hash值的话,初始的hash值是0,那么第一个“1”的hash值就是33×0+1等于1,“12”的hash值就是1×33+2等于35,“123”的hash值就是35×33+3等于1158,所以在不同的节点,如果都是“123”这个字符串的话,算出来的hash值就都是1158,同样的数据他们的hash值就是一致的。
 
张三给李四100元有一个hash值,张三给李四101元则是完全不同的hash值,所以两段数据中只要有微小的差别,他们的hash值就是完全不一致的,hash值可以校验两段数据是否一致。
 
区块链的原理
     
这里有高度0、高度1和高度2三个高度的区块。第一个高度0,它的交易数据和余额数据是小写的hash0,先生成一个大写的HASH0。大写的HASH0到高度1里面和小写的hash1的数据串联以后,再形成一个大写的HASH1,那么大写的HASH1则包含了高度1里面的交易数据以及前面所有区块数据的哈希值。
 
第二个高度的区块又包含了大写的HASH1和小写的hash2的hash值,就形成了一个大写的HASH2,那么如果十个节点的服务器的HASH2都一致的话,这就说明他们的数据都是一样的。
 
私钥签名,公钥验证
 
私钥是什么呢?私钥其实就是一个随机数或一个坐标。比如2的6次方有64个数字,你若选其中的37作为你的坐标。如果把它想象成一块地的话,你把你的金子藏在37号地,要挖多少块地才能找到金子呢?如果我们的区块链比特币它私钥的数字是2的256次方,相当于宇宙的原子数,你随机找一个坐标把金子放上去,其他人几乎是不可能找到得。
 
在这里私钥经过椭圆曲线加密和两次hash后,会生成公钥地址,就是区块链上记录你的钱或资产的帐户。我们也可以把私钥比喻成信箱的钥匙或密码,张三给李四转帐30元就用张三的私钥进行签名。大家可以看到,你改这个签名的字符串或者是改收款人或金额都是没有办法做到的,因为这个签名必须是用张三的私钥签名,才能被记账节点验证通过。
 
然后张三会把他对交易的签名发送给记帐节点去验证。如果十台服务器有七台验证通过以后,这个转帐就会成功,张三的余额就少了30,余额变为70,李四的余额就会增加30,变成130。
 
持有比特币最多的地址上有18.9万个比特币,相当于15多亿的人民币。那在公网上有这么多黑客攻击都没有破解他的私钥去把这个地址上的币给盗走,所以我们看出来比特币的安全性还是经受了实践的考验的。
 
梅克尔树的校验作用
     
大家可以看一下这一个区块里面有四笔交易,两两hash以后,再两两hash就变成了根hash值。
 
大家看这个图,把前面的TX0,TX1,TX2交易全部隐藏,只剩下TX3。这里我们把TX3的hash值加上TX2的hash值可以形成hash23,然后hash01+hash23可以算出根hash值,这说明我只要知道我自己的数据,我也能算出这个数据是不是有被篡改,有没有在这个区块里面。
     
我用一个加法来代替hash来看交易是否在这个区块里面。5+6等于11,11+12等于23,23+25等于48,35+48等于83,那么我只要绿色的和红色的这些数据我就可以证明我的交易是否在83这个头hash下面,就可以证明我没有被篡改,存在这个区块链中。
     
这个图就是私链或者联盟链的一些节点。尤其是联盟链,四个节点中只要有三个正常运行就能够维持,七个节点有五个能正常运行就能继续做区块链共识。
 
我们给海平线“海票惠”部署的节点都是放在海航云内网里面,但是用户只要获取部分数据,就可以通过merkle树来验证数据是否被篡改,并且可以把部分需要分享的数据拿出来给第三方,去证明这些数据是谁和谁签的合同,然后这个数据有时间锉,这也是没有办法篡改的。然后我们会把私链跟hash值写到比特币上,这样就更加没有办法篡改了。
 
或者我们把各个私链的头hash值串起来搞一条联盟链,将他们的头hash全部放在一条链上,这样也是一个很方便的方法。既能保护每一条私链的隐私,又能够保证他们的数据无法被篡改。
 
智能合约的运行过程
 
智能合约,就是一方面把股权或票据放到交易所,另一方面把数字货币也放到交易所。如果两个条件都能够匹配,那么就是一手交钱一手交货,自动执行。
 
海票惠的票据撮合平台首先第一步,融资方和贷款方都会在平台上注册,那么都会开一个银行托管帐户,有票的一方把票据在区块链上平台上挂出,购票的一方就把钱存入银行的托管帐户。
 
比如一家企业把一张一百万的商业承兑汇票挂在区块链平台上,然后另外一家保理公司存入98万元的钱,他会收到98万元的代币,卖家设定一定利率挂牌卖出。买家用代币可以买区块链上的票据,撮合成交以后,相当于订立了合同,这买家的钱就从买家的帐户转到卖家的帐户中冻结起来,然后卖家会在ECDS把票转给买家,买家看ECDS 确认票收到以后就会让银行放款,买家就能收到钱。
 
票据登陆,录入如果能够和央行ECDS直联,只要输入编号就可以把票据的信息写到区块链上。票据录入以后,就可以挂牌,以一定的利率挂牌。其他公司或保理公司觉得利率不错,又有资金,那么就可以在区块链上摘牌,这样就形成了一个合同关系,然后就开始交割。
 
为什么那么多核心企业都非常急切的要做票据服务平台呢?关键就是那些与核心企业关联的中小企业都有强烈的融资需求。供应链金融数据写在区块链上不可篡改,就会形成非常宝贵的信用资料,方便融资,也方便企业提高自己的信用,对于信用差的企业,他们就会被淘汰。
 
明白了原理是第一步,后面要理解为什么区块链对整个经济和社会的颠覆意义是深远的,这个可能不是一两句话能够说明白的。在三年前我已经完全认识到区块链的技术就和互联网技术一样,能够有巨大的经济价值、社会价值,我们就义无反顾的投入到区块链的研发当中去,所以目前在这个行业内也能够保持一定的领先地位。(钛媒体)
 

有关于吴思进:一文读懂区块链最基本的技术原理

吴思进:一文读懂区块链最基本的技术原理

很多搞技术的朋友都觉得区块链技术可能不是很难,但实际落地却不多,而且有些人说区块链概念太热了,33复杂美创始人、CEO吴思进认为是因为他们还没有真正理解区块链的商业价值,只有真正明白区块链的基本技术,才有可能理解区块链的颠覆意义。 多账本记一样的账 比如有6个帐本,张三有30元,

MerkleDAG全面解析 一文读懂什么是默克尔有向无环图

MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今天阿信带大家一起来探究什么是MerkleDAG,拆分解说Merkle Tree、DAG有向无环图、MerkleDAG在IPFS中的应用。   MerkleDAG树形结构图  Merkle TreeMer

文摘 | 一文读懂加密货币分叉

原文阅读时长 3 分钟:一文读懂加密货币分叉加密货币分叉是区块链中的一个分裂,可能由于多种原因而发生。在本文中,我们将看看它们是什么,分叉的类型以及它们发生的原因。什么是分叉?说到比特币和加密货币,有两种类型的分叉 ; 硬分叉和软分叉。在最基本的层面上,这些分支是由于一组参与者不同意特定区块链的协议

【干货】还在谈比特币区块链你out了! 一文读懂全球通证市场机遇与挑战

【腾讯财经编者按】现如今,区块链的概念被越来越多的人熟知,相对而言,早于区块链出现的另一个重要的概念——通证(Token)却仍然比较陌生。通证的本质就是区块链上的一种权益证明 ,基于通证的区块链项目都试图将其所发行的通证作为一种经济激励的工具或手段,来维护和促进生态的协作和运行。腾讯财经甄选一篇题

最热门分片方案究竟怎么样?一文读懂以太坊 2.0、Zilliqa、Quarkchain、Monoxide

分片一直是热门话题,最近热度更高。因为关于如何提升区块链基础设施性能瓶颈的问题 , 已经热热闹闹讨论了一年多时间,开发者们提出了包括链上扩容和链下扩容在内的多种扩容方案,其中,分片技术在不降低去中心化性能的情况下提升了可拓展性,具有良好的应用前景。于是,众多分片项目成为市场关注焦点,获得知名机构投资