所以,什么是比特币?

所以,什么是比特币?

一块比特币就是一个单位的电子比特货币 BTC,并且就像真实的一块钱货币一样,本身是没有价值的,只有在进行物品交易时才会产生价值。

在比特币系统里,有一个账本 Ledger,它是一个电子档案记录着所有的交易纪录。

这账本不是存放在一个中央机构,像是银行,或是一个资料库。它拥有无数份副本,散布存放在区块链网络上的每一台电脑里,而每台电脑我们称为「节点 node」。

如果 David 想用比特币转账给 Sandra,他就送一个讯息告诉网络说:他的账户减 5 BTC,然后 Sandra 的账户加 5 BTC。在网络中的每个节点都会收到讯息,并且将这笔交易记录到自己的账本里,然后更新账户的余额。

说到这里,关于账本是由一群电脑共同维护,而不是由一个类似银行的中心机构来掌管,有三个启发:

在银行系统中,我们只知道自己的交易纪录和账户余额,而在区块链网络里,每个人可以知道任何人的交易纪录。

一般来说你信任你的银行,而比特币是分布式系统,运行在网路上,任何事情发生错误,是没有客服人员可以帮你的。

区块链不是建构在信赖情感上,其安全性和可靠性是透过特殊的数学函数和代码达到的。

我们可以定义区块链是一个系统,它让一群互联的电脑安全地共同维护一份账本。

为了能在区块链网络里进行交易,你需要一个钱包 wallet,它让你可以存放和交易你的比特币。只有你可以花费你的比特币,所以每个钱包被特殊的加密法所保护着,使用一对独特且配对的钥匙:公钥和私钥,才能解锁。

如果一个讯息被公钥加密,只有配对的私钥才能解密读到讯息。反之,如果你用你的私钥加密讯息,只有配对的公钥可以解密。所以当 David 想要转账,他需要用他的私钥将转账讯息加密后,送到网络里,然后每个节点使用 David 的公钥将讯息解开,以确认是由 David 发送的。

在加密完成时会产生一个电子签名,它会被节点们用来确认交易讯息的发送来源和真伪。电子签名内容是一串文字,它是由交易讯息和私钥所组成的,所以不能用在其他的交易讯息上。如果你更改交易讯息中任何一个字元,电子签名也会跟着改变,所以骇客很难更改你的交易讯息或是得知交易金额。

钱包的公钥其实是网络里的一个位址 (send to address),所以当你转比特币给某人时,你其实是将比特币转公钥的位址。而且你必须证明你是私钥的所有人,才能进行转账。请注意,在网络里的交易讯息已经是被加密过的,你不用揭示你的私钥。

每个节点都保有一份账本,但节点是如何知道你的账户余额?区块链系统并没有记录每个人的账户余额,事实上,它只有纪录网络上每笔交易纪录。为了得知你的账户余额,你必须分析和验证所有曾经跟你钱包产生交易的纪录。

「账户余额」的计算和验证需要靠之前的交易纪录。举个例子,为了转出 10 BTC 给 John,Mary 先发起一个交易讯息,它包入了之前部分的转入交易纪录,只要这些纪录的转入金额加总起来刚好或大于 10 BTC 即可发送讯息。这些包入的交易纪录称作输入 inputs,每个节点会验证这些输入的金额加总是等于或大于 10 BTC。这些计算和验证会由钱包和节点自动完成,使用者不需要烦恼。

至于,系统如何信任这些输入?它去确认你的钱包在之前所有的转入交易纪录中是否真的有这些输入。为了简化和加速验证的过程,每个节点会保留一份特殊的资料来达到目的,也因为这个验证过程,钱不可能会无缘无故多出来。



作者:链闻ChainNews
链接:https://www.jianshu.com/p/4ba510db9457
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/tuxedolinux/article/details/80342101