分享

两篇读懂区块链,dierpian

 罗宋汤的味道 2019-08-31

白话区块链技术

区块链本质是一个分布式数据库系统,所以大家学习的时候不要抱有太大的心理负担,你就想着它仅仅是个数据库就好了。下面我们通过数据库来学习区块链吧。

专业术语介绍(zhuang)

区块链技术相关的术语先罗列一下大家有些看不懂没有关系,主要是想让大家大致了解一下整体的情况

说说人话

现在我将会把所有的上边术语用故事做一个串接,形成一个整体的和大家说一说,这样大家理解起区块链也就更加深刻啦~

西游记--Docker篇

看过西游记的同学应该都知道,整个西游记里边太上老君的阴阳二气瓶很强大,念个咒,要什么收什么,再念个咒,想出来就放出来。和哆啦A梦的百宝袋,皮姆博士的小箱子比有过之而不及。我们给大家介绍的Docker也是这么个东西,你想收纳什么程序进去,你就写个DockerFile(念个咒)。就算你想收纳一个操作系统也行。基于这个法宝的便捷性,目前大公司给客户交付软件,也都不用制作安装包。直接大叫一声“xxx.exe”快进来,然后程序相关的东西就全到Docker里边去了,最后我们就直接把Docker交给客户,并告诉客户如何念咒语去操控Docker里的程序就行啦。

火影忍者--Zookeeper,Kafka篇

大家对于火影忍者的主人公鸣人一定不陌生。要说到鸣人最擅长的技能是什么,我想一定是影分身。那这个和我们要说的技术有什么关系吗?当然有,按技术原理上讲影分身之术相当于Kafka,鸣人本身相当于Zookeeper。怎么讲呢?请听我慢慢道来。如果你是鸣人,当面对数量众多的敌人时(高并发请求),你想的第一件事会是什么,没错,一定是先用影分身之术(Kafka集群),多来点人,帮自己减轻点负担,留下精力用来对付最厉害的人。当然,变出来的分身,不能各自为站,总该听一个人的指挥(Zookpeer),不然就会变得群龙无首,乱做一团,形不成战斗力。

部署区块链所需技术总结

区块链应用分为两部分:区块链网络、应用端

区块链网络由Docker集群构成,Docker集群上的每一部分Docker节点内需要启动Kafka用来处理整个网络面对的高并发请求,一部分Docker节点内需要启动Zookeeper用来管理网络中的Kafka集群。

应用端也就是我们通常说的前端和后台,主要是向区块链网络发出插入数据,查询数据,删除数据的请求。因为这部分内容和区块相关性不大,也就不展开叙述了。

以上大学为例--区块链术语详解

CA与区块链网络

我们知道,我们上学都需要在开学第一天去学校招生办报到,注册一下这学期的学籍,一般注册学籍的话,都会给你颁发一个凭证,例如一卡通以证明你注册过学籍。当你进出校门的时候,门卫就会检查你的凭证,看看你是不是这个学校的学生,如果不是的话,门卫就不会让你进入学校。

总结:同理,在区块链中,如果你想加入区块链网络的话,你就必须去找CA注册一下,然后CA会返回给你一个证书。之后,在区块链网络中发生的任何与你相关的事件都会先验证你的证书是否有效,如果证书无效,你就不能参与相关的事务。

通道与链码

在学校的时候,我们和同学交流都需要聚在一起(这里见面,打电话,聊天软件建群都可以视为聚在了一起),只有大家用同一种交流工具聚在一起的时候,大家才能开始交流。但是光使用的相同的工具大家还是没办法交流,因为刚开始大家来自天南海北,各自说各自的家乡话,别人都听不懂,为了能让大家都能听懂别人在说什么。最后大家一致决定,都用普通话来进行交流,沟通的障碍总算解决了。简而言之,这就像你既会普通话,又会家乡方言。你和老乡沟通,就用家乡方言,你和同学沟通就用普通话。

总结:同理在区块链网络中,各个Peer节点如果想进行通讯的话,必须同时处在同一个通道下并且必须拥有相同的链码(智能合约)才行。所以,一个区块链网络下,Peer节点可以有任意个,通道也可以在任意的Peer间建立。重点:每个通道一般只会有一个链码存在重点:一个Peer节点可以存在于不同的通道上重点:这也意味着一个Peer节点可以拥有多个链码。

组织

当我们在学校上学的时候,我们可以根据自己的兴趣,加入自己喜欢的社团(帮派),当我们加入社团(帮派)的时候,其实也就相当于我们加入了一个组织。

