区块链101:比特币交易是如何运作的?

简单的版本:

如果我想把我的一些比特币发送给你,我发布了我的意图,而节点扫描整个比特币网络来验证我是否有我想要发送的比特币,而2)还没有发送给其他人。一旦该信息被确认,我的事务就会被包含在一个“块”中,这个“块”被附加到上一个块中,因此“区块链”这个术语就会被包含进来。事务不能被撤消或篡改,因为它意味着重新执行后面的所有块。

变得有点复杂:

我的比特币钱包实际上并没有持有我的比特币。它所做的是保存我的比特币地址,它记录了我所有的交易,因此我的余额。这个地址——一个长串的34个字母和数字——也被称为我的“公钥”。我不介意整个世界都能看到这个序列。每个地址/公钥都有对应的64个字母和数字的“私钥”。这是私人的,我保密和安全是至关重要的。这两个键是相关的,但是你不可能从我的公钥中找到我的私钥。

这很重要,因为我从比特币地址发出的任何交易都需要用我的私钥“签名”。为了做到这一点,我将我的私钥和交易细节(我想要发送多少比特币,以及谁)放入我的电脑或智能手机上的比特币软件中。

有了这些信息,程序就会吐出一个数字签名,然后发送到网络进行验证。

这个交易是可以验证的——也就是说,我可以确认我拥有的比特币是我转账给你的,而且我还没有把它发送给其他人——通过将签名和我的公钥(每个人都知道)插入比特币程序。这是比特币的一个天才部分:如果签名是用与那个公钥相对应的私钥进行的,程序将验证该事务,而不知道私钥是什么。非常聪明。

该网络随后证实,我以前从未在我的地址历史上运行过比特币,因为它知道我的地址(=我的公钥),而且因为所有交易都是在比特币分类账上公开的。

更加复杂:

一旦我的事务被验证了,它就会被包含到一个“块”中,还有一些其他的事务。

一个简短的detour来讨论什么是“散列”,因为它对下一段很重要:哈希是由一个“哈希函数”产生的,它是一个复杂的数学方程,可以减少任何数量的文本或数据到64字符的字符串。它不是随机的-每次你放入特定的数据集通过哈希函数,你会得到相同的64字串。但是如果你改变了一个逗号,你就会得到一个完全不同的64字字符串。这整篇文章可以被简化成一个散列,除非我更改、删除或添加任何内容到文本中,同样的散列可以一次又一次地生成。这是一种非常有效的方法来判断是否发生了更改,以及区块链如何确认事务没有被篡改。

返回到我们的块:每个块包含了前面块的散列,作为其数据的一部分。这就是为什么它是链的一部分,也就是"区块链"因此,如果前一个块的一小部分被篡改,当前块的散列就必须改变(记住,哈希函数输入中的一个微小的变化会改变输出)。因此,如果您想要在前面的块中更改某些内容,那么您还必须在当前块中更改某个东西(=散列),因为当前包含的内容不再正确。这是很难做到的,特别是当你已经走到一半的时候,可能会有另一个块在当前的顶部。你也必须改变这个。等等。

这就是为什么比特币实际上是防篡改的。我说实际上,因为这不是不可能的,只是非常非常非常非常困难,因此不太可能。

有趣的

如果你想沉迷于某种无意识的迷恋,你可以坐在办公桌前观看比特币交易。信息是很好的,但是如果你想要一个有趣的版本,试试BitBonkers。

原文发布于微信公众号 - 智能计算时代(intelligentinterconn)

原文发表时间:2018-03-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链入门

【区块链实践案例】基于以太坊区块链的电子存证应用

传统的电子存证简单来说就是将源信息经过加密存储在一个具有公信力的独立第三方处,并绑定时间戳、创建人等信息用来证明在某个时间点存在这样的信息。举例来说,对于原创作...

34920
来自专栏圆方圆学院精选

【许晓笛】深入理解 EOS 账户权限映射

名词解释:本篇文章出现很多 “Action” 和 “Active”,Action (动作)为 EOS 中账户可以接受的动作,也就是别人可以对你做什么;Activ...

11220
来自专栏FreeBuf

区块链安全技术总结

区块链的安全需求越来越多,下面就将这些需求一一拆分,看看区块链安全需求到底是个什么样子。

29440
来自专栏liuchengxu

用 Parity 发送 ERC20 Token

Parity 是以太坊的 Rust 实现,它也内置了一个钱包。用过 Parity 的人都知道,用它发送 ETH 非常简单,点几下就行。但是可能不少人还不知道如何...

13540
来自专栏申龙斌的程序人生

Bitcoin Core钱包常用的命令行参数

对于踏入币圈的朋友,我一直强烈建议要学习Bitcoin Core钱包软件,因为BitcoinCore这款全节点钱包是中本聪(比特币的发明人)最早实现的,虽然下载...

27320
来自专栏DannyHoo的专栏

iOS开发中解决Compiling IB documents for earlier than ios 7 is no longer supported的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

10010
来自专栏圆方圆学院精选

【许晓笛】EOS 的世界里可能再也没有小偷了

EOS 有可能会强制要求所有账户的 Owner 权限必须使用多签名,也就是说 Owner 权限列表里要有至少两个私钥或其他账户,这样就减少了因为单个私钥泄露而导...

13320
来自专栏丑胖侠

以太坊实战之《如何正确处理nonce》

问题概述 以太坊系列(ETH&ETC)在发送交易有三个对应的RPC接口,分别是eth_sendTransaction、eth_sendRawTransactio...

41760
来自专栏区块链入门

第十三课 如何在DAPP应用实现自带钱包转账功能?

区块链是一个伟大的发明,它改变了生产关系。很多生态,有了区块链技术,可以由全公司员工的"全员合伙人"变成了全平台的”全体合伙人”了,是真正的共享经济模式。

19260
来自专栏区块链源码分析

比特币源码分析之一:总览

本文主要讲解比特币源码,下一篇文章会介绍比特币交易是如何通过非对称加密机制来完成安全交易的,欢迎大家互动留下问题和希望讲解的题目。

970170

扫码关注云+社区

领取腾讯云代金券