Skip to content

区块链和比特币

发表于:2024-05-23 05:45:00阅读量:

在网络上,你向某人转一笔钱,通常会使用微信、支付宝、银行卡等方式。你能正常转账的前提,是因为你在这些第三方机构中存了这么多钱,他们记录你的余额,当你想花钱时,他们从你的余额中扣钱,在对方的余额中加钱,并记录这一笔转账记录。

而这能做这一切的前提是,你相信这些第三方支付结构背后的无数员工和机器不会搞错你的余额。

但如果没有这些可信任的第三方,在一个完全匿名的去中心化网络里,你该如何打钱?

2008年10月31日,署名为 Satoshi Nakamoto 的 ID,用一篇9页的论文解决了这个问题。

现在我们知道,这个名为中本聪的人创造了比特币和支持比特币运转的技术:区块链。

区块链

区块链是什么

区块链是去中心化的分布式账本数据库,通俗的讲,区块链技术就是一种全民参与记账的方式。

在区块链的世界里,转账需要发广播,目的是让每个人都知道网络里每一笔钱的来龙去脉,把两三千笔交易看做一个账本,这个账本,就是区块,把所有区块连起来,就是区块链。

它记录了比特币从创立到今天所有的交易记录,现在大概有 67 万个区块,每个区块里记录了两三千笔交易,包括你我在内的每一个账户有多少钱,从哪里来,花到哪去,都记得一清二楚,透明公开。

在区块链网络里,所有人都拿着一份相同且实时更新的账本。因此假如A要向B转账100元,那么大家就会检查自己的账本,A到底有没有100元,如果没有,转账就无效。

但这就引出了两个新问题:谁来给大家记账?怎么保证账本不被造假?

如果每一个人都能记账,那每个区块里包含的交易和交易顺序可能都不一样,如果有故意记假账的,那就更乱了。不可能得到一个大家都接受的账本。

所以,记账的人得让所有人都接受,这样大家的账本才能统一。这也被称为共识机制(对应传统的信任机制)。

共识机制

区块链技术提供的是"共识",通过不同的"共识算法"来达成共识的机制。

"共识算法"的作用是验证、认证并跟踪记录每一个区块中的交易,同时确保所有节点都遵守协议规则并保证所有交易都以可靠的方式进行,防止出现"一个货币花两次"这类欺诈。

比特币的共识方案是做题,称之为 PoW 工作量证明

工作量证明的本质是穷举,你的设备算力越强,算出答案的可能性就越高。

要算对确实不容易,但只要你算出来了,所有人就可以在瞬间验证你算没算对。如果确实没问题,大家就会把这个区块连接到账本上,开始打包计算下一个区块。

这样,网络里的所有人就都有一份相同且实时更新的账本了。

安全性

在每一个区块中,内部是添加至数据库的交易信息。每个区块都有一个区块头,区块头包含了时间戳、默尔克树树根哈希值、随机数和上一个区块的哈希值等信息,而把区块头做二次 SHA256 计算,就能得到这个区块的哈希值。

为了防止账本被篡改,每一个新加入的区块都需要在区块头里记录上一个区块的哈希值,也被称为哈希指针

这样一个不断向前的指针最终会指向第一个创始区块,把所有的区块紧紧链在一起。

如果你修改任何一个区块里的任何一个字符,都会改变这个区块的哈希值,让下一个区块的哈希指针失效。

这样,即使记账人想记造假也是做不到的。因为有电子签名,记账者不能伪造别人给自己的转账,又因为分布式账本的存在,你也不能凭空变一笔钱出来。

加密货币

比特币 BTC

区块链技术有很多应用领域,加密货币是其中的一种实现。

比特币是最初的加密货币,也是迄今为止最大的共识加密货币。

比特币的总量是有上限的:2100万。但是这并不会成为局限,因为实际交易的时候比特币可以划分成更小的次级单位(目前最小可以拆分到小数点后8位),即1 BTC = 1,000,000 bit。

关于比特币的更多问题,可以点击这里看官方介绍

挖矿

比特币是没有中心化发行机构的,因此为了保证比特币能在没有发行主体的情况下顺利发行,比特币的创始人中本聪为比特币的发行设立了奖励机制。

这个奖励机制是这样的:比特币每10分钟左右记账一次,记录比特币网络上的所有转账。

为了让大家有动力做题记账,第一个完成区块打包的节点会获得系统奖励,现在是 6.25 个比特币。从做题到上链的整个过程,也被称为挖矿

但是挖矿的矿工有很多,那奖励该给谁呢?

答案是谁长听谁的

现在有两个人同时完成了计算,那么所有人都可以在这两个区块后面接着打包。比如下一轮最先完成计算的的哥们选择接在 B 上,那么 B 链就更长了,其他人也会更愿意接在 B 后面。

打包 6 块之内一般就能分出胜负,被废弃的链上交易会被撤回,重新放到交易池等待打包。

51%攻击

既然是谁长听谁的,那么只要你比大家都能算,算力大于51%,就能自己一个人算出最长链,进而控制账本。

为了保证谁都不能控制记账权,比特币世界里的矿工算力越强,大家要算的题就越难。

但是参与者不多的其他加密货币就不好说了,比如 2018 年 5 月 15 日,一个叫比特黄金的数字货币就遭遇了 51% 攻击。

攻击者先是把自己的价值 1000 万美金的比特黄金转给交易所,这笔转账被记录在区块 A 上。同时,攻击者秘密准备了一个这笔转账没有发生的区块 B,并在区块 B 之后计算新的区块。

等 A 链上的转账确认后,攻击者就可以把在交易所的比特黄金提现。但因为攻击者的算力大于全网 51%,B 链的长度终将大于 A 链,这时只要向全网发布更长的 B 链,历史就会被改写。B 链会替代 A 链成为真正主链,而区块 A 里转给交易所转账也会被撤回,攻击者白赚 1000 万。

更多参考

下面这些文章可以帮助你更多的了解区块链和比特币技术: