/
登录
 找回密码
 立即注册

只需一步,快速开始

发帖
首页 wb3 数据 仔细聊聊比特币,拆读《白皮书》-02

仔细聊聊比特币,拆读《白皮书》-02

昨天 23:32 评论(0)
接着上一篇,我们继续聊聊《比特币白皮书》的第 2 部分:交易。
交易 (Transactions)

还是老规矩,原文和中文翻译放在这里,便于中英文对照,有条件的可以原文理解。
We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership.
我们将⼀枚电⼦硬币定义为⼀个数字签名链。⼀位所有者将⼀枚硬币交给另⼀个⼈的时候,要通过在这个数字签名链的末尾附加上以下数字签名:上⼀笔交易的哈希(hash,⾳译,亦翻译为“散列值”),以及新所有者的公钥。收款⼈可以通过验证签名去验证数字签名链的所属权。
1.png


The problem of course is the payee can't verify that one of the owners did not double-spend the coin. A common solution is to introduce a trusted central authority, or mint, that checks every transaction for double spending. After each transaction, the coin must be returned to the mint to issue a new coin, and only coins issued directly from the mint are trusted not to be double-spent. The problem with this solution is that the fate of the entire money system depends on the company running the mint, with every transaction having to go through them, just like a bank.


这个路径的问题在于收款⼈⽆法验证曾经的所有者之中没有⼈双重⽀付过。常⻅的解决⽅案是引⼊⼀个可信的中⼼化权威⽅,或称“铸币⼚”,让它去检查每⼀笔交易是否存在双重⽀付。每⼀次发⽣交易之后,硬币必须返回到铸币⼚,铸币⼚再发⾏⼀枚新的硬币。进⽽,只有铸币⼚直接发⾏的硬币才是可信的、未被双重⽀付过的。这个解决⽅案的问题在于,整个货币系统的命运被拴在运营铸币⼚的那个公司(就好像银⾏那样)身上,每⼀笔交易必须通过它。



We need a way for the payee to know that the previous owners did not sign any earlier transactions. For our purposes, the earliest transaction is the one that counts, so we don't care about later attempts to double-spend. The only way to confirm the absence of a transaction is to be aware of all transactions. In the mint based model, the mint was aware of all transactions and decided which arrived first. To accomplish this without a trusted party, transactions must be publicly announced 1 , and we need a system for participants to agree on a single history of the order in which they were received. The payee needs proof that at the time of each transaction, the majority of nodes agreed it was the first received.


我们需要⼀种⽅式,可以让收款⼈确认之前的所有者并没有在任何之前的交易上签名。就我们的⽬的⽽⾔,只有最早的交易是算数的,所以,我们并不关⼼其后的双重⽀付企图。确认⼀笔交易不存在的唯⼀⽅法是获悉所有的交易。在铸币⼚模型之中,铸币⼚已然知悉所有的交易,并且能够确认这些交易的顺序。为了能在没有“被信任的⼀⽅”参与的情况下完成以上任务,交易记录必须被公开宣布 1 ,进⽽我们需要⼀个系统能让参与者们认同它们所接收到的同⼀个唯⼀的交易历史。收款⼈需要证明在每笔交易发⽣之时,⼤多数节点能够认同它是第⼀个被接收的。

