最近查了一些比特币和区块链的资料,尽量用白话来描述一下其大致的原理,(大方向是对的,细节不保证)。欢迎大家参与讨论,越讨论事情越清楚。
区块链
每个区块记录了有效数据(比如交易数据,包括付款方、收款方、交易数量等信息),由于交易每时每刻都可能发生,所以一般是隔几分钟去记录一次(生成一个区块),记录这一时间段的交易,可以理解为记账。不同时刻的区块链接在一起,形成了区块链。区块链就相当于是一个帐本。
签名/不可抵赖
这个是由非对称加密算法实现的。非对称加密算法可以找到两个数字,一个作为公钥,一个作为私钥。公钥加密的数据,只能由私钥解密。反过来也是一样,用私钥加密的数据,只能由公钥解密。
这样,只要把交易数据先通过HASH转换得到一个HASH值,交易的发起方用自己的私钥对这个HASH值加密,则其他人就可以用发起方的公钥去解密,和转换得到的HASH值对比,从而可以认证发起方的身份。
私钥只有用户自己知道,公钥则是公开的,作为用户的帐号。
去中心化
去中心化的含义就是,区块链这个帐本是保存在不同服务器上的,服务器之间需要同步整个区块链。
挖矿/比特币
服务器每次新生成一个区块,会给予一定数量的奖励(比如给你几个比特币)。挖矿就相当于各个服务器之间竞争记账,记账成功则得到奖励,其他服务器需要向你同步整个区块链。
成功记账
需要满足一定的条件才算成功记账。比如,找到一个随机数,和记账的内容一起进行特定的运算,得到一个特殊的值(比如要求这个值总共X位,并且是以N个0开头)。这使得记账是一个很消耗计算资源的动作。
从上面可以看出来,比特币并不是像黄金那样不可替代的。修改一下算法,或者修改一下成功记账的条件,都可以得到另一种币。以太坊已经提供了一个区块链的开发环境,可以很方便的定制你自己的币。
比特币也不是法定货币,要兑换成法定货币,需要有交易平台。比特币本身的交易记录由区块链保护,可以保证不被篡改,但是这个集中式的交易平台是可能被攻破的。
要真正的去中心化,则需要避开交易平台,也就是让比特币可以自由买卖商品,而不需要换成人民币、美元,再用人民币、美元去购买商品。这个估计很难大规模的实现。
所以,本人认为比特币是用来炒作的。当然也可能被黑客用来赚钱。比如去年的一次病毒事件,中毒之后被勒索比特币解毒,从而推高比特币的价值。在病毒攻击之前,黑客们当然可以买入比特币。
区块链和数字货币的应用,目前估计只能出现在网络社区内部了,不一定会出现其他杀手级的应用。
领取专属 10元无门槛券
私享最新 技术干货