比特币是近年兴起的一种新的虚拟货币,它的一个突出特征,就是去中心化,即不存在一个或者多个固定核心作为交易枢纽。交易只存在于买卖双方之间。
现以国内比较流行的矿场模式为例,整个比特币的生产流程可以划分为以下几个环节:
1.概念的提出
去中心化和竞争机制,最早存在于中本聪(传说中的比特币创始人和开发者)的大脑里,是其日积月累的思想的产物。在他看来,货币作为一种载体,可以更好的实现去中心化这个思想。而且这其中也牵扯到中本聪对后续具体工作的一些思考和规划。
在这个环节中,没有任何算力参与其中,一切运作都是在大脑这个有机体内进行的,但却可以称为比特币这个大项目的火种。
2.交易系统的逻辑
比特币作为一种虚拟货币,前期不需要实际的造币工场或者ATM机的参与。但是货币的本质是支付手段,也就是说,它必须可以进行交易。这个又涉及一个关键,两个核心。一个关键是指,一种为大众认可的合法凭证;两个核心是指,交易有效性的确认,以及交易双方的身份鉴定,也就是对凭证拥有的合法性,或者来源合法性的确认。
要解决上述问题,需要用到密码学,计算机科学的一些先验知识,来做可实现性的考量,其中不免需要对实体货币交易有一定的理解。但最重要的,这个环节是对上一个环节的产出品,它是对比特币思想概念的贯彻执行。
在这个环节中,不可避免的要用到一些算力,比如电脑,手机,或者搜索引擎,或者Word之类的文本编辑工具。
3.交易系统的实现
交易系统的本质就是实现货币的流转和记账。实际上比特币系统也只保留了这两项功能。交易系统的核心工作就是保证公平,即防止假账本和假的账本信息。
货币的流转使用到一种叫区块链的技术,其核心功能是对账本的流通历史(区块)进行记录和加密。简而言之就是运用多次哈希防止非法篡改。哈希的原理有点类似二战时期德国人的恩格玛加密机(又称迷机),就是错乱对应。在算法上,它比恩格玛先进的地方有两点,一是用运算替代字母表实现映射关系,二是从单点映射变为多点映射,即定义域大于(一般情况是远大于)值域,这样一来逆运算是不可能实现的。但是对应的关系,在多概率情况下依然正确。
所以哈希算法的特点就是,输入敏感,改动一个bit,结果差别巨大;二是反向运算(暴力攻击)计算量远高于正向运算量。
在区块链技术中,实际上运算量更大,因为需要求出一个联立哈希方程组的解。而且这个账本的合法性每个人都是可以验证,你只需要重新解一遍账本的方程组即可。
如果有人要篡改历史数据,就需要改动方程组,改动一个,后续的所有方程组都需要重新计算,这样一来运算量就会成倍增加,即攻击者要比诚实交易者多出成倍的计算量。
这个环节需要运用大量软硬件算力,比如高性能的PC机或者工作站,集成开发环境(IDE)或者独立的工具链,软件管理工具,测试工具等。
4.矿机的研发和制造
交易系统里面需要的一个虚拟物件就是账本,所谓的挖矿,实际上就是获取给账本登记信息的权限。要获得这个权限必须尽可能快的解决一道计算难题,最快者将会获得若干比特币的奖励。所以,解题速度越快,则获取比特币的概率越大。
这道难题就是SHA256算法,里面牵扯了六种位-逻辑运算,经过循环,补零,翻转等等步骤,求出一个散列值。这种并行逻辑运算结构极其适合拿GPU或者FPGA进行运算。这也催生了专门用于计算SHA256的设备-比特币矿机。
矿机设计制造涉及电子机械结构等诸多环节。在电子设计环节,需要CAD工具的参与,包括原理图-PCB制版工具,GPU开发需要专用的工具链,FPGA的实现则离不开布局布线,优化和仿真工具;在机械设计环节,则需要2D-3D绘图或者建模工具,甚至有可能需要进行有限元分析。在制造环节,现代加工设备无一不需要算力的参与,比如加工机床,工业影像检测设备得等。
5.集中挖矿
挖矿是能直接产生比特币的一种方式,也是这次讨论的最末端环节,矿场则等效于造币厂和央行的角色。
挖矿这一环节的算力输出极大,某国产厂商的热销比特币矿机算力为6.3TH/s,即每秒能计算6.3x10^12次哈希。甚至出现了每秒能计算1P次,也就是10^15次哈希值得单台矿机。对比之下,Intel Xeon E5-2670处理器(8核16线程,64bits,主频2.3GHz),假设它每一个线程每一个时钟计算一次哈希,加起来只有36.8GH/s,约为国产畅销矿机的百分之0.6。以一个服务器装两个CPU计,一台矿机可以抵得上86台E5核心的服务器。以国内某矿场为例,里面有约100PH/s(1P=1,000,000G)的算力,超过约13587台双U E5服务器的挖矿速度之和。
在矿场这个环节中,输出的算力为整个链条之最,甚至比之前环节的总和还要多。
总结
下面做一下总结分析:
第一个环节中,调用算力几乎为零,概念的产出完全来源于中本聪本人的思考。这是整比特币交易系统的的源流,是一个纯输出的过程。
第二个环节中,为了实现对思考概念的细化,进行了业务逻辑的加工,期间考察了一定资料,并进行可行性评估。此环节依赖于上一个环节,有外部算力的参与。但仍可以算作一个纯算力输出过程。
第三个环节的主要工作是实现交易逻辑的软件实现,使用了各种环境,平台和工具,这些也都是外部算力的体现。此环节亦高度依赖于上述环节和外部算力,但是以源代码量估计,为算力输出过程。
第四个环节的输出为矿机,其输出产品中蕴含了大量算力。此环节调用外部算力资源较多,且同样依赖于前述环节,但设计输出(图纸文档等)和最后生成的产品,实现了大量算力资源的转化。
第五个环节既有巨量算力输入,又有巨量算力输出,但这些输出对之前各个环节有较强依赖性。
综上,可以用算力的产出和依赖性方面衡量各个环节的贡献;
依赖性
矿场 依赖于 软硬件实现 依赖于 方案逻辑 依赖于 源(思想概念)
外部算力转化(算力增益)
源(思想概念)>方案逻辑 > 软硬件实现 > 矿场
算力输出
矿场 > 软硬件实现 > 方案逻辑 > 源(思想概念)
参考资料:https://www.zhihu.com/question/20820286,哈希算法说明。
https://www.zhihu.com/question/31112808,区块链原理,萧萧的回答。
https://www.zhihu.com/question/28397034,恩格玛机原理
http://blog.jobbole.com/53433/,比特币交易原理
http://blog.csdn.net/lwanttowin/article/details/53726450,SHA256算法原理
http://www.wakuangji.cn/ziliao/intel-cpu-su-du/,intel 系列cpu比特币挖矿算力
http://tech.163.com/17/0111/10/CAGA6AVM00097U7R.html 比特币矿场
http://detail.zol.com.cn/servercpu/index305392.shtml,intel Xeon E5-2670