读《关键技术和挑战·区块链技术》总结


区块链这个词很多人都很陌生,但是讲到比特币大家都非常熟悉,区块链正是保证比特币去中心化且加密安全的核心支持技术,但是后来区块链技术逐渐脱离了比特币成为一门独立的底层技术,并且可能正在引导未来互联网的发展方向。

什么是区块链?

区块链是一种新兴方法,工商企业、实业公司和公共组织可通过它在近乎瞬间完成并验证交易,从而简化业务流程、节约成本并减小欺诈的可能性。作为该方法的核心,区块链是用于创建数字交易分类帐的数据结构,分类帐在分布式计算机网络中共享而不是存在于单一提供方。

这样就建立了一个更开放、透明并可公开核查的系统,它将从根本上改变我们对于交换价值和资产、实施合同以及跨行业共享数据的思考方式。使用区块链的应用程序几乎没有任何限制,适用范围从贷款、证劵和支付到更高效的供应链,甚至标识管理和验证。

区块链涉及到的领域

区块链平台

比特币

关于比特币:其实比特币和区块链是相互成全,比特币项目也是区块链技术首个大规模的成功应用。

比特币历史

2008 年 10 月 31 日,中本聪发布比特币唯一的白皮书:《Bitcoin:A Peer-to-Peer Electronic Cash System/比特币:一种点对点的电子现金系统》。

2009 年 1 月 3 日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一批 50 个比特币,并记录下当天泰晤士报的头版标题:“ The Times 03/Jan/2009 Chancellor on brink of second bailout for banks ”。

2010 年 5 月 21 日,第一次比特币交易:佛罗里达程序员 Laszlo Hanyecz 用 1 万 BTC 购买了价值 25 美元的披萨优惠券。这是比特币的首个兑换汇率:1: 0.0025 美金。这些比特币在今日价值约 700 万美金。

2010 年 7 月 17 日,第一个比特币平台成立。

2011 年,开始出现基于显卡的挖矿设备。2011 年底,汇率约为 2 美元。

2012 年 9 月 27 日,比特币基金创立,此时比特币价格为 12.46 美元。

2012 年 11 月 28 日,比特币产量第一次减半。

2013 年 3 月,1/3 的专业矿工已经采用专用 ASIC 矿机进行挖矿。

2013年 4 月 10 日,BTC 创下历史最高价,266 美元。

2013 年 6 月 27日,德国会议作出决定:持有比特币一年以上将予以免税,被业内认为此举变相认可了比特币的法律地位,此时比特币价格为 102.24 美元。

2013 年 10 月,世界第一台可以兑换比特币的 ATM 在加拿大上线。

2013 年 11 月 29 日,比特币的交易价格创下 1242 美元的历史新高,而同时黄金价格为一盎司 1241.98 美元,比特币价格首度超过黄金。

2014 年 2 月,全球最大比特币交易平台 Mt.Gox 宣告因 85 万个比特币被盗而破产并关闭,造成大量投资者的损失,比特币价格一度暴跌。

2014 年 3 月,中国第一台可以兑换比特币的 ATM 在香港上线。

2014 年 6 月,美国加州通过 AB-129 法案,允许比特币等数字货币在加州进行流通。

2015 年 6 月,纽约成为美国第一个正式进行数字货币监管的州。

2015 年 10 月,欧盟法院裁定比特币交易免征增值税。

2016 年 1 月,中国人民银行在京召开了数字货币研讨会,会后发布公告宣称或推出数字货币。

2016 年 7 月 9 日,比特币产量第二次减半。

2017年5月4日,比特币价值首次突破1500美元,市值达250亿美元以上。

比特币区块链目前生成了约 42 万个区块,完整存储需要约 75 GB 的空间。主流的交易所包括 Bitstamp、BTC-e、Bitfinex 等。多家投资机构(包括红杉、IDG、软银、红点等)都有布局。 注:通过 blockchain.info 可以实时查询到更多详细数据。

比特币如何避免有人恶意破坏?

想象一下这个场景,一块蛋糕两个人分,并且这两个人都想拿大的那块,如何保证分配的公平性? 这个就是经济博弈论,其实答案很简单,只要先切的后选就可以。其实比特币也是利用这个原理,参与比特币挖矿的矿工通过算力消耗增加拿到发现新区块的概率,你付出的成本越高,概率也越高,但是一旦你失败,你付出的成本是巨大的。

上面提到的挖矿,那么什么是挖矿?

挖矿是参与维护比特币网络的节点,通过协助生成新区块来获取一定量新增的比特币。比特币不是你挖到的,是系统奖励你的。 当用户发布交易后,需要有人将交易进行确认,写到区块链中,形成新的区块。在一个互相不信任的系统中,该由谁来完成这件事情呢?比特币网络采用了“挖矿”的方式来解决这个问题。 目前,每 10 分钟左右生成一个不超过 1 MB 大小的区块(记录了这 10 分钟内发生的验证过的交易内容),串联到最长的链尾部,每个区块的成功提交者可以得到系统 12.5 个比特币的奖励(一定区块数后才能使用),以及用户附加到交易上的支付服务费用。

