热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

区块链_谈谈区块链的理解读《区块链:技术驱动金融》

今年网上关于数字货币和区块链的文章和讨论汗牛充栋,但我一直狐疑的是,有说的那么厉害吗,特别是看到“重新定义了金融”,“重新定义世界&

今年网上关于数字货币和区块链的文章和讨论汗牛充栋,但我一直狐疑的是,有说的那么厉害吗,特别是看到“重新定义了金融”,“重新定义世界”,“颠覆金融业”,“重建信用机制”。有些人的夸大之声像卖保健品的宣传一样“能治百病”。正因为对这些的质疑才想找书来看。这本书虽然名字里面带有金融(英文名为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期分享阅读书目,由@山东_可乐同学历时一个月分享完,喜欢阅读的朋友可以关注下下面的二维码,我们一起去下一个探索。

 


推荐阅读
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
author-avatar
丿氵小柒柒2502894463
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有