主页 > V绘生活 >区块链如何运作? >

区块链如何运作?

时间: 2020-06-19 浏览量:499

区块链如何运作?
区块链如何运作?

原文为《How Does the Blockchain Work?》。译者简志伟,为软体开发者,译文刊载于 Medium 。INSIDE 获授权部分转载,完整文章请至译者 部落格 观看。

这篇文翻译自」How Does the Blockchain Work?」全文。作者 Michele D'Aliessi 用浅白易懂的文字阐述比特币和区块链的运作原理,是一篇很棒的入门文章,因此我决定挑战翻译看看,让更多人了解这个技术。

本翻译文已取得 Michele D'Aliessi 的同意,全文如下:

自网路问世以来,区块链技术可能是目前为止最棒的发明。它让我们不用倚靠在无形的信赖或权威机构来做利益交易。举例来说,我和你打赌 50 元明天旧金山的天气。我赌它会是晴天,你赌它会是雨天。我们会有三种方式来完成交易:

  1. 我们信赖彼此。不论结果是晴天或雨天,输家要给赢家 50 元。如果我们是朋友,这会是一个好的交易方式。然而,即便是朋友,也有可能会赖皮不认输而不愿付钱,更何况是陌生人。
  2. 我们可以订定合约,如果有任何一方不愿付钱,赢家可以告输家。但要花钱花时间打官司,只为了讨回 50 元,实在是得不偿失。
  3. 我们找一个中立的第三者,每人分别先给她 50 元,结果揭晓后,她再把所有的钱 100 元给赢家。无奈的是,这个第三者有可能捲款潜逃。

我们无法信任陌生人,也觉得打官司劳神伤财。区块链技术很有趣,因为它帮我们实现第三个交易方式,而且安全、快速和便宜。

我们可以只写几行程式码,让它执行在区块链网络上,进行交易。以打赌天气的例子,这支程式会确保 100 元的安全,并且一到明天会自动确认天气状况,结果揭晓后,也会自动将 100 元汇到赢家的帐户里。在区块链网络上的交易,是无法被窜改或停止,而且益于大型交易,如卖一间房子或一家公司。

本文的目的是不用艰涩的技术用词来解释区块链是如何运作,给读者技术背后拥有的逻辑和机制的基本概念。

比特币 是最为人所知的一项使用区块链技术的应用。电子货币可被用来做物品交换,就像美元、欧元、人民币和其他国家的货币。我们先来说明比特币是如何运作,说明过程中会一点一点带入区块链的概念。

-Marc Andreessen

所以,什幺是比特币?

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

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

 
区块链如何运作?
图 1. 比特币电子帐本

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

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

 
区块链如何运作?
图 2. 请求交易讯息

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

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

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

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

 
区块链如何运作?
图 3. 电子签名与加密交易

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

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

 
区块链如何运作?
图 4. 区块链网络的帐本

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

  区块链如何运作?
图 5. 区块链的交易讯息结构

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

在比特币网络上执行交易的程式码都是开源的,这表示任何人只要有电脑和网路就可以进行交易。然而,程式的错误有可能导致你的比特币会不见。还记得吗?比特币是分散式网络,并没有专属的客服人员替你找回遗失的钱或钱包密码。所以你想要用比特币进行交易,建议使用正式的比特币钱包软体 ,并且妥善保存你的钱包密码或私钥。

上一篇: 下一篇:
相关推荐
tyc申博sunbet官网|汇聚各地新闻|地区生活消费|网站地图 申博官网备用网址_金沙贵宾会2233049 申博官网备用网址_interwetten和澳门对比