注:每个区块的奖励一开始是 50 个比特币,每隔 21 万个区块自动减半,即 4 年时间,最终比特币总量稳定在 2100万个。因此,比特币是一种通缩的货币。

挖矿的具体过程为:参与者根据上一个区块的 hash 值,10 分钟内的验证过的交易内容,再加上自己猜测的一个随机数 X,让新区块的 hash 值小于比特币网络中给定的一个数。这个数越小,计算出来就越难。系统每隔两周(即经过 2016 个区块)会根据上一周期的挖矿时间来调整挖矿难度(通过调整限制数的大小),来调节生成区块的时间稳定在 10 分钟左右。为了避免震荡,每次调整的最大幅度为 4 倍。 但是截至到目前,挖矿已经是算力的比拼,从普通CPU到GPU再到FPGA,在到后来的ASIC矿机,挖到矿的概率已经大大降低,个人挖矿就像买彩票一样。 比特币的交易网络的交易性能是很慢的:全网每秒 7 笔的交易速度,同时,等待 6 个块的可信确认导致约 1 个小时的最终确认时间。

区块链技术延伸

Ethereum - 以太坊项目

以太坊项目进一步扩展了区块链网络的能力,从交易延伸为智能合约(Smart Contract)。其官网首页为 ethereum.org

根据以太坊官方,以太坊(Ethereum)目标是打造成一个运行智能合约的去中心化平台(Platform for Smart Contract),平台上的应用按程序设定运行,不存在停机、审查、欺诈、第三方人为干预的可能。以太坊平台由 Golang、C++、Python 等多种编程语言实现。 当然,为了打造这个平台,以太坊提供了一条公开的区块链,并制定了面向智能合约的一套编程语言。智能合约开发者可以在其上使用官方提供的工具来开发支持以太坊区块链协议的应用(即所谓的 DAPP)。

Hyperledger - 超级账本项目

Hyperledger 项目是首个面向企业的开放区块链技术的重要探索。在 Linux 基金会的支持下,吸引了包括 IBM、Intel、摩根等在内的众多科技和金融巨头的参与。 根据Hyperledger官方,Hyperledger孵化并推广一系列商用区块链技术,包括分布式账本框架,智能合约引擎,客户端库,图形界面,实用程序库和示例应用程序。其官网为 hyperledger.org

Hyperledger目前主要包括三大账本平台项目和若干其它项目。

账本平台项目:

工具:

区块链即服务(BAAS)

BaaS服务平台以及Baas服务提供商: IBM bluemix Blockchain: https://console.bluemix.net/catalog/services/blockchain Microsoft Azure Blockchain: https://azure.microsoft.com/zh-cn/solutions/blockchain/

区块链技术又被称为分布式帐薄,它记录了每一笔验证的交易,不需要中心化的数据库。它被认为可以减少中间人,降低成本和加快交易速度。 区块链即服务(BAAS),就是这些大企业从自己的云服务网络中开辟出一个空间,来运行某个区块链节点。和普通节点及交易所节点相比,BAAS节点的用途主要是:速建立自己所需的开发环境,更快地验证自己的概念和模型。BAAS节点的服务性体现在:工具性更强,便于创建、部署、运行和监控区块链。 更直白的表述:BAAS提供配套服务、风投提供资金,两者合作为区块链开发者提供孵化器。他们的盈利模式:服务费及交易所炒作

应用场景:

“在总统大道的一边,五户家庭通过太阳能板发电;在街道的另一边的五户家庭可以购买对面家庭不需要的电力。而连接这项交易的就是区块链网络,几乎不需要人员参与就可以管理记录交易。”但是这个想法是非常有潜力的,能够代表未来社区管理能源系统。”

布鲁克林微电网开发商 LO3 创始人 Lawrence Orsini 说:

“我们正在这条街道上建立一个可再生电力市场,来测试人们对于购买彼此手中的电力是否感兴趣。如果你在很远的地方生产能源,运输途中会有很多损耗,你也得不到这电力价值。但是如果你就在街对面,你就能高效的利用能源。”

在某一块区域内存在一个能源微电网,每一户家庭可能为生产者也可能为消费者。部分家庭拥有太阳能电池板,太阳能电池板的剩余电量为可以售出的电力的值,为了简化,单位为1.需要电力的家庭可以向有足够余额的电力的家庭购买电力。

参考:

https://azure.microsoft.com/zh-cn/solutions/blockchain/ https://yeasy.gitbooks.io/blockchain_guide/content/baas/ https://www.zhihu.com/question/22098754