3 区块链的实现:账户
3.1 预备知识:中心化账户
以中心化账户的在线支付系统为例来说明其转账过程。假设A,B二人要通过中心化账户(例如,支付宝)进行转账。他们都在中心化账户管理组织开设有账户。账户上有多少钱是账本上记录的数字。当A转账100元给B时,管理组织(银行等)在A的账户记录上减掉100元,在B的账户记录上增加100元。这样转账交易就完成了,更新了账本里边的账目。
对于中心化在线支付系统,它的账本通常存储在中心化的服务器中。
如图4 所示,A和B两个账户之间的转账操作。
图4 中心化账户
3.2 预备知识:分布式账户
比特币区块链网络中没有中心服务器。参与的节点共同形成一个去中心网络。
图5 分布式账户
对于比特币区块链系统,它背后的系统是一个去中心网络。网络节点共同维护一个分布式账本,如图6所示。
图6 分布式账本与去中心网络
3.3 中心化账户的实现
3.3.1 概述
某学校里边使用TokenCredit来进行购物。例如,Token可以购买铅笔和橡皮。
学校里边有很多同学。每个同学都有一个身份。由该身份表示其账户。账户记录了Token的数量。
每个同学都默认分配固定数量的一些Token。
3.3.2 内容
定义学生类
定义账户
3.3.3 流程图
流程图如图7所示。
图7 中心化账户的流程图
3.3.4 Code01
代码如图8所示。
图8 中心化账户的实现代码
3.3.5 Code01 Output
Student:A has 20.000000 credits
Student:B has 20.000000 credits