《区块链:技术驱动金融》阅读笔记
Posted 西北偏北UP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《区块链:技术驱动金融》阅读笔记相关的知识,希望对你有一定的参考价值。
前言
最近读了几本区块链相关的书,其中一本是《区块链:技术驱动金融》。毋庸置疑,以比特币为首的区块链技术,已经在事实上取得了一定程度的成功。这篇博文抛开细节技术实现,记录自己对区块链技术的粗浅认识。
比特币是什么
比特币使用的是区块链技术。比特币只是区块链技术上的一种具体实现
区块链从其名字直观来看,就是一堆指针串联起来的区块,每个区块中记录了一些数据,具体到比特币,就是记录了交易数据
区块链是分布式的,它的分布式体现在:
1. 区块链本身是分布式存储在整个网络的,而不是仅有的一台中心服务器
2. 一笔新的交易,将在整个区块链网络中传播,直到被确认加入区块链,而不是用中心服务器去接收记录
3. 新区块的生成是由算力决定的,任何算力和运气足够的节点,将能生成新的区块,添加到区块链上去
所以,简单理解,区块链其实就是一个数据库,其跟mysql,Oracle一样,都是用来存储数据的, 只是区块链是分布式部署,而后者是中心化部署。而比特币是用区块链这个数据库来记账。
比特币如何让人接受
比特币市值破万亿,为什么人们愿意用真金白银去购买?
为什么后来类似的数字货币没有超越之?
原因有以下几点
- 安全
- 网络支持
- 需求效应
安全
账户安全,采用非对称加密算法,从而保证一个地址中的比特币,只能被其私钥拥有者支取
区块链安全,比特币被设计成,每一个新区块其内容加上一个随机数所计算出来的hash值必须要小于比特币网络指定的目标值。由于hash算法的散列性,要找到这个随机数,只有不停的尝试,且指定的目标范围越小,难度越大。这种设计,使得篡改交易记录的代价很大,防止双重交易。
也即,比特币的安全。建立在一系列严谨的数学算法之上。
网络支持
整个比特币网络的存在(已知链的存储),存续(新区块的生成),都离不开矿工,且需要花费矿工巨大的硬件成本、电力成本。而为什么矿工还愿意做这个事情?原因是比特币网络设计的奖励机制
- 如果一个矿工生成的区块,能够被顺利加入区块链,他将获得新铸造的比特币奖励,这也是比特币产生新货币的机制。为了防止通货膨胀,比特币的货币数量上限是2100万
- 从发起的比特币交易中抽取手续费。进行比特币交易的用户可以在交易中附加一些手续费。矿工会优先处理那些交易费用高的交易,将其纳入区块链
雪球效应
比特币相比其它先驱数字货币,在协议上更完整。使得其大受欢迎之后,拥有滚雪球效应,它的网络拥有足够活跃的交易,和足够多的算力,后续新玩家,被持续吸引。
中心化和非中性化
比特币以及区块链技术,最早发端于一些数字极客和无政府主义者。他们讨厌中心化,讨厌监管,讨厌隐私泄露。但中心化和去中心化并不必然对立,绝对的匿名性也不一定可取。
完全不可追溯的交易,一旦发生纠纷时,用户也无法获得妥善的处理。而现实世界中,我们有警察,法律,法庭这些中心化的机制去处理争端
完全不受监管的区块链货币会沦为洗钱的工具,滋生犯罪,用户可以在A国将对应法币换成比特币,到B国将比特币换成对应的法币。
匿名性
比特币不是真正的匿名,虽然交易双方没有实名认证,使用的是一串没有含义的字符串作为交易地址,但你的整个交易链路都存在比特币网络中,基于资金的链路分析,以及比特币跟现实货币的往来监管,是可以追踪到现实中的交易用户的。这就像你在网上用昵称购物,虽然不知道你真名,但通过购物行为可以分析出,你大概率是男性还是女性,可能喜欢什么样的商品。整体而言比特币的匿名性不及纸币,你无法通过一张纸币,查询出这张纸币参与的所有交易链条,而比特币则可以。
当然比特币也发展出一些技术去抹除这种可追踪性,比如混币服务。其思路是,将多个相同金额交易发给混币服务商,由其再转移给最终接受者。由于输入金额一致,且众多,这种方式抹除了实际交易双方的关联性,达到一定的匿名效果。
同样,绝对的匿名性虽然保护了普通人的隐私,也一样会保护罪犯,而后一种是文明社会不希望看到的。
比特币的缺陷
双重支付
随着比特币网络的发展,新区块要被纳入到链上的难度越来越高,普通用户的算力无法从挖矿行为中获取到足够的收益。于是诞生了一批矿池,较小算力可以加入矿池,汇聚成更大的算力,在赚取到挖矿收益后,按算力贡献分配收益给所有挖矿用户。
这会带来一个有意思的现象就是中心化聚集,越到后面,由于挖矿算力要求越高,于是加入矿池才是明智之举。而加入越大的矿池,也就意味着你被分到挖矿收益的可能性越高。最后可能诞生一个超级矿池,他们掌握整个比特币网络超过51%的算力。而如果这个矿池作恶,它可以毁了整个比特币网络,比如他可以进行双重支付。
双重支付举例: A只有一个比特币,A付款给B 一个比特币购买披萨,随后这笔交易被纳入区块链。但A吃完披萨后,利用强大的算力对区块链进行分叉,生产一个更长,也最终被整个网络接收的链,这条链条上,A付款给了C 一个比特币买了瓶可乐。最终实现,A用一个比特币付给了两个人,买来两样东西,即为双重支付。
记账缓慢
比特币每秒只能处理7笔交易,而visa信用卡则能处理一万多笔。所以比特币不太能当作普通大众的支付系统使用
但由于其数量固定的,价值稳定的特点,可以做为基础货币,其它法币与之挂钩。类似现在的美元,布雷顿森林体系之前的黄金。
通货紧缩
由于比特币的持续升值,持有比特币的用户往往选择持币观望,而不是将其用于支付交易,则会使得实际能够被流通的比特币数量变少,从而引发通货紧缩
区块链的几种形式
分布式的区块链是一种技术架构,具体到某一种具体的发型版本又可以被添加多样的特性,支持不同的功能。
货币区块链
比特币网络,只专注于比特币这种货币,实现比特币的分布式,交易安全。所以其很难被很好的用作其它场景的需求。类似的货币区块链还有很多
- 优点:单就比特币来说,其算力是足够的。但许多其它数字货币则不于具有这一优点
- 缺点:图灵不完备,复杂的场景也支持不了
特殊应用区块链
为了满足特定场景的分布式记录,而专门设计的一种区块链,比如域名币,就是基于比特币修改而发行的一种区块链,旨在以去中心化的方式提供域名注册、解析服务
- 优点:能够非常好的贴合特点场景
- 缺点:新发行一个区块链很难快速获得大量用户的支持和足够的算力
图灵完备的区块链
- 优点:图灵完备,可以支持复杂的应用场景的智能合约链。只要基础链拥有足够大的算力,在其上发布的应用就自然拥有很好的分布式能力
- 缺点:.
最出名的智能合约是以太坊,由于图灵完备,如果遭遇死循环应用,将破坏整个基础链。以太坊引入了执行费概念,当执行费消耗完时,循环结束。
形象看来,以太坊像微信一样,拥有了足够多用户的支持,在其上发布其它的智能合约应用则像小程序,很容易获得推广和支持。而如果开发一个特定区块链,则就像开发一个app一样,开发难度不大,但推广获得足够多的用户算力则很难。
谈谈区块链的理解 -- 读《区块链:技术驱动金融》
今年网上关于数字货币和区块链的文章和讨论汗牛充栋,但我一直狐疑的是,有说的那么厉害吗,特别是看到“重新定义了金融”,“重新定义世界”,“颠覆金融业”,“重建信用机制”。有些人的夸大之声像卖保健品的宣传一样“能治百病”。正因为对这些的质疑才想找书来看。这本书虽然名字里面带有金融(英文名为Bitcoin and Cryptocurrency Technologies),实则是一本很实在的讲解比特币和区块链技术的书。而且作者也没有描绘区块链的“绘图伟业”。所以如果你对此有兴趣,真推荐读一读这本。
说到比特币,首先让人想到的就是那让人咋舌的暴涨速度,中本聪从2007年5月份开始编写比特币,09年开始发行,到2017年底,比特币8年涨了1000万倍。单价最高高达近2万美元。但随后一路下挫,到今天还是6400美元左右。2万个比特币买24美元披萨的故事让人们津津乐道,多少人买了比特币却因为忘记了私钥或者U盘坏了而扼腕痛惜。正是这些个故事不断的发酵,推波助澜,催生了很多新的数字货币和前赴后继的韭菜。而说到区块链,却让人皱起了眉头。特别是公众号的文章里面不断的甩出“去中心化”,“共识机制”,“智能合约”,或者是“挖矿”,“公钥、私钥”时,让人有种不明觉厉的感觉。讲区块链不得不说比特币,毕竟这是区块链目前应用的最成功案例。
01 数字货币是旁氏骗局吗?
巴菲特还有郎咸平都有说过数字货币(ICO)是庞氏骗局,这个问题要从货币的本质来看,什么是货币,亚当斯密在《国富论》中提出:“货币是流动资本的一部分,是商业的上大工具,是货物借以流通的手段”,白话点来说就是只要大家达成共识,选定某一种物品作为媒介就可以来买卖。哪怕是一块石头,只要大家都认可,它就能用来交易,达成共识的人越多,它的流通价值越高。现在太平洋中雅普岛居民就把下图这种石头当货币。我们伟大的祖先使用了贝壳,金银铜铁铸币,到交子(四川缺铜矿,铸币是铁,背着几十贯钱有几十斤重走蜀道,所以宋朝出现了纸币)。
到现在我们出门不带钱包,钱也不过是账户里面的一个数字。像比特币这样的数字货币,使用者已达千万,有很多银行或者商家接受,交易量也大,它实质上就是一种货币,只是它不属于某个国家,没有法律和国家信用的背书;什么是庞氏骗局呢,就是把一个没价值或者价值很低的东西吹嘘的天花烂坠,好卖给下一个接手的以从中获利,这是那些卖保健药骗老人的惯用伎俩。但是要注意的是,因为比特币的火爆,新起了很多新的数字货币,光2015年发行的新币都有八百多种,坊间称发币最难的就是取名字。而且90%以上就是直接用的比特币的源码,没有任何创新,发行方鼓吹之后,拉高出货,收割韭菜,那就是名副其实的庞氏骗局。
这里还想讲一下虚拟货币和法币的区别,法币由各国政府发行,依据国家的生产总值,有国家信用和税收的背书,是宏观经济的调控的重要手段,比如故意造成轻微的通货膨胀(多印钱)来刺激经济,让你觉得钱拿在手里还不如花了它,但数字货币不受任何中央政府控制,而且数量都是既定的,但可以作为各种法币的中介。所以法币和数字货币有各自不同的市场。
02 什么是区块链,比特币为什么需要它
中本聪打造比特币的一个初衷就是想让比特币接近现金体系,现金有什么好处?第一点就是确保了匿名性,我们拿钱到商店买东西,只要钱是真的,商家不会管你是谁。但如果你用信用卡或者支付宝,店主就能知道你的信息。第二点就是支持线下交易,不需要第三方批准。如果你的钱在银行,可能因为某种原因被冻结,比如贾跃亭。要做到这两点,前者就需要一套合理的加密技术,后者就需要去中心化,支持点对点交易,摆脱对中央政府、企业或者个人的控制。
而区块链是中本聪为了解决比特币去中心化而发明的,网上普遍解读成一种分布式的数据库(或账本),它的数据结构如下所示。每一个区块的内部通过二叉树保存了相关交易记录。每个区块通过一个哈希值指向上一个区块的地址,形成区块链。那么到底是怎么做到去中心化的呢?
思考这点,我们就要考虑三个问题:谁负责这些数据的存储?谁决定每一笔交易有效?谁负责创建新的比特币?
如果这些数据的存储和交易由某一个组织或者个人控制,那么就存在作弊的可能,而且容易被攻破,为杜绝这样的事情发生,对于第一个问题,中本聪让所有的区块链数据存储在每一个矿工节点上,大家都保留一份完整的数据,新的节点加入的时候,首先就是通过连接到另一个最近的节点下载最新的数据。到2015年底这部分数据已经有五十G了。这样的话,数据一旦写入区块,将是不可逆的,因为你无法去修改所有的数据,况且你修改一个节点的数据会导致它的哈希值发送变化,原本指向它的区块也要修改;
对于第二个问题,一笔交易有效,意味着交易被写入了区块,且这个区块最终加入的主链。谁负责这件事呢,总不需要所有的节点来参与,因为全世界不同的地方,有着不同的延迟,有的上线有的不上线,而且怎么保证节点就愿意正确的干这件事呢?这就涉及到一个共识机制,就像抛绣球一样,比特币每隔十分钟公布一个随机数,哪个节点产生的哈希值和这个随机数一致(接住了绣球),那么这个幸运的节点就被选中创建这个区块。为什么说它是幸运的呢,因为比特币系统给予这个节点一定数量的比特币作为奖励。最开始每创建一个区块有50个比特币奖励,现在是25个,基本上每四年减少一半,上限是2100万个比特币,理论上到2140年这种奖励就会发完。这个抛绣球的过程就是所谓的工作量证明PoW。专门从事计算随机数的机器叫矿机,专门为此掏币的人就叫矿工,矿机计算随机数的过程就叫挖矿。这也解释了第三个问题。诚然实际算法实现的过程比我讲的要复杂。
这就是比特币实现去中心化的方式,没有任何人能决定谁可以提交下一个区块。还想说的一点是,区块链的交易记录都是公开的,打个比方,如果有一家公司用比特币发工资的话,别人可以通过你的公钥查到你收到的工资。如果可能的话,这一点看上去比较适合做慈善或者记录财政开支~
03 挖矿这件事怎么看
首先要说的是挖矿是一件很难的事情,在2014年年底,产生一个区块平均要做10^20次哈希运算。换言之,目标区域仅仅是整个输出范围的1/10^20。这是超大的计算量,普通个人电脑无法胜任,打个比方,假如你是个炮兵,矿机算出的哈希值就是炮弹,哈希函数就是大炮,你想击中的目标,比如一个指挥所,它肯定在你的射程范围内,但非常小,而且其实根本不知道在哪里(哈希值的计算是无序的)。击中目标的唯一办法是狂轰滥炸,这就是比特币工作量的概念,炸的越多,击中的概率越高。如果这个指挥所的目标区域是轰击区域1%大的话,你大概平均要发出100枚炮弹才可能击中目标,而且越往后越难。正因此导致了大量能源(电力)的和算力的浪费。这也是比特币被人诟病的问题之一。
但是目前没有更好的办法,如果没有挖矿的过程如何保证去中心化的实现?就当作是比特币产生必须付出的代价吧。所以谁想获得更多的比特币,那他就得拥有相当可观的算力。这就催生了各种矿机的诞生。甚至形成了矿池这样的挖矿组织,散户们一起抱团挖矿,有钱同享,按算力比例分配。
类似于淘金热,产生了不同的矿机,一度造成市场上显卡涨价,最后产生了专用的集成电路技术ASIC来挖矿,简直催生了一个产业。卖阿瓦隆矿机的嘉楠耘智已经准备在香港上市了。而除了浪费电力和算力之外,我们要注意的一点是,每个区块大小限定在1MB,每个交易大约是250字节,所以每块最多容纳420000个交易。平均每隔10分钟,有一个矿工获得记账权利,所以每秒钟只能处理7个交易,这就是比特币网络的交易处理能力!而支付宝在双十一的时候峰值交易量可达25.6万笔!所以这就像一个哲学问题,公平(民主)和效率不可兼得。
04 什么是智能合约
智能合约是区块链相关书籍和文章里面提到很多的一个特点,其实这要从比特币的交易机制说起,先说一个比较有意思的点,平时我们花钱,根据手里的钱我们想花多少就花多少,而比特币却是要么花光要么不花。比如张三有5个比特币,要转给李四1个比特币,张三需要一次性将1个比特币转给李四,其他4个再转给自己。这么做的目的是为了方便查最后一次的交易记录就能知道张三到底拥有多少个比特币,而不用去回溯所有的交易记录。
而读取交易记录这些用的是Forth脚本语言,也就留出可编程的可扩展的余地。假设A在网上买东西,想要货到付款,就可以发起这样的一个交易,并规定,三个人中有两个人签名了,资金就能被提取,这三个人是A,和商家B,以及仲裁C。这个规定就是一个智能合约。其实程序员很好理解这件事,智能合约就是条件语句,因此比特币可以实现多种场景支付。
但我想的是,平时是看条款或者合约,比特币上得会看代码才行,而且这个扩展性是受编程环境约束的。
05 区块链应用
区块链应用的讨论越来越多,其实我觉得有一部分的原因是ICO投机的方式在国内被严格限制,导致这部分的“热情”转移到了区块链上了。各大银行,互联网企业都纷纷表示加入区块链的研究。其实这是很正常的一件事情,毕竟ICO掀起了这么大的浪,金融业和互联网出于防范也要投入精力去研究它,但这并不说明区块链真的适合别的其他领域。
提及比较多领域是金融、认证、数字版权、物联网等领域。金融业很好理解,发行代币以及交易的过程和股票非常相似,而且股票交易有佣金,ICO交易也有手续费。似乎是任何可以数字化的东西都可以像比特币一样在区块链上被记录和流通。这一点貌似给了很多人想象的空间。但我想的问的是,有这个需求和必要吗?我们可以回顾一下比特币的区块链,是通过颇有争议的共识算法做到去中心化的,如果接下来的各种区块链没有做到这一点,而只是用了区块链的结构和加密方式,这还是个中心化的系统,相当于换了一种数据库的分布式系统。所以如果只是说使用了区块链,或者说智能合约如何强大(编程也需要环境支持),而没有一套去中心化的体系,加上现有体系并没有多大的问题时,各种链恐怕难以得到社会的共识。
小结:其实很多想讲还没讲完,区块链诞生的时间并不久,还在不断的发展,更多的还是要理性的去看。了解到上面的这些知识之后,我觉得区块链本身并不神秘也不是有多厉害的创新,但确实提供了一种新的思路。中心化或者去中心化本身都有各自的场景,并不代表好坏。
ps:这是书山有路第27期分享阅读书目,由@山东_可乐同学历时一个月分享完,喜欢阅读的朋友可以关注下下面的二维码,我们一起去下一个探索。
以上是关于《区块链:技术驱动金融》阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章
北京大学肖臻老师《区块链技术与应用》公开课笔记03-BTC-数据结构
待更新北京大学肖臻老师《区块链技术与应用》公开课笔记04-BTC-协议