什么是交易
我们来看看这一段讲了哪些内容?
总结起来就是,比特币的交易系统通过“数字签名”技术、公钥和私钥的加密机制来确保交易的安全性和有效性。每个比特币的交易都必须经过“签名”,即交易发起者用自己的私钥对交易进行签名,任何人都可以用公钥来验证这个交易。
等一下,什么什么交易?什么什么钥匙?简直一头雾水!别着急,我们一条条来破:
什么是“交易”呢?可以简单理解为:转账。
交易是指你把比特币从一个地址转移到另一个地址。就像你把一笔钱从你的银行账户转到另一个人的银行账户一样,只不过比特币交易是完全通过区块链网络来完成的。
比方说,你有 1 个比特币,想要发送给朋友小明,那么你就创建一个交易,交易内容包括:你的地址xxx(发送比特币的地方),小明的地址xxx(接收比特币的地方),金额xxx(你要发送多少比特币)。
这个交易会被广播到比特币网络,由网络中的矿工(或者说验证者)来确认并加入到区块链中。
什么是数字签名
什么又是“数字签名”呢?可以简单理解为:签字。
为了确保交易的合法性,比特币使用了“数字签名”。这就像是你签字确认交易一样。每次交易,你都需要用到一个叫做私钥的东西。
私钥:是你拥有比特币的唯一证明,就像是银行卡的密码一样。只有你知道这个私钥,别人无法轻易地访问你的比特币。
公钥:是公开的,你可以把它告诉别人,它就像银行卡的账户号一样,别人可以通过公钥把比特币转到你的账户。
签名过程是这个样子的:你发起交易,使用私钥对这笔交易进行“签名”。这个签名证明是你发起了交易,只有你知道这个私钥,别人无法伪造这个签名。交易一旦签名,就能被广播到比特币网络,并由网络中的其他节点进行验证。
打个比方:假设你和小明做交易。你需要证明这笔交易是你发起的,而不是别人冒充你来转账。你用你手中的“钥匙”(私钥)对这笔交易进行加密,生成一个“签名”。小明拿到这笔交易后,他可以通过你的“公钥”来验证,确认是你发起的交易,且交易内容没有被篡改。
如何验证交易
比特币交易的一个关键点是验证交易的真实性。在传统银行转账中,你只需要信任银行就能相信交易有效。但在比特币中,所有的交易都是公开透明的,任何人都可以验证。
那问题来了,如何验证呢?
当你发起交易后,比特币网络中的其他节点(矿工、用户的电脑)都会用公钥来验证这个签名。
如果验证通过,就表示交易是有效的,交易记录就会被加入到区块链中。
举个栗子:如果你发起了一笔比特币转账,小明的电脑就会通过“验证工具”使用你的公钥来确认交易签名是否正确。通过验证后,他会知道交易是真的,没有被修改过。
并且,这个交易是透明的,所有人都能看到。
比特币的所有交易信息都会被记录在区块链上,这是一种“公开账本”,任何人都可以查看。
比如你和小明的交易,所有人都能看到这笔交易的时间、金额、发送方和接收方的地址(不过不直接显示你们的身份)。
你可以通过区块浏览器(比如:blockchain.com)输入比特币地址,查看任何一笔历史交易。
为什么不需要银行验证
也交易了,也签名了,也验证了,你会不会好奇,为什么不需要银行来验证呢?
因为银行做的三件事,区块链网络全都能自动完成,而且更安全、更公平。
银行在传统系统里干三件事:记账:谁转给谁多少钱,银行在自己的服务器上写一笔记录。验证:银行检查你账户里有没有钱,有就扣掉,没钱就拒绝。防造假:银行保证你不能一笔钱花两次(比如花完又反悔)。
问题是,银行的账本是私有的,只有它自己能改。万一出错、被黑、甚至恶意冻结账户,你就没辙。
比特币厉害的地方就在这里:它把银行这三件事,全都分散给全世界成千上万台电脑来共同完成。
1️⃣ 记账 —— 不靠银行,靠“全网一起记”在比特币世界里,没有一个人是“总账房”,而是每个人都保留了一本一样的账本副本(也就是区块链)。每次有人转账,消息会被广播给全网。所有电脑(节点)都记录下这笔交易。经过验证后,这笔交易被加进账本,所有账本同步更新。所以,这个账不是存在一个地方,而是分布在全世界。想造假?你得同时改掉上万台电脑的账本,几乎不可能。
2️⃣ 验证 —— 不靠银行,靠“数字签名”银行验证你账户的钱够不够;比特币验证你是不是这笔钱的“真正主人”。它的验证靠一对“钥匙”:私钥(像银行卡密码,只你知道)公钥(像银行卡号,别人可以知道)你要花比特币时,用私钥签个名,就说明你同意这笔交易。这个签名数学上是唯一的,别人无法伪造。所以全网的电脑都能检查出:“哦,这个签名确实来自那个人,不是别人冒充的。”银行是人工审核;比特币是数学验证,不靠信任,靠算法。
3️⃣ 防造假(防止一笔钱花两次)—— 靠“全网共识”银行防止你“一笔钱花两次”,靠的是它的数据库。比特币防“双花”,靠的是全网共识机制。什么意思?每次交易都要被“矿工”打包成一个区块,谁先打包成功(通过计算),全网就认定那笔交易是真的。这叫“工作量证明”,意思是:“我花了算力和电力来写这笔账,谁改就得付出更大的代价。”而且,每个新区块都接在上一个区块后面,要想改账,就得把后面的所有区块都改掉。所以:越往后的交易越安全。

您需要登录后才可以回帖 登录 | 立即注册
楼主
郭阳

关注0

粉丝0

帖子1

最新动态