[原]区块链技术学习笔记

标签: | 发表时间:2017-07-04 03:51 | 作者:russell_tao
出处:http://blog.csdn.net/russell_tao

1、区块链技术是一个解决了拜占庭将军(百度百科 拜占庭将军问题)节点的分布式数据系统!这是它最大的不同,也导致了这个技术存在诸多限制。

为了方便理解,先插个话题。做服务器端开发的程序员,都对zookeeper不陌生,我们解决分布式ACP问题时,寻找一致性解决方案时都会想到它。zookeeper实际使用了paxos的简化版算法(本文不展开,请参考我之前写过的两篇文章: paxos分布式一致性算法–讲述诸葛亮的反穿越 以及 paxos算法如何容错的–讲述五虎将的实践)。想搞明白比特币(成于区块链技术)的算法,应先弄明白paxos算法(便于对比),目前商用的方案中,我们都假定服务器内网是不能被攻破的,所以,我们主要解决的是网络传输的不可靠,包括丢包、重发、延迟等问题,以及服务进程的bug导致的服务宕机、重启等。如果内网被攻破,黑客恶意的在某个节点(服务器)伪造网络包,向正常节点发送有问题的数据包,这种场景通常是不考虑的。显然这很合理,企业内网间如果还做大量的安全验证,性能消耗就太大了,基于成本使得商业目标几乎无法达成。

而公有区块链则是不同的,比如目前最成功的比特币,它使用了POW工作量证明算法,这个算法允许网络中存在拜占庭节点!也就是说,网络中即使存在作恶的节点,只要这些作恶的节点小于总节点计算能力的50%,就还能保持一致性!当然这个一致性做得也不怎么样,可能存在分叉好一段时间(1小时甚至更高,其一致性的大小只能获得概率),而且数据的回滚非常糟糕。


2、区块链技术的另一个核心特点是全量帐本。即,每一个节点都保持着全网数据!即,每个节点、每台电脑上都保存着所有的数据。多么恐怖的代价!每台电脑的存储容量是有限的,以网络中最差的那台电脑容量为限制,几十个G就差不多了。存储的浪费是很惊人的!所以,别指望非数字帐户的核心数据也能放到区块链网络上,或者仅放个索引,指向现在的网络存储设施。

当然,区块链的核心优势也是全量帐本,最好的也是最坏的!因为,每个节点都维护全量数据,所以,所有节点本质上都是对等的!即,或许这个区块链网络中既有银联的超级服务器,也有个人开发者的公有云小主机,但大家的数据是相同的,谁也不能说数据出问题了必须以我的为准!

因此,全量帐本解决了社会信任问题!特别对于金融供应链来说,原本的中心化服务企业可能大家都很难接受,而基于区块链技术后,小企业的顾虑没了,大企业考虑做大这个联盟可能更有利于谈判从而做大蛋糕!


全量帐本还带来一个副作用,就是数据透明,没有隐私!!!这对很多人来说是不可接受的。每一个节点都有所有人的数据,你敢把你何时何地消费了多少钱放在上面吗???


3、区块链技术还有个特点,就是所有的交易记录都是不可修改、不可删除的!这是其算法决定的。所以,这对于公益、扶贫、反腐等是很有吸引力的,蚂蚁金服目前也只敢在公益上用用区块链技术。


4、区块链技术底层使用了P2P网络技术,大量使用反对称加密技术(相信程序员们没有不知道SSL的)来验证基于公网的消息可靠性,基于哈希算法实现了如快速验证数据未被篡改等诸多特性(POW的工作量证明算法,核心就是哈希算法)。基于多种分布式网络的一致性算法。所以,区块链使用了一堆老技术,实现了新的理念!特别是对公有链和联盟链,这种思维方式打造了技术上的社会信任体系!(私有链从这个角度来说没有任何意义!)


5、比特币的火爆原因,我认为,除了区块链技术本身的以上特性外,更多的是它的激励机制:挖矿奖励。即,确认出全网前1个小时左右所有交易的节点获取50比特币奖励(由于比特币总数固定,所以奖励额持续下降中)。这利用了人性的特点,而只要越来越多的人认可这个想象共同体,其价值就会出现。

当然,POW算法才是程序员们最感兴趣的。所谓工作量证明算法,就是全网的所有节点(电脑),都在拼命的消耗自己的计算力(其实就是消耗钱,包括买机器、显卡的钱,电费、房屋租金等等),以此证明我是乐意合作的。很难懂?

其实很简单:第一,所谓消耗计算力,就是挖矿,所有节点都在不停的挖矿,拼命的用CPU和GPU在运算哈希值,试图抢得新比特币奖励。

第二,为什么消耗了计算力,就能证明我是乐意合作的呢?

先说一个心理学上的囚徒困境。想必大家港产黑帮片看得多吧?警察抓到2个相关的嫌犯时,最怕他们通过其他人、手机等设备互相联络上。如果联络不上,根据囚徒困境原理,双方都会基于为自己获得最大利益从而出卖对方。但是,一旦他们互相间可以沟通时,其中一个多半会通过描述一种对他非常不利的场景(大家可以想象,比如说:如果我出卖了你,一定会XXXX。当然通过言语没有效果,都会描述一种客观事实),向另一个嫌犯证明自己不会背叛他。接着他们就建立了一种信任关系,警察就很难有成果。

所以,先证明对自己不利,将有利于大家可以合作,建立起信任关系。而POW就是认为,51%的计算力都来自于向往合作的好的节点,少数服从多数。而所有节点都在消耗计算力,就是在证明自己是愿意付出的。

所以,一旦出现一家机构掌握了比特币全网51%的计算能力,结果就是灾难性的!


6、联盟链目前看是区块链技术商用的最好方式。特别是跨国银行间的汇款等操作!信任问题,在跨越国家、法律、文化等多领域时才会剧烈地凸显出来,区块链的用武之地!

作者:russell_tao 发表于2017/7/4 9:49:01 原文链接
阅读:10 评论:0 查看评论

相关 [区块链 技术 学习] 推荐:

[原]区块链技术学习笔记

- - 陶辉的专栏
1、区块链技术是一个解决了拜占庭将军(百度百科 拜占庭将军问题)节点的分布式数据系统. 这是它最大的不同,也导致了这个技术存在诸多限制. 做服务器端开发的程序员,都对zookeeper不陌生,我们解决分布式ACP问题时,寻找一致性解决方案时都会想到它. zookeeper实际使用了paxos的简化版算法(本文不展开,请参考我之前写过的两篇文章: paxos分布式一致性算法–讲述诸葛亮的反穿越 以及 paxos算法如何容错的–讲述五虎将的实践).

我是如何学习区块链的

- - IT瘾-dev
原创文章,转载请注明:转载自 Keegan小钢. 微信订阅号: keeganlee_me. 专栏地址: https://xiaozhuanlan.com/fullstack. 前几天我们已经学了如何学习的“道”和“术”,学完之后就应该落地到实践上,通过不断地实践练习,才能将这些 知识资源转化为我们的 知识资本.

颠覆未来:区块链技术

- - 冰火岛
区块链之父-中本聪,主要来自比特币技术. 2009年的一篇paper,Bitcoin: A Peer-to-Peer Electronic Cash System 提出基于 区块链技术的电子货币技术. 可以用点对点的网络解决方案解决双重支付问题. 没有类似铸币厂一级的第三方的信任机构. 可以用哈希现金形式的 工作量证明来制造新的货币.

蒋勇 | 白话区块链技术栈与应用

- -
(中生代技术&华章科技区块链技术分享第一期). (本文约12000字,阅读完本文预计10分钟). (如果电脑上阅读出现方框乱码,请下载PDF原文:链接:http://pan.baidu.com/s/1jHEyjEA  密码:zg30). 现如今说起比特币,相信不少朋友已是耳熟能详了,尤其是这两年随着其价格飙升,甚至超过了黄金 ,超过了房地产,各大财经媒体乃至央视都有所关注报道;.

沃尔玛用区块链技术追踪食品货物:保证你到手的猪肉和酸奶不过期

- - 博客园_新闻
据  Engadget 报道,沃尔玛正在尝试使用区块链技术追踪食品来源,确保存货处于保质期内,以此保证仓存食物的安全性,及追查变质食品源头. 通过食物货品上的电子凭证,沃尔玛能随时跟踪每一件食物货品在供应链中的位置,从发货位置到检查员,从航运公司到派件员等. 只要发现某件食物货品存在质量问题,沃尔玛员工能在几分钟内追查到这件货品的全部运输轨迹,以及同批货品的位置,并马上采取回收、封存等措施.

[原]如何学习技术?

- ndv - heiyeluren的blog(黑夜路人的开源世界)
文章来自baidu NY 同学的邮件,整理发出. 1. 想学的技术非常多,该怎么办. 区分重点,选定目标,循序渐进. 技术是无边际的,随着知识的不断增加,会发现未知的东西更多. 1) 找重点:区分感兴趣的技能和必须技能,将重点放在必须技能上. 如实在区分不开,可以这样问自己:不学这个技术会现在的工作是不是干不下去了.

免费的晚餐--Google技术学习

- - 企业架构 - ITeye博客
作者: 江南白衣,原文出处:  http://blog.csdn.net/calvinxiu/archive/2007/01/31/1498597.aspx. 如果说Google的搜索引擎是免费的早餐,Gmail们是免费的午餐的话,.      http://labs.google.com/papers/ 就是Google给开发人员们的一份免费的晚餐.

[译] 理解机器学习技术

- - IT瘾-dev
第1讲 理解机器学习技术. 学完本模块的内容,读者将能够:. 讨论机器学习的技术和商业应用. 学完本讲的内容,读者将能够:. 解释各类机器学习方法和算法. “机器学习领域的突破,其价值10倍于微软. 你是否曾经为计算机能够下象棋或者机器人能够完成复杂任务而感到惊奇. 一旦你理解了机器如何学习和适应各种问题、提供合适的解决方案时,这些看上去很复杂的问题实际上相当简单.

视频 | 18分钟搞懂区块链究竟是什么?

- - 明学的白板
一个视频了解一项面向未来的技术 —— 区块链. 今天推荐一个18分钟的视频,有关很多人至今仍看不懂的比特币背后的核心技术——区块链(blockchain). 比特币在去年由于众所周知的原因又爆发了一波. 区块链作为比特币最核心的底层技术,在它的气发现,目前已经有许多商业运用. 区块链的核心概念其实并不难理解,只是缺少清楚直观的讲述,Anders Brownworth 就是一位可以把复杂概念讲的非常简单的技术宅,我很佩服这样的人.

Hyperledger Fabric 1.0,基于区块链的分布式账本

- - 开源中国社区最新新闻
由 Linux 基金会发起创建的开源区块链分布式账本 —— Hyperledger Fabric,已经迎来了 1.0 版本. 该项目着重于性能和可靠性,以及推动区块链和分布式账本技术的跨行业协作. Hyperledger Fabric 可用于全球供应链管理、金融交易、资产账和去中心化的社交网络等场景,但无意以此来构建一种加密货币.