平民理解 比特币 区块链 挖矿
别怕,术语看不明白没得关系,继续看下去,有一些我自己的通俗解释,其实很有趣的一个生态,告诉自己看下去!!!没那么难的,技术源于生活高于生活。
1.比特币
比特币比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生 。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。
与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。
2009年比特币诞生的时候,区块奖励是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),区块奖励减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,区块奖励再减半为12.5个。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在约2100万个。
比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为区块奖励,奖励获得答案的人。
用户乐于奉献出CPU的运算能力,运转一个特别的软件来做一名“挖矿工”,这会构成一个网络共同来保持“区域链”。这个过程中,他们也会生成新货币。买卖也在这个网络上延伸,运转这个软件的电脑争相破解不可逆暗码难题,这些难题包含好几个买卖数据。第一个处理难题的“矿工”会得到50比特币奖赏,相关买卖区域加入链条。跟着“矿工”数量的添加,每个迷题的艰难程度也随之进步,这使每个买卖区的比特币生产率保持约在10分钟一枚。
从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。以钞票来比喻的话,比特币就是钞票的冠字号码,你知道了某张钞票上的冠字号码,你就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有 2100 万个特解,所以比特币的上限就是 2100 万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
无国界、跨境。跨国汇款,会经过层层外汇管制机构,而且交易记录会被多方记录在案。但如果用比特币交易,直接输入数字地址,点一下鼠标,等待p2p网络确认交易后,大量资金就过去了。不经过任何管控机构,也不会留下任何跨境交易记录。
由于比特币算法是完全开源的,谁都可以下载到源码,修改些参数,重新编译下,就能创造一种新的p2p货币。但这些山寨货币很脆弱,极易遭到51%攻击。任何个人或组织,只要控制一种p2p货币网络51%的运算能力,就可以随意操纵交易、币值,这会对p2p货币构成毁灭性打击。很多山寨币,就是死在了这一环节上。而比特币网络已经足够健壮,想要控制比特币网络51%的运算力,所需要的CPU/GPU数量将是一个天文数字。
交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。
交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。
价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比特币更适合投机,而不是匿名交易。大众对原理不理解,以及传统金融从业人员的抵制。活跃网民了解p2p网络的原理,知道比特币无法人为操纵和控制。但大众并不理解,很多人甚至无法分清比特币和Q币的区别。“没有发行者”是比特币的优点,但在传统金融从业人员看来,“没有发行者”的货币毫无价值。
用户可以买到比特币,同时还可以使用计算机依照算法进行大量的运算来“开采”比特币。在用户“开采”比特币时,需要用电脑搜寻64位的数字就行,然后通过反复解谜密与其他淘金者相互竞争,为比特币网络提供所需的数字,如果用户的电脑成功地创造出一组数字,那么就将会获得25个比特币。
由于比特币系统采用了分散化编程,所以在每10分钟内只能获得25个比特币,而到2140年,流通的比特币上限将会达到2100万。换句话说,比特币系统是能够实现自给自足的,通过编码来抵御通胀,并防止他人对这些代码进行破坏。
比特币地址是大约33位长的、由字母和数字构成的一串字符,总是由1或者3开头,例如"1GyQZPCGYMTmqY7NFhdWUrScyadRdz8WJD"。比特币软件可以自动生成地址,生成地址时也不需要联网交换信息,可以离线进行[2]。可用的比特币地址非常多。
比特币地址和私钥是成对出现的,他们的关系就像银行卡号和密码。比特币地址就像银行卡号一样用来记录你在该地址上存有多少比特币。你可以随意的生成比特币地址来存放比特币。每个比特币地址在生成时,都会有一个相对应的该地址的私钥被生成出来。这个私钥可以证明你对该地址上的比特币具有所有权。我们可以简单的把比特币地址理解成为银行卡号,该地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用比特币钱包时请保存好你的地址和私钥。
比特币的交易数据被打包到一个“数据块”或“区块”(block)中后,交易就算初步确认了。当区块链接到前一个区块之后,交易会得到进一步的确认。在连续得到6个区块确认之后,这笔交易基本上就不可逆转地得到确认了。比特币对等网络将所有的交易历史都储存在“区块链”(blockchain)中。区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走。区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有比特币交易历史的记录 。 中本聪预计,当数据量增大之后,用户端希望这些数据并不全部储存自己的节点中。为了实现这一目标,他采用引入散列函数机制。这样用户端将能够自动剔除掉那些自己永远用不到的部分,比方说极为早期的一些比特币交易记录。
2.挖矿
挖矿是将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上形成新区块的过程。挖矿就是记账的过程,矿工是记账员,区块链就是账本。比特币系统的记账权利是去中心化的,每个矿工都有记账的权利。成功抢到记账权的矿工,会获得系统新生的比特币奖励,挖矿就是生产比特币的过程。
任何一台电脑都能成为挖矿机,只是受益会比较低,可能十年都挖不到一个比特币。很多公司已经开发出专业的比特币挖矿机,这种搭载特制挖矿芯片的矿机,要比普通的电脑运算速率高几十倍或者几百倍。
比特币矿工通过解决具有一定工作量的工作量证明机制问题,来管理比特币网络—确认交易并且防止双重支付。由于散列运算是不可逆的,查找到匹配要求的随机调整数非常困难,需要一个可以预计总次数的不断试错过程。这时,工作量证明机制就发挥作用了。当一个节点找到了匹配要求的解,那么它就可以向全网广播自己的结果。其他节点就可以接收这个新解出来的数据块,并检验其是否匹配规则。如果其他节点通过计算散列值发现确实满足要求(比特币要求的运算目标),那么该数据块有效,其他的节点就会接受该数据块 。(做出来题交答案)
中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。矿工们通过为比特币网络提供算法来换取获得比特币奖励的机会。矿工们验证每笔新的交易并把它们记录在总帐簿上。每10分钟就会有一个新的区块被“挖掘”出来,每个区块里包含着从上一个区块产生到目前这段时间内发生的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到区块链上的交易称为“确认”交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的比特币。
矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖励,矿工们争相完成一种基于加密哈希算法的数学难题(这道题设计的目的是为了工作量证明机制,要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。),也就是利用比特币挖矿机进行哈希算法的计算,这需要强大的计算能力,计算过程多少,计算结果好坏作为矿工的计算工作量的证明,被称为“工作量证明”。该算法的竞争机制以及获胜者有权在区块链上进行交易记录的机制,这二者保障了比特币的安全 。
矿工们同时也会获取交易费。每笔交易都可能包含一笔交易费,交易费是每笔交易记录的输入和输出的差额。在挖矿过程中成功“挖出”新区块的矿工可以得到该区块中包含的所有交易“小费”。随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在2140年之后,所有的矿工收益都将由交易费构成 。
可以理解为,挖矿就是想记账但必须做题目,挖矿获得的比特币就是记账的劳务费。挖矿不直接挖比特币,而是验证交易并记录在账本上,但是为了得到这个机会,就必须做复杂的数学计算的题目,做出来的人拥有做记录权,奖励的是比特币,新的转账交易记录就是一个区块,生成一个新的区块,就是挖出来一个区块,得到相应的劳务费。
3.区块链
区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库],存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。
区块链由多个相连的区块构成,每个区块记录了一段时间内网络中比特币的交易情况,可以将区块视为账簿中的帐页。第一个被最早构建的区块称为创世块,拥有一个唯一的ID标识号。除创世块外,每个后续建立的区块均包含两个ID号,一个是该区块自身的ID号,另一个是前序区块的ID号。通过ID号间的前后指向关系,所有区块按序相连就构成了区块链。
各个区块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成的结果就叫区块链。
区块链的分布性体现在,每个参与节点都可以持有账簿的副本,并与网络保持同步更新,一定数量的节点受损不会影响整个系统的正常运行:其公共性体现在,整个网络中仅有一本帐,所有的交易都必须记录在上面,并接受每个参与节点的监督;其透明性体现在,账簿对所有参与节点都是公开的,支持随时查看账簿全部账目;其可信性体现在,交易一旦被记录到账簿中,除非有超过大半的参与节点许可(比特币系统称之为“51%攻击”,巧妙的设计让该攻击代价巨大,基本无法实现),否则账目无法被篡改或删除。
首先介绍比特币生成和区块创建的关系。比特币系统设定的基本规则之一是,创建新的区块并加载到区块链中会触发新币生成,换言之,比特币是作为对维护区块链所付出劳动(即解决系统设置难题耗费的算力)的奖励。维护区块链并获得奖励的行为又被形象地比喻为“挖矿”,所有的网络节点均可成为“矿工”,通过挖矿获取比特币(实际应用中,矿工通常加入某个“矿场”,基于矿场中的“矿池”实现稳定收益)。比特币系统限定了比特币的总量为2100万枚,且按每4年发行余量一半的速度产生新币,例如系统开始运行的前4年,共发行2100/2=1050万枚,第二个4年发行1050/2=525万枚,以此类推,直至2140年基本发行完毕。之后,为激励矿工继续维护区块链,系统规定,收取少量以比特币计价的交易费作为其劳动报酬。
在确定哪个矿工有权创建区块这个关键问题上,比特币系统引入了竞争机制,即最先解决系统设定的哈希难题的矿工有权创建新区块。算力和概率是成功解题的两个关键因素,解题需要消耗大量的电力和硬件资源,是矿工工作量的证明(Proof Of Work,POW)。竞争和POW能有效消除投机取巧现象,维护比特币的价值体系。区块链技术引入的验证机制是,当某个矿工成功找到符合要求的解之后,就会立即向全网广播自己的结果,其它节点接收新解并检验其正确性。验证的过程是全网达成共识的过程,是对一段时间内需要入账的交易记录的认可,验证通过后,新区块被加载到区块链中。为了保证全网账簿的一致性,区块链技术引入了同步机制,即将获得认可的新区块向全网广播,其它参与节点接收并更新存储在本地的区块链。“竞争一验证一同步一竞争”是一个循环过程,当前的循环周期大约为8分钟,即每8分钟产生一个新区块,同时新生成25个比特币,作为对成功记账者的奖励。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性 。区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能
区块链的技术本质是,允许个体不经过权威第三方的认证而开展有效可信的合作。其基本支撑技术有P2P数据传输技术、文件共享技术、非对称加密技术、分布式存储技术等。未来,区块链将向技术底层化和应用普及化方向发展
区块链基础架构模型