区块链和比特币到底是什么
以下段落中游戏指代比特币和区块链网络,而玩家即游戏的参与者。
1.比特币
比特币网络由许多台计算机连接而成,每个玩家在自己的计算机上安装了比特币客户端,就连上了这个网络。这个网中计算机千千万万,但是比特币的产出是受程序自动控制的。比特币网络能自动协调连上网络的每台计算机,控制每小时创造的比特币数量。它利用你的电脑去解一个很难很耗时间的数学问题,通过这种方法制造货币,只有解开难题的计算机才能获得比特币赏金,所以更多算力意味着有更大的机会获得更多的比特币。
这样问题就来了:如何确定一个比特币的合法主人是谁呢?如果别人伪装成我付钱,安全又该如何保障?
别急,下面就要介绍保护比特币的安全的电子签名和区块链了。
2.电子签名
比特币并没有实体货币,卖实体收藏币的骗局就莫要再信了!
游戏中每个玩家都可以拥有几个“钱包”,钱包里面当然是钱啦。但钱包是不记名的,使用电子签名来识别和保护玩家。电子签名的作用是证明:钱包是你的,你有权从钱包里面花钱。
电子签名分为两部分,一部分是公钥,一部分是私钥。在其他玩家看来,公钥就是你的钱包,而私钥则是你用钱时用来证明身份的东西,要保护好不给别人知道哦!每次交易,游戏都会用公钥和私钥一起进行计算,证明钱包是你的,防止恶意玩家假装是你付款或者伪造成你收钱。
3.区块链
电子货币如果只是一个虚拟数字,任何玩家都能随便修改,这肯定是不行的。区块链就是防止凭空造钱的武器,同时也能防止一笔钱被恶意花了两次。
游戏将所有交易串起来构成一个集中账本,这个账本包含了从第一笔交易开始的所有账目,也就是一个交易链,这样游戏就能知道每个钱包的余额。
但是这个账本存在哪里呢?因为游戏不存在一个中心管理者,是去中心化的,所以原则上每一个玩家都有一个账本的拷贝。当新的交易发生,这笔交易会广播给其他玩家,同时核对账本,把新交易计入到账本拷贝里。如果你试图通过伪造账本获利,那么你和其他玩家的账本就会不一样,交易时一核对,伪造就暴露无遗。所以说,理论上每一笔交易都要得到所有玩家的确认,每个玩家都有责任保障系统的安全。
但是实际上这很难做到,确认操作只能由一部分玩家来完成。这就给恶意玩家创造了机会,他们可以篡改和伪造自己的账本拷贝,引起混乱。因此要设计一个机制增加伪造账本的难度,同时也能容易识别出伪造的账本。
4.哈希算法
这种防止伪造的方法就是哈希算法。
哈希算法能将任意原始数据,不管是图片还是文字,对应到特定的数字,这个数字称为哈希值。要是数据被篡改,算出来的哈希值就会改变,因此识别伪造和防止伪造的问题都能解决了。(BT下载时用到的 MD5 码就是一种哈希值,用于验证下载下来的视频没有被篡改、被植入病毒什么的。)
某比特币矿场
哈希算法有个伴随的缺点,要产生不那么容易伪造的哈希值,需要消耗很多计算机资源,并不会有人自愿这么做。游戏用奖励货币的方式鼓励一些玩家来计算哈希值,他们就被称为矿工。几笔时间接近的交易会被合在一起组成区块链的一个区块来计算哈希值,保证账本难以篡改。
当然,只要恶意矿工的算力超过一半的矿工,他就仍旧可以伪造账本,然后重新计算所有账目的哈希值,让其他矿工复制他的账本。只是随着矿工越来越多,这种事情也越不可能发生。
上一篇:区块链是好技术,关键看怎么用
下一篇:什么是比特币的“死穴”?