发布网友 发布时间:2022-04-21 20:20
共1个回答
热心网友 时间:2023-08-15 21:27
从运作上看,比特币实际上是一个互联网上的去中心化账本。
1、中心化账本(银行)
银行是一个中心化账本,账本存储在银行的中心数据库,上面写着:
张三的A账号余额3000元,李四的B账号余额2000元……
当张三想要通过A账号转账1000元给李四的B账号时:
a张三到银行,向银行提交转账要求
b银行通过银行卡密码等方式确认张三身份,并检查张三的A账号是否有足够余额。
c检查通过后,银行增加一条转账记录:A账号向B账号转账1000元,
并修改余额:A账号余额=3000-1000=2000元,B账号余额=2000+1000=3000元
2、去中心化账本
假设有这样的一个小村庄,大家不是靠银行,而是自己用账本来记录谁有多少钱,每个人的账本上都写着:
张三的A账号余额3000元,李四的B账号余额2000元……
当张三想要通过A账号转账1000元给李四的B账号时,
a张三大吼一声:大家注意啦,我用A账号给李四的B账号转1000块钱。
b张三附近的村民听了确实是张三的声音,并且检查张三的A账号是否有足够余额。
c检查通过后,村民往自己的账本上写:A账号向B账号转账1000元,
并修改余额:A账号余额=3000-1000=2000元,B账号余额=2000+1000=3000元。
d张三附近的村民把转账告诉较远村民,一传十十传百,直到所有人都知道这笔转账,以此保证所有人账本的一致性。
3、去中心化账本(比特币)
比特币用户在电脑上运行比特币客户端软件,这样的电脑称为一个节点(node)。
大量节点电脑互相连接,形成一张像蜘蛛网一样的P2P(点对点)网络。
当张三想要通过A账号转账1比特币给李四的B账号时,当张三想要通过A账号转账1比特币给李四的B账号时,
a张三向周围节点广播转账交易要求:A账号转账1比特币给B账号,并用A账号的私钥签名。
(A账号的私钥可简单理解为A账号的密码,只要知道A账号的私钥就能使用A账号上的比特币)
b张三周围的节点通过A账号的公钥检查交易签名的真伪,并且检查张三的A账号是否有足够余额。
c检查通过后,节点往自己的账本上写:A账号向B账号转账1比特币元,
并修改余额:A账号余额=3比特币-1比特币=2比特币,B账号余额=2比特币+1比特币=3比特币。
d节点把这个交易广播给周围的节点,一传十十传百,直到所有节点都收到这笔交易。
比特币的去中心化公开账本称为区块链。这是比特币运行的一个最简化描述,当然比特币的实际运行远比这复杂。