学习教程
说到区块链之前,就不得不提到比特币(bitcoin)。因此本文是围绕bitcoin来讲区块链。至于ETH会出现在以后的文章中。下面给出bitcoin学习的路线
下面给出三个学习bitcoin(区块链)的权威链接。白皮书作为学习币的第一文档,精通比特币是一个大神研究bitcoin源码后对bitcoin理解(本人认为是一个入门的权威书籍,本人就是使用精通比特币这本书入门的)
在研读完理论知识之后,如果还需进一步了解bitcoin的话,那么需要研读源码
下面是bitcoin的源码:
c++ bitcoin官方源码库(研读完后发现,代码可读性太差。可能是由于第一版作者不是工程人员,导致的问题)
go go版本重写的源码(代码质量较高,推荐研读)
传统的货币系统
大家可能看过最近黄渤老师导演的《一出好戏》。电影里面的又一个情节令我十分深刻。张总用两幅扑克牌作为通用凭证,让所有人都可以买卖各种岛上物质。只要使用一个2可以换取30条鱼。从这里可以发现扑克牌不单纯是一张纸,而是有了一个附加价值的纸(货币)。张总通过工作将货币流通到人群中,通过卖出货物等手段,回收货币。张总使用他的沉船和富裕的物质资源来诱惑岛民相信他的这个货币。从而形成了一个简单的货币系统。我们以小见大的话,可以这样理解法定货币(USD,RMB等)。政府通过他的权威性作为担保,发行货币,通过各种国家基础设施将法币流通到人民中,再通过各种手段回收货币,形成了一个极其复杂的货币系统。
总结:一个货币系统出现必定需要一个性质是所有人都必须认可货币。
电影里后面还有一个情节是,小兴后面突然发现有四个一样的二(说明有4副扑克,最开始只有两幅扑克)。从金融系统来讲就是货币被增发了。由于货币变多了,但是资源没变。人们买东西会加价来保证可以后买到足够的资源,从而导致他4个二不能购买到房间。你发现这个东西就是万恶的通货膨胀,以前1块钱可以买1斤大米。现在4块钱才能买一斤。货币没以前值钱了。终极原因是政府增发货币。(但是增发货币有好也有坏的)
讲了这么多经济学的知识,在这里本人声明下:本人是程序员不是学经济的,如某些言论有误请给予指出。
相信大家有了一个基础的经济学理论,从上面的两个货币系统,都会出现一个问题是如果货币发行者作弊,那么会导致一个特别严重的后果就是,所有的资源会高度集中到货币发行方手中。再私有产权所有制下,整个社会会出现巨大震荡。
当然传统的货币系统作弊的成本还是相对较高的。但如果货币系统是一个电子货币系统呢,不仅货币发行方可能作为,货币系统管理员/黑客都有可能作弊,这是一个十分严俊的问题。
一个传统的货币系统的缺点:高度中心化,信任机制薄弱,存在篡改
bitcoin的出现就是为了解决这这些问题。
什么是bitcoin
bitcoin一个点对点的电子现金系统。
P2P
整个系统网络是由遵循着同一规则的节点组成,每个节点的权利都是平等的。系统中所有节点共同维护一套账本,账本记录了所有人的余额。当你转帐10个比特币时,所有参与的人都会知道你减少10个bitcoin另外一个人增加10个bitcoin。所有人都记录下此次转账信息如果需要修改那么就需要所有人都修改这次信息。这个是发行方或者黑客都没办法做到的。
挖矿
传统货币系统的记账权在于货币发行方,bitcoin的记账权在于所有参与者,如果所有人都有记账权,那么整个货币系统的账本状态没有一个稳定的状态。因此需要设计一套规则,让所有人都有机会拿到记账权。bitcoin使用一个叫POW的规则,所有人计算一个数学题得到一个值。如果有一个人(矿工)计算出的值小于一个界限,那么他在这一次拿到记账权。将此次写入信息提交给所有人进行验证,验证通过,他获得新生成的比特币作为奖励(这就是货币的发行)。在bitcoin中货币的记账权不再是一个人的专利,而是所有人都有机会获得记账权,每次记账完成后验证此次信息是否有误差。如果有误,则他丧失记账权。
什么是区块链
最开始其实只有bitcoin,区块链只是从bitcoin抽象出来的技术叫做区块链。
一次转账的过程:产生一个转账交易数据,通过p2p网络广播到所有节点中验证,当矿工拿到记账权,将这笔交易和其他交易打包成一个数据块(区块)。在验证整个区块之后,广播这个区块。当所有人验证这个区块之后,将这个区块放到上一个已经被确认的区块后面。这样整个网络中所有区块有了前继的联系,形成了一个链状的结构这个链状结构就叫做区块链(账本)。