概述
文章目录
- 第一章 疯狂的比特币及其原理机制
- 1.1 比特币诞生
- 1.2 疯狂的比特币
- 1.2.1 疯狂的价格
- 1.2.2 疯狂的矿机和芯片
- 1.3 通俗地讲比特币机制
- 1.4比特币交易
- 1.5 比特币挖矿
- 1.5.1 数学难题
- 1.5.2 矿池原理
- 1.6 比特币分叉
- 小结
第一章 疯狂的比特币及其原理机制
1.1 比特币诞生
比特币起源于2008年一位化名中本聪的人(或团队)发布的一款比特币系统,系统软件全部开源,挖掘的一一个区块命名为“创世区块”。这款系统本身分布在全球各地,没有中央管理服务器,没有负责的主题=体,没有信用背书,然而这款三无系统却有出乎意料的稳定性。
1.2 疯狂的比特币
1.2.1 疯狂的价格
对于比特币的发展史,它的价格就像过山车一样大起大落:
1.2.2 疯狂的矿机和芯片
比特币就像矿石一样,“矿机”就是赚取比特币的计算机,用户下载比特币运算软件,参与记账并获取相应的记账激励,挖到比特币。
第一阶段普通计算机(CPU)即可挖矿并能有不错的收益;第二阶段,挖矿节点增多,CPU产出率下降,开始使用多处理器地GPU提升算力,增大产出率;第三阶段出现了比特币挖矿定制化机器,专门为哈希运算设计,算力进一步提高。
芯片经历了CPU–>GPU–>FPGA–>ASIC的阶段。
另外还有两个概念要提一下:矿场和矿池。
1.3 通俗地讲比特币机制
简单来说,假设一个村上没有银行,也没有令人信任的村长负责记录和维护村民地财务往来(即没有任何中间机构或个人),这时候村民想了一个方法:大家一起记账。
举个例子,张三要转给李四1000块钱,张三在村里吼一句:“我张三要给李四转1000块钱。”附近村民听见后确定两件事:(1)声音是张三,不是别人冒名顶替的。(2)张三有足够的钱,每个村民有个账本上面记录了所有村民有多少钱。确定完两件事后在本子上记下xxxx年xx月xx日张三转给李四1000块钱,然后口口相传给十里八村,大家都知道后可以共同证明这件事。
这样一个所有村民达成一致的记账系统就是比特币系统。
- 记的账会不会被篡改
- 村民有什么动力帮别人记账
- 多人记账记得不同怎么办,以谁记的账为准
且看比特币系统如何解决,
第三,有了激励,大家就会抢着记账是自己的记账被认可,以谁记的账为准就是一个问题了,于是想了一个公平的办法:对每一块账本(类比于现实中账本的一页)都出一道难题,先解出这道难题的矿工就以他记的账为准。这里破解难题的过程就被称作“挖矿”,需要说明的是解题过程很难,但答案很容易验证。
比特币通过“区块+链”的分布式账本防止交易篡改,通过发放比特币激励来促使矿工记账,通过计算难题来解决记账一致性问题。
1.4比特币交易
了解比特币交易首先要了解比特币地址,要完成交易需要一个类似于现实中银行账户的实体。实际上比特币交易中的实体是一对公私钥的组合,公钥可以理解成“银行账户”,在交易中被引用来指明资金的来源和去向,私钥可以理解成“验证密码”,用于确认交易的合法性。
公私钥及钱包地址的产生过程:首先随机生成256比特的比特串作为私钥(可以生成2256个,基本不可能发生碰撞),再根据椭圆曲线算法对私钥运算生成公钥,最后公钥根据哈希算法和Base58编码得到钱包地址。
比特币交易有两种类型:(1)coinbase交易,就是挖矿奖励比特币。(2)普通用户之间的转账交易。
根据不同用户不同资金比特币有网页钱包、手机钱包、硬件钱包等,其安全性与价格各不相同。
获得比特币的三种途径:
- 矿工挖矿得到的激励
- 线下通过中间人购买,线下支付等价物后转出方将比特币从他的地址转到购买方的地址,也可以通过现上交易所购买。
- 商家收取比特币卖东西。
1.5 比特币挖矿
比特币系统记账者争抢激励被形象地比作“挖矿”,实质上比特币挖矿就是争夺某一个区块的记账权。最初生产一个“交易记录区块”能获得50个比特币的激励,为了控制比特币的发行数量激励每4年就会减半,预计一共会发售2100万个比特币。
1.5.1 数学难题
解释一下挖矿过程中解得数学难题,先来了解一下哈希算法:简单理解为把一个任意长度的输入值计算成一个固定长度的字符串,这个字符串就是得到的哈希值。比特币系统采用SHA-256算法,得到的是一个长度为256bit的哈希值。
比特币系统里一个区块生成时需要将上一个区块的哈希值、本区快交易信息的默克尔树根、一个未知的随机数拼接在一起进行哈希运算,这就是数学难题。
为保证大约10分钟生成一个区块,这个运算需要有一定难度,比如开头要有n个0,由于哈希值的位数是有限的—总可以计算出一个符合要求的哈希值;随机数的运算没有规律—只能通过暴力枚举算得,所以要算出这个哈希值需要大量运算。哈希值由16进制数表示,前n位是0就需要16n次运算。
随着技术发展,哈希运算越来越快,但为了保持10分钟一个区块的速度就需要提升题目难度,比如增加以0开头的位数,如果题目难了减少以0开头的位数来降低难度。比特币系统大概每14天调整一次难度(通过对比生成一个区块的实际时间与期望时间)。
1.5.2 矿池原理
一般是一个企业维护一个矿池服务器,用户在矿池注册账户,添加矿工,一个账户可有多个矿工,矿工主动向矿池申请任务或者矿池给矿工分配任务,执行任务。矿工只负责计算,不参与验证,有矿池服务器进行验证,即矿工不用存储历史区块,极大降低了矿工的算力消耗和存储消耗。
但是矿池弊端也很明显,即这种托管式是违反区块链去中心化的理念的。不过我们也不用太过担心,因为从经济学角度来说,如果一个矿池掌握了大量算力,它为了自己的利益保证也会努力维护比特币系统的正常运行的。
1.6 比特币分叉
比特币分叉就是系统更新造成的版本差异,一款应用升级只需要厂商发布、用户接收即可,但是比特币这种去中心化的系统升级必须考虑协调网络中的所有节点。如果两个节点在一定时间内运行不同版本就叫做分叉。
分叉分为两种:软分叉和硬分叉。
- 软分叉:就可以理解成更新内容较少,新版本兼容旧版本,然后通过新版本用户数量的增加促使旧版本用户更新,
- 硬分叉:可以理解为大幅度更新,新版本不兼容旧版本,最终导致形成两条独立的链。
这里拓展一下:历史上一次较大的硬分叉事件是2017年8月1日的“比特现金”。起因是开发者和矿工的分歧,比特币一个区块大小为1M,按10分钟一个区块的速度只能完成7笔交易,造成大量交易排队,矿工的收益也少。为解决这个问题提出来两种方案:扩容方案和隔离见证方案。
小结
比特币等电子货币的价值并不是跟本文所述完全一致,我们要对这类货币有自己的价值判断,这其实很像投资,一样产品的价值是起伏的,说的极端点就是有人觉得很有价值,有人觉得一文不值,我们要认识到这其中存在风险。
最后
以上就是拉长树叶为你收集整理的区块链技术及应用---区块链技术(一)第一章 疯狂的比特币及其原理机制的全部内容,希望文章能够帮你解决区块链技术及应用---区块链技术(一)第一章 疯狂的比特币及其原理机制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复