总结:在区块链网络中,Peer节点必须选择任意一个组织加入。区块链网络之所以要建立组织这样的属性。这其实是为了便于我们之前说的Kafka集群来管理组织,进而管理Peer节点间的事务处理顺序,均衡来自Peer节点的负载(请求)

应用端、Peer、账本和Orderer

当我们在学校上课的时候,一般都会带着笔记本。当老师和全班同学说,快记下来,这里是重点。这个时候,我们脑子里就会意识到这个知识点很重要,这时候,我们大家会先把当天的日期,题号,页数记下来,然后开始记录知识点,因为这样会方便我们之后的查找知识点所在的位置。假设期中考试考完了,有一名同学成绩考的不是很理想,就申请重新考一次因为老师没有讲到某一个知识点。这个时候,班上的其他同学就一起翻笔记本。最后大家一块核对了一下,老师确实讲了这个知识点,因为大家笔记本上都记录了这个知识点。因此,这位同学的重考申请也就被驳回了。通过这个小案例希望大家能明报,区块链的安全性与防篡改性大致是如何实现的。

总结:区块链的中应用端、Peer、账本和Orderer之间的关系没有举的例子这么简单,但是大致意思应该是表述清楚了的。实际上,他们之间的关系应该是这样的:应用端的请求会交给Peer验证,Peer节点验证通过之后,会判断这是什么样的请求。如果是写入(数据库)请求,Peer节点会将这个请求发送给指定背书的所有节点,当所有节点都签名验证之后,Peer节点会将这个请求发送给Orderer节点,Orderer节点会验证一下是否所有的Peer节点都签字认证了,如果是,Orderer节点就会向所有的Peer节点广播这个插入请求,并且在各个Peer节点上追加一个新的由写入数据组成的区块。如果是查询请求,Peer节点将直接将查询数据库之后的数据返回到应用端

关于区块链+模式的思考

看完上边的内容,大家应该都明白区块链是干嘛的了。所以,现在我们聊一聊,区块链是怎么在实际中得到应用的。

区块链 + 医疗

近几年来,时不时发生医用药品造假的事件,人民安全受到严重的威胁(说这句话这恶心我)。如果在医用制造过程中,使用区块链技术的话,那么每个药品,用什么制作的,在哪里制作的,谁经手卖出去的这些数据都可以存放到区块链上。当患者使用药品的时候,就可以到区块链上去查询药品从生产到加工的所以信息,这样就遏制了假药的出现。另外,由于区块链上数据的不可篡改性,这些药品信息的真实度也可以做到绝对的保证。

区块链 + 物流链

有时候我们买东西,最恨的就是买到假货,那怎么样才能鉴别买到的东西是不是假货呢?答案当然是使用区块链技术。将区块链应用到物流链上,产品的所有信息都会变得公开透明,用户可以随时查询所购买的产品,是用什么原料构成的,是在哪里生产出来的,是从哪里运过来的等相关信息。到哪个时候,就真的是让假货无所遁形,用户也就可以放心购买产品了。目前国内,我已知的是京东已经在生鲜物流供应链方面应用了区块链技术。

区块链 + 知识产权保护

现在不管国内还是国外,都越来越重视知识产权的保护。而区块链技术刚好就可以填补这个市场的空白。怎么说呢?区块链拥有数据的不可篡改性。因此,假设小A2019年发明的专利,小A申请将这个专利信息放在区块链上,而2024年的时候,小B说是他发明了这个专利要和小A争专利所有权。这个时候,小A就提议直接用区块链查一查,看一看,这个专利到底是什么时候申请的。结果一查发现小A确实在2019年的时候申请过专利了,于是小B不仅没有专利所有权,还要付给小A一定的专利费。当然,上边举的例子只是区块链在只是产权方面的一部分应用,其他的诸如艺术家的艺术品,字画,文章,都可以作为数据存放在区块上,防止有人抄袭伪造。

总结

细心的同学可能会发现,区块链应用的落地无非和区块链的三个特性有关,分别是:安全性,不可篡改性,以及由不可篡改性延伸出的可溯源性。其实区块链+还有很多的应用,大家感兴趣可以自己去查找相关的资料来看,但不管是什么行业应用区块链,万变不离其三个特性,因此在这里就不一一赘述了。

如果您觉得这篇文章写得对您有用,请关注公众号:小竹酱

我将持续更新有料的内容

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多