对于游戏玩家来说,最让人心痛的无非是最近显卡价格达到了疯狂的程度,一张卡溢价两三千,真正的一卡难求 大多数人应该都知道显卡价格疯涨与各类币种价格疯涨矿老板疯狂收购显卡挖矿有关。但到底什么是比特币?比特币、挖矿、P2P、区块链、算力,这些耳熟能详的词之间到底有什么关联?这篇文章帮助零基础的朋友简单理解什么是比特币比特币挖矿 数字货币与电子货币 数字货币的币种有很多,最早的数字货币是2008年由中本聪设计并开发的比特币,后续的其他币种也是在比特币基础上的变种数字货币 比特币设计初衷正如它的名字是一种货币,一定要具备货币的交易能力,货币的发展从最早的贝壳到铸造的硬币,再到更轻便的纸币,最终到无需实物仅通过网络的数字货币,其交易的能力一成不变但方便程度逐渐提高 数字货币听上去好像和如今的网上银行、微信钱包、支付宝这类电子货币没什么区别,仅通过网络就可以完成交易。电子货币本质仍是纸币,只不过将纸币电子化,它无法脱离国家金融机构无法脱离纸币独立存在,在交易的过程中交易双方需要一家信任的机构作为中间人,将钱经过第三方机构实现货币流入流出,这个第三方机构也许是银行也许是微信也许是支付宝 但比特币类的数字货币完全脱离纸币,交易途中只有交易双方P2P参与无需第三方机构。就像现实中我们去小卖铺买东西一手交钱一手交货,金钱通过买方直接流入卖方无需中间人参与。而这样的交易方式在网络中就相当于小A先告诉小B我有100块钱,现在我把其中10块钱撕掉你那边自己打印10块钱我们之间就完成交易了,但这其中存在很大漏洞,首先小B不能确定小A是否真有100块钱,另外也无法保证小A是否真撕毁10块钱,听起来有些不可思议,比特币正是一种通过密码学理论建立的可信任的货币系统 区块链 既然比特币的交易不需要中间服务器数据库的参与,想要达成交易首先需要一个总账本,账本中记录了从比特币创世第一笔交易开始后续所有的交易记录,并且账本全网相同,擅自篡改的账本不会被他人承认从而拒绝交易。实现总帐本的技术正是区块链技术,区块链就是一个不断增长的总帐本,它将一段时间内发生的交易打包成节点,并将节点指向前一个结点,总帐本不断增长 有了全网统一的总帐本,也就让用户在交易时可以清楚的查到对方到底有多少余额,余额充足则完成交易,而这次交易也将会被打包成新的区块添加到区块链中,让全网得知这次交易金额的变动 区块链 区块链的防篡改 总账本有了,假如有不法分子想要通过篡改这个账本篡改某次交易,将收入的1比特币改成100比特币从中牟利该怎么办 不要担心,区块链通过hash(哈希)算法来保证所有交易无法篡改 先来了解下hash算法 hash算法有好多种,简单来说就是输入一个不固定长度参数,输出一个固定长度参数。hash算法需要具备两个特点:1、单向算法,通过输入很容易推导输出,通过输出无法反推输入,只能通过暴力穷举尝试,而输入的长度又不固定,穷举的尝试次数理论是指数级难度几乎无法破解。2、输出无规律,输入数据的任意一个改动,得到的输出结果完全不同,无推导逻辑可循1、单向算法 Hash(xiaoheihe)3d04510053cd9aa1672fe59efe219d2d60405579 2、输出无规律 Hash(xiaoheiha)3e9af06800f1783d53daea27e497d1dc2794ce57 Hash(xiaoheih)2298282d1b8ba7e3b94cc9d2f7b8605412d0b08b Hash(xiaoheihe2)05090d50db5edc5bcc88900474b81d0f1be32255 接下来是区块链如何通过hash算法防篡改 每一个打包的区块都分为两部分,区块头部数据部分和交易记录部分 头部数据中有一个MerkleHash字段,记录本区块中所有交易的hash值,只要校验MerkleHash字段就能确保所有交易数据没被篡改 然后将头部数据部分做一次hash,计算出BlockHash也就是这个区块的hash标识,这个BlockHash参数并不记录在本次区块中,而是记录在下一个区块头的PrevHash字段中,通过PrevHash能够准确找到上一个区块,这样通过PrevHash将区块链接起来形成区块链 一个区块通过PrevHash可以追溯到上一个区块,假如其中某个区块的交易被篡改,这个区块的MerkleHash也将跟着被篡改,头部区间随着MerkleHash篡改BlockHash也跟着改变,下一个区块也就无法通过PrevHash链接上一区块,区块链随之断裂 假如想篡改某次交易,不光需要篡改本次交易,还需要篡改后续所有交易,而区块链本身也是不断增长的过程,想要篡改那就必须让篡改速度超越正常打包速度,打包数量反超才能实现。为了防止弯道超车篡改整个区块链,就要引入接下来的挖矿机制