接上一期讲到、数字货币、数字资产、区块链,就借助第一个基于区块链的数字货币比特币,讲一下他的基本原理或者说使用那些基本技术。
第一个基本原理,防止伪造技术。在说有的节点上广播交易使得每个节点都存有完整的交易账本。这样任意一个节点都能轻松的发现伪造的货币,从而杜绝了伪造货币的流通。
第二个基本原理,防止双花。为了防止同一个货币被两次以及多次花费,比特币采用了工作量证明法。正如前文所讲,每个节点都会争夺区块的打包权。那就让每个区块提供一定量的工作量证明来确定谁有权打包。具体做法是所有节点都计算一个随机数的Hash值,直到得到的结果符合一定的规则。这个过程可以理解为大家一起抛硬币,谁先抛出连续5个正面谁赢。这样做的好处在于计算Hash的过程是耗时消耗资源的,而验证Hash的过程却是简单的。计算出结果的节点向全网广播,收到广播的节点验证Hash,开始下一轮的计算。这时可能出现一个情况,就是多个节点同时完成证明,他们会在各自向附近的节点广播并得到认可。这种情况下,可能就会产生两条并行的链,不过不要紧,哪条链最长,哪个交易就被认为有效,其他链的交易就会被废弃。这就是我们交易的时候为什么会要等几个确认。其实每个确认就是有新的区块跟在你的交易被打包的区块后面。确认的高度越高代表交易被认定的可能性越大。
第三个基本原理,基于密码学的安全保障。区块的广播使用了P2P技术,这是一项成熟的技术,但是用于数字货币就会遇到一个问题,那就是数据的真伪性。在传播过程中是不是被篡改过或者是不是货币的持有者发起的交易?这里就用到了非对称加密技术。该技术的原理有兴趣的可以去学习下,这里讲一讲这种技术的特性。所谓非对称加密就是,加密的密钥和解密的密钥不是同一个。这两个密钥一个生成者自己保留称之为私钥,一个公开给大众称为公钥。私钥加密一个数据,相当于签名,因为任何人能证明用其公钥解密证明这是私钥持有者加密过的。公钥加密数据,相当于指定,因为只有该公钥对应的私钥才能解密。如果A转移给B一个比特币,就需要A的私钥签名,然后再用B的公钥指定新的主人(当然实际过程比这复杂)。
以上几个原理是比特币的基本原理,也可以说是其中用到的技术是必选项。其中包括了以下几种技术:P2P技术,区块链技术,工作量证明,非对称加密,Hssh。其中工作量证明可以被其他共识机制替代(关于共识机制会单独讲)。我们可以发现,这些技术没有哪个是桑本聪自己发明的,但是把这些技术糅合在一起就诞生了可以说精妙的比特币。
当然还有一些技术是可选项,比如UTXO,merkle树等,以后的篇章会单独来讲。
其实到这,大家对比特币的工作原理应该有一个比较清晰的认识。不过有一点还像一团乌云,那就是比特币是哪来的?他是怎么发行的?下一篇平坑。