这篇博客主要从社会和经济层面来直白的向大家讲述区块链是什么?比特币是什么?分享的内容仅限于自己的理解,里面会存在本人的观点,但是希望读者能有自己的独立看法,审慎的阅读本文,甚至能考虑到我的认知不足导致的偏差,不为任何投资电子货币者提供意见,也不为因为本文产生的任何投资行为负责。
1. 什么是去中心化?
去中心化指的是没有第三方的信用中介,客户可以直接进行对话.拿银行做说明,银行是一个中心化的典型,银行以一个信用中介的角色存在在货币体系中,客户之间的交易都需要通过银行来进行,开户和交易等操作产生的记录则会被银行记录在自己的核心服务器上,一旦银行暂停服务,则用户将不能进行开户和转账等操作.去中心化做的就是用系统才取代类似银行这样的第三方信用中介,当然它和银行一样,不能维护交易双方的信用.
2. 比特币是什么?
比特币始于2008年一个化名为中本聪(Satoshi Nakamoto)的人发表的一篇论文《比特币:一种点对点的电子现金系统(中文版)》,它是一个数量恒定的数字货币,其总量是2100万,现流通量16792688(截止到2018-01-09 08:00:00).而比特币网络则是通过世界各地许多比特币客户端连接用来维持比特币支付体系的一个点对点系统.
去中心化的理念源于比特币,比特币也是目前将去中心化贯彻最为彻底的一种数字货币.如今的比特币在全球拥有数百万的用户,数万家商家接入,市值2428亿美元.
比特币的本质是一个大家达成共识的交易记录。比特币网络可以比作央行,由比特币网络来发行新的比特币,流通的比特币就是一笔笔的交易记录了,大家认可了这条记录,表示这条记录表示的比特币流通会真实有效。
3. 比特币的价值体系
3.1 比特币为什么这么值钱?
比特币在本文编辑时(2018-01-10)的价格是$14431,而在场外交易平台,一个比特币的价格已经达到了11万人民币的价格.比特币达到这个惊人的价格也是由市场环境决定的:
(1) 法币增发导致私有财产被掠夺.我们都知道私人财产神圣不可侵犯,而这种保障是有法律保障的,拥有法律保障的货币发行权央行就会每年都增发很多货币,每一次货币增发都会使政府从人们手中掠夺大量财富,导致人们手中的法币贬值.而比特币是一个数量恒定的数字货币,无法增发,也不能被央行或其他的组织机构所掌控,所以它相对法币的价格只会越来越高,也是历史上第一个能通过技术来真正保证私人财产神圣不可侵犯.
(2) 比特币是第一让大家认识到,当大部分人对一个事情达到共识后,这个东西就会产生价值.
(3) 能应用在很多社会场景中.比如比特币的去中心化为跨境支付带来了福音,用户需要支付外币时,无需耗费更多的手续费以及时间,只需要很简单的往对方钱包转入比特币即可完成交易.
(4) 矿工挖矿成本的增加.随着比特币越来越值钱,吸引了更多的矿工投入到挖矿的行业,而挖矿需要矿工购买矿机,需要消耗大量的电力,这些物质资源都会转换为比特币的成本.矿工的增多加上更高效的矿机,会导致挖矿难度提升,进而提升挖矿成本,挖矿成本的提升也会刺激比特币价值的提升,目前一枚比特币的成本大约是6万人民币
(5) 它能节省类似银行作为货币交易机构的一些成本。如银行办公人员、押运车的押运以及银行各类设施成本,这些成本都是比特币价值的体现。
(6) 比特币带来了区块链,而区块链技术的到来预示着去中心化时代的来临.
(7) 比特币有强大的避险功能.用户只需要持有私钥,那么无论是出国还是由于政权更换导致的法币价值归零都可以避过,用户只需要前往一个政权稳定和法币坚挺的地区就可以将比特币换成自己所需的法币.
3.2 比特币合法吗?在中国关于比特币等虚拟货币的合法性是如何规定的?
比特币的合法性是很多人希望了解的,在很多人的心中,比特币应该是一个违法的投机交易,其实这是不正确的.现在有部分国家承认比特币的货币属性,但是有很多国家并不认可其货币属性,而是把比特币定义成一种商品.欧洲法院裁定比特币必须被作为一种税收用途的货币来加以对待,而不是被视为一种商品(出自:欧洲法院裁定比特币是一种货币而非商品》).所以比特币交易是合法合规的。
在中国,关于比特币央行等五部委出来一份具体的通知《中国人民银行 工业和信息化部 中国银行业监督管理委员会 中国证券监督管理委员会 中国保险监督管理委员会关于防范比特币风险的通知》,通知中明确规定比特币不具备货币属性,但是可以作为互联网商品,在人们自负风险的情况下自由参与.金融支付等机构不能为比特币提供类似货币的开户、清算、支付、交易等功能。也就是说在我国,事业单位不能提供人民币和比特币的兑换服务,可以提供比特币与比特币及其他数字货币的交易服务,人们参与交易属于合法行为。
3.3 比特币和传销以及庞氏骗局有什么不一样?
传销的定义是:通过特定的上下限关系来吸引新人,并分配资金的行为。
庞氏骗局的定义是:用后入者的钱来回馈先入者当作投资回报来吸引资金的行为。
传销和庞氏骗局的共同点都是首先告诉你这个投资会很赚钱,这种行为就会构成一种欺诈。而比特币则不一样,你在买入比特币时,比特币用户或交易所会直接了当的告诉你比特币是一种风险巨大的投资,要你有投资归零的准备,所以它们在本质上是不一样的。
3.4 比特币的黑色交易
比特币由于不需要绑定现实社会的身份信息,所以给黑色交易套上了一层绝佳的外壳。另外比特币去中心化的本质使得用户只需要通过一串字符串(私钥)就可以在任何地方提取自己的比特币,政府部门不仅无法追查,而且就算追查到了也没有办法追回或冻结这笔比特币,哪怕执法部门知道了这笔资金流入了一个犯罪分子手中(这个犯罪分子被抓了),也无法追查到这笔资金的来源,也就没有办法找找到上家了。因此比特币就成了黑色交易的首选。
比特币出现后很快就因其价值提升被应用在绑架勒索、非法交易、博彩、传销等各种犯罪场所。犯罪分子通过比特币交易使执法部门难以资金动向,但是很快就被证明,比特币也不是法外之地。丝路网站遭FBI查抄 比特币受冲击价格暴跌15%,执法部门通过线索抓捕到犯罪分子后通过审问可以获得该犯罪分子的私钥,从而把比特币充公,另外与之有交易的地址也会很快被警方监控,一旦这些地址流入到类似交易所这些具备身份绑定的场所时,就可以被警方锁定目标(一般来说,犯罪分子是扎堆的,即便是跨国犯罪,不是还有国际刑警嘛-_-)。
4. 比特币的运作体系
4.1 比特币是怎么作为电子货币流通的?它和中心化的银行有什么区别?
比特币其实就是一个交易记录,这个交易记录上说你拥有10个比特币,那你就会拥有10个比特币。实质上,你拥有的不是10个比特币,而是记载有10个比特币的一行记录。一笔笔记录会存放在一个大家都可以看到的那个账本中,这个账本就是比特币的共识链,一个大家达成了共识的账本。关于这个过程可以用下面的例子来直白阐述;
alic向离他最近的三个村民说:我交易101有获得过100个比特币,我现在要把这100个比特币转让给lisy
这三个村民听到他的话后,在账本上检查到alic确实有100个比特币转入的记录,并且这条记录没有在此之前被使用过,于是他们在自己的账本上写上一条新的记录:alic把记录101获得的100个比特币转让给lisy,然后这三个村民把这个消息转述给其他村民.
其他村民知道这个消息后都知道了这笔交易,这样通过村民传递,最后所有人都知道了这笔交易,从而所有的村民达到了一个共识:alic将交易101获得的100个比特币转让给了lisy.
这是在比特币中的交易流程,那么在银行中的交易流程是什么样的呢?
在银行里,如果alic要转账给lisy100块,那么alic首先要向银行提交申请,告诉银行将我账户里的100块划到lisy的账户.银行在接到alic的申请后,会到自己手上的账本去看alic的账户下的余额是否足够,并会检查双方账户对应的人是否合法,需不需要冻结这笔交易,所有检查通过后,银行会把alic账户的余额-100,然后在lisy的账户上+100,至此交易完成.
通过上面的故事,大家可以看到里面存在的区别:首先,账本是不一样的,中心化的银行,它的账本存放在自己手里,其他非交易人员是无从得知这笔交易的.而在去中心化的比特币中,交易是公开透明的,需要所有村民的确认;其次,中心化的银行有权监管这笔交易,并能获得交易双方的身份信息,而在比特币的交易中,交易并不携带alic的出生年月、家庭住址等信息,只会携带alic的代号(名称).这种情况在银行还好,如果这样的一笔交易是发生在一个现金贷这样的第三方信用机构,那么身份泄露的可能将会大大增加;最后还有一点,银行货币流通是通过银行进行的,而比特币则是需要全民的参与,需要大部分人达到一个共识,才能使得交易得到成交。
4.2 比特币在现实社会中能有什么产出?区块链有什么应用场景?
比特币作为价值数万亿的数字货币,它在生活中也起到了很多实质的作用.目前它的主要应用在:
1) 增值:比特币的恒量以及价值只会不断值钱,把持有的法币换成比特币,会使得原本会随时间不断贬值的法币转为不断增值.
2) 跨境支付:跨境支付一直是有这个服务需求的人的一个痛点.在比特币之前,跨境支付需要购买外汇,并会受到国家的外汇监管和限制,你不能向支付宝转账一样,只需要输入接收者账号就可以直接转账的便利.你不得不去银行购买外汇,有时候受到国家监管,你的外汇还无法买入需要的额度.通过比特币支付,这个痛点就会被消除,你只需要用自己的法币在国内的交易所或个人手中买到等值的比特币,然后通过钱包中输入对方的比特币地址或对方国家交易所自己的比特币地址就可以将比特币转过去,然后又需要的话可以在对方的国度从交易所中换取到相应的法币(如美元).通过比特币的支付,不仅能免去国家对于外汇的管控和限制,还能节省不少的手续费,另外还能免除银行开户行名称输入错误的尬尴(语言不通).
3) 跨境的小额支付:小额支付也是可以通过比特币解决的一项痛点,如果你只需要支付对方$0.1,那么购买外汇会是相当不值的.而比特币是可以拥有八个小数点的,按当前市值来说,它可以满足你对数额的所有需求,那么你只需要转一分钱.
4)信息公开:比特币的是一个安全的全球公开账本,任何人都可以更具一个公钥来查看交易记录。比如利用比特币来做慈善募捐,维基百科是一个慈善机构,它接受全世界的善捐,其中它就支持用户通过比特币捐助。维基百科只需要公布就接受募捐的比特币地址,捐款人就可以放里面捐款,同时任何人都可以通过这个地址来查看详细的比特币捐款目录,做到资金公开。另外比特币也可以用作财产展示,一家博彩公司就曾有过很有确的宣传,他在海报上写公司资金实力雄厚,拥有价值7千万的比特币。而这个数字比起展示自己的银行卡余额来说更具有说服力,银行卡的余额可以在之后取走,但是比特币余额的变动却可以被任何人所得知。
以上是对比特币这个货币系统的一些实际应用说明,下面会介绍一些关于区块链的应用场景.
比特币毕竟是一个货币系统,它无法满足货币外的去中心化需求,而区块链可以.
1) 智能车锁: 我们可以为汽车的车锁联网,通过一对公私密钥进行开启.然后将公钥保存到一个特定的区块中,当用户需要开锁时,可以通过自己的私钥去匹配指定区块的公钥来解锁.当汽车所有权转让时,则可以在该区块在增加相应的记录,写入新的持有人的公钥,以此汽车转让所有权.
2) 学历证明: 可以将毕业生的学历存放到区块链中,其不可篡改的特性保证了学历的真实性,区块链的公开透明,也方便了用人单位等需要查询学历时能很方便的获得真实的学历数据.
3) DNS解析: 可以将所有的DNS解析存放在区块链中,这样用户可以很方便的获取到很多的域名解析,而不需要依赖浏览器的运营商.
4.3 矿工是什么?矿工在比特币网络中会进行哪些操作?
矿工这个词也是因比特币产生的,他指的是安装比特币客户端,并下载了完整的比特币共识链(账本),为比特币网络中的交易提供传播和记账功能的用户.一个个矿工和用户启动的客户端就组成了整个比特币网络.
矿工在网络中承担三个任务:
1) 连通:矿工节点通过客户端连接临近比特币网络节点来接入比特币网络,3个小时没有发出交易等消息的节点会被其他节点慢慢忘记,从而退出网络.
2) 交易传播:矿工需要承担的一项主要任务是将网络中的交易传播到自己相连的所有节点,从而是的交易被所有在线节点所收到.
交易传播的步骤:
1. 矿工实时监听相连节点,接收新的交易广播;
2. 矿工对交易进行有效性(对每个交易的前序输出运行校验脚本,验证输入的交易确实是要花费这笔交易的人的)、双重支付(防止一笔交易被两次花费)、是否已被接受(已被接收的交易会被放弃)。
3. 把校验通过的节点存到自己的内存池中,并更新用来存储交易的Merkle Tree.
4. 更新时间戳 (区块打包需要记录这个最新的一笔交易的时间)
5. 尝试不同的临时随机数,求出一个合适的数学解(解哈希函数)来获取共识链(区块链)的写入权(ps:这个步骤是矿工一直在进行的)
6. 获得共识链的写入权后,矿工会将池内的交易打包成比特币区块链入到共识链,然后向相连节点广播这个区块;
7. 其他节点验证通过后,将这个区块同步到自己的链中(即更新最长链).
3. 记账: 记账指矿工将自己交易池里面的所有交易写入到账本上中,这个账本就是共识链,而账本的纸张就是比特币区块.
矿工获得记账权需要向比特币网络提交自己的工作量证明(proof of work),通过计算自己提供的计算机算力在全比特币网络中的占比来按机率获取记账权.其数学公式体现为:获取记账权的机率=个人提供的计算机算力/全球比特币网络中的算力和.比特币网络设定每两周产生2016个区块(记账的纸),每个区块产生时间间隔大约10分钟.
这里的具体步骤就是交易广播里面第5~7个步骤.帐工通过记账来获取比特币的奖励,具体的奖励机制:
1. 矿工提交了一个新的包含有自己写入交易的区块到共识链上时,会获得新的比特币的奖励,这个比特币是比特币网络产生的,也是当前比特币网络中所有流通币的来源.产生的规则按照第一周期奖励50个比特币,每四年减半的规则来进行,比特币从2009年开始运作,到今年已经减半了两次,每次新区块的奖励只有12.5个比特币.这种奖励机制保证了比特币总量恒定在2100万,在初期,由于比特币需要算力小,矿工挖矿的成本低,所以是矿工的主要受益来源.
2. 交易费是矿工的另外一个比特币奖励来源.如果一笔交易的输入大于输出值和,那么中间的差值就会作为旷工费奖励给矿工,现在由于比特币价格的提升加上新区块奖励的减少,以及全球算力的增加,交易费逐渐超过区块奖励成为矿工收益的主要来源.
4.4 矿工在工作中会遇到哪些问题?
矿工是维系比特币支付功能的支撑者,在工作的工程中经常会遇到如下问题:
(1) 双重支付.如alic把交易101获得的100个比特币转给了lisy,然后他又把交易101的那100个比特币转给了自己.这个操作有可能产生的情况有三种:一是矿工认同两笔交易广播,这样就会导致100个比特币花费了两次,显然这是不合理的;二是矿工先记录了转给lisy的转账,在接收到这笔转给自己的交易时,矿工在自己的账本上找到了证据指明交易101已经使用过了,这次使用无效,这种情景应该是正确的;三是两笔交易几乎同时发出,有的矿工先接收到转给lisy的交易,有的矿工先接收到转给alic自己的交易,这个时候就会导致两个不同的交易记账了,显然这也是冲突的.那么在比特币网络中是如何解决第一种和第三种情况的呢?
第一种情况的解决是矿工会在接收到新的交易时,会到自己的账本上去检查,交易101是否被花费过了,当查到有一笔alic转给lisy的交易使用了交易101,这样矿工就会判定交易非法,不会继续进行操作,也就不会记账了.
第三种情况的解决需要其他矿工的加入,当存在两种记录的时候,比特币的核心理念就会发挥作用:大多数人是正义的.当其中一笔记账被大多数矿工记录后,这些人就会告诉其他矿工,我们是这么记的,你的记错了.
第三种情况在比特币中的具体实现依赖下一个比特币区块的接入,当下一个矿工tom获得记账权后,他目前账本上记录的是alic转给lisy的交易,他会在他的账本上添加新的区块(记录),然后将这区块广播出去,其他矿工看到也会同步这个区块,这样就会导致记录了alic转给lisy的记录的矿工会直接续接上新的区块,而记录了alic转给自己的交易的矿工不会直接续接,因为上一个区块是不一致的,他们会去同步他缺失的区块,这样转给lisy的交易的那条链就会比alic转给自己交易的那条链更长,这时候这些记录了alic转给自己的矿工会选择在更长的那条链上继续添加新的交易记录,而不会在相对短的那条链上继续写.也就是说这两笔交易那笔会成功取决于tom接收到的是哪笔交易.而这种情况在比特币中其实是小概率事件,因为比特币网络中,10分钟内,只会有一个矿工获得记账权,而网络的速度很快,如果不是特别情况(如网络拥堵,新节点加入并获得记账权),10分钟的时间足够一笔交易被所有矿工接收到,矿工也有时间在这段时间内同步到最新的区块.
(2) 51%:51%攻击指有一些恶意的矿工,他们想篡改以前的交易记录从而获利,这样他们就必须重新计算在他们篡改点后的所有区块的数学解来计算正确的哈希值,这样他们需要付出的计算能力 > 篡改点后所有矿工付出的算力和 + 当前网络的算力,从而产生一条比正直的矿工们更长的区块链,根据大多数人即正义的原则,他的链更长,这样正直矿工们就会在他的链条上写入数据.从而使得篡改成功.根据数学模型统计,由于网络延时的原因,只需要有人能聚集全网30%的算力(持续持有,短时间持有只有可能修改最近的记录),就可以实现51%攻击.
4.5 比特币网络如何防止网络攻击,怎么确保交易账本不被修改?
因为比特币是通过算力来维系记账功能的,提供算力的计算机叫做矿机.矿机的发展随着计算机计算能力的进步以及比特币价值的提高,也在不断更新换代,从早期的个人商用电脑cpu挖矿-->专用显卡挖矿-->多显卡的专用矿机--->Asic矿机.矿机的价格也是在不断提升,目前一台矿机的价格便宜的都要一万多,贵的要好几万.矿机介绍后再给大家介绍拥有矿机的几个群体:
1. 个体矿工:个体矿工指一个人通过自己买的矿机接入网络来提供自己的算力.
2. 矿场:矿场一般由企业建立,在电费低廉,降温成本低的地方建设厂房,购置成千上万的矿机挖矿
3. 矿池:矿池的出现是由于个人矿工难以和矿场单打独斗,同时有些个体矿工买不起几万的矿机.这时候就诞生了一个通过矿池协议来联合个体矿工的算力池,这个算力池叫做矿池,矿池会有一个管理员,这个管理员就叫矿池管理员.每个人都可以通过协议接入矿池提供自己的算力,按照管理员规定的分红模式来进行利益分红.
这样导致的情况是全网算力随时间以指数形式暴增,个人想篡改账本变得几乎不可能.另外如果有这个算力的人要进行这个算力付出,那么他首先需要购置或联合大量矿机(目前一台矿机的价格便宜的都要一万多,贵的要好几万),另外需要支付巨额的电费和矿机降温费用,这些成本加起来去篡改交易历史将会大大低于利用这些算力去做一个正直的矿工获得的收益.可以认为:比特币网络提高了作恶成本,使想作恶的人需要承担花100块来获利1块的苦果.5. 以太坊是什么?
以太坊是将比特币的一些技术和领域做的一些计算机的创新。比特币维护了一个安全地记录了所有比特币账单的共享的账簿,以太坊利用了很多跟比特币类似的机制(比如区块链技术和 P2P 网络),来维护一个共享的计算平台,这个平台可以灵活且安全地运行用户想要的任何程序(当然也包括类似比特币的区块链程序)。可以形象的说:比特币是区块链1.0,以太坊是区块链2.0。
以太坊不是一种币,它是一个去中心化的基础平台,用户可以在上面创建任意高级合约、代币和去中心化应用,而不需要去考虑挖矿、安全、源代码和性能之类的问题。可以将以太坊比作一块空地,上面的水电、交通都已铺设完备,你只需要在上面按照自己的需求搭建自己的楼就可以了,至于这栋楼的功能取决于搭建者的设计,当越来越多的企业和用户知道这块土地后,就会有越来越多的大楼建立,也会带来越来越多的消费者在这片土地上消费,从而让这片土地越来越繁荣,而这也是人们越来越看到未来的区块链时代、去中心化时代。
6. 以太坊和比特币网络的区别有什么?
6.1 管理去中心化的重要性程度不一
比特币的创始人中本聪自2011年起从来没有加入比特币的发展中,而以太坊的创始人Vitalik Buterin则从一开始就对以太坊的发展有很明确的指导意见.这导致了两者社区在发展上的差异很明显.
比特币的支持者支持中本聪的行为,因为他们认为这样的无指导,让社区所有的人来参与并决定比特币的发展,更加符合对去中心化的严格定义,比特币更倾向做一个能脱离政府管控的全民自治的一个电子货币系统.
以太坊的支持者认为以太坊是民主的,同时应该存在一些有影响力的任务.他们赞同VB的参与,VB提出的大多数建议能被社区所接受,不是因为崇拜,而是事实证明他提出的想法在大多数情况下是对的.以太坊的社区更为团结,以至于以太坊历史上的几次技术冲突和硬分叉都能得到比较好的控制.而比特币因为更为去中心化,无领导的状态,虽然有很多的开发者提出来许多解决方案,但是由于缺乏共识,只有少数几个能得到实施(比特币史上的几次硬分叉就是全球会议不断才得到实施).
6.2 商业模式不同
比特币做的是货币系统,他更加注重去中心化、隐匿性、货币稳定性和安全性.比特币在一个货币体系薄弱的地方,能获得更多的需求
以太坊做的是平台,它旨在链接开发人员和用户,开发者在开发中更加注重倾向于用户。
7. 智能合约是什么?以太坊和比特币的智能合约有什么区别?
智能合约是能够在网络上自动执行的合同。如果你去水果市场买苹果,水果市场贴了一张公告:坏一赔十。但是你不一定信息,因为如果你买到了一个坏的苹果,商家可以不赔偿,实际上做的好一点的商家可能会给你换一个新的,有点商家甚至连换都不换,更何况是赔十了。智能合约就能有效的解决这个问题,如果你定义了一个合约,上面规定如果有人通过这个合约买了一箱苹果,而这项苹果里面被判定存在坏的,那么就需要十倍金额赔偿。那么一旦真的存在这种情况,合约就会自动执行,人力不能干预。
比特币中存在一套脚本系统,允许开发者去实现一个智能合约,但是这个智能合约需要开发做很多的工作。另外比特币中的脚本系统是图灵不完备的,那么开发员能实现的功能是有限的。目前比特币脚本语言有命令256条,其中能用的命令只有146条。
以太坊做的就是平台,它提供了一套完备的用于开发智能合约的工具。你可以在官网找到以太坊智能合约的编程语言、编辑器、框架和测试网络。以太坊中的智能合约编程语言叫solidity,solidity是一套图灵完备的编程语言,开发者能使用它来实现任何能想到的功能。
8. 总结
区块链的时代已经到来,去中心化的时代已经到来。如同在40年代和人们讨论互联网,大部分人会嗤之以鼻,但是那些学会拥抱互联网脚步的人则赚的盆满钵满。区块链时代也是一样,比特币不能代表区块链,但是区块链技术的应用将会是一个趋势,有很多政府抵制比特币成为货币,因为它会冲击法币体系(哪怕抵制不了-_-),但是没有一个政府会抵制区块链技术,只有学会接受突起的新事物,你才能走在最前沿.