区块链简单来说就是一些被连起来的信息块(block),每个信息块包含一些关键数据,从第一个信息块开始,一直到最新的信息块,只能增加,不能删除。
举个例子来说,四个人打麻将,假设每个人有100元,采用记账的方式 ,每一圈结束后由任意一个人记账,记账的数据(block)好比
1. A输(需要付)B 1 元
2. C输(需要付)B 2 元
3. D输(需要付)B 1 元
然后其他三个人分别得到一个账本副本,并检查确认无误后则账本有效,一直到打完麻将,每一圈的记录和上一圈的记录都是有联系的 ,缺少任意一个则整个账本会对不起来,那这就是一个链条。每个人最后都拿到一个确认无误的账本,则认为整个账本是有效的(共识)。
假设有一个有输赢的网络游戏是可以由任意多人一起玩的 ,新玩家如果想加入这个游戏,在游戏开始前首先需要下载该游戏以前的所有的胜负记录,每个记录前后链接的 ,就是总账本,这个账本记录从0开始的所有已经发生过的胜负记录(每个胜负一个记录)。每一个胜负记录算一个区块,所有的区块被连在一起就是到目前为止的所有账本 ,这样的话每个新加入的玩家都会得到一个完整的账本。
虽然我可能没有在玩,但其他玩家在玩,每次游戏中有任何胜负变化则会由任意一个先得到胜负信息的玩家进行记账并把胜负信息发送到整个网络上 ,那么任何玩家包括我都会收到一个新的胜负记录,通过算法确认该胜负记录是真实的 ,就通知网络该笔记录真实有效,则网络上所有用户把该笔记录增加到现有账本上形成新的账本。
先完成并得到确认的记账者,网络游戏会奖励他一点钱,那就是比特币啦。
至此,形成了一个简单的完整的账本,一个区块链账本,由于网络上所有的玩家都有同样的账本,所以这就叫去中心化。
以上是区块链的简单描述,具体技术还包括
1. 如何验证玩家的真实性(RSA算法,Sha256)
2. 如何让网上所有玩家迅速收到所有的胜负信息(P2P技术,Kafak)
3. 玩家如何确认该胜负信息的有效(共识)
4. 玩家的奖励机制(比特币的出现)