一、内容导读
万物皆有象,一千个人眼中有一千个哈姆雷特,对于区块链来说,不同的人对区块链的理解也会不同。
我们主要是从技术人员的角度去思考为什么比特币发明者中本聪要使用这项技术,这样可以让我们更好的理解区块链技术的基本原理。
二、知识点
区块链
分布式账本
密码学
数字签名
双花攻击
数据结构
三、区块链技术为什么会产生
区块链技术的产生有偶然性,也有其必然性。2008年,世界正处于次贷金融危机之中,
2008年11月1日,一位自称中本聪的人在网络中发表了一篇论文,这篇论文也是后来鼎鼎有名的比特币白皮书 《比特币:一种点对点的电子现金系统》,这篇论文给人们描绘了一种全新的数字货币系统比特币,具体内容文末可下载。
我们知道,基本货币人民币,美元,欧元等货币是由国家背书才能够被民众所接受的,在日常生活中流通。但是比特币是没有任何国家或机构为其背书的,因此如果要想被大众接受,中本聪面临的问题就是如何利用技术手段给其发布的比特币进行背书。
从技术人员的角度看,要实现一个比特币或者一个电子现金系统,实际上就是要实现一个账本,技术上主要需要解决以下几个问题:
- 账本不能丢失或损坏
- 账本不能被篡改
- 证明你是你
- 同一样一份货币资产,能且仅能花费1次
1、账本不能丢失或损坏
如何保证账本不能丢失或者损坏呢?正常很容易想到的是多个人共同记账并保存多份,也就是分布式账本,这样就不用担心账本丢失或损坏的问题。
2、账本不能被篡改
多人记账的分布式账本同时也带来一个好处,就是账本不那么容易被篡改了,任何人想要修改的都是本地账本,在其他账本保存方不同意的情况下,改不了整体的账本,也就是说他的修改别人不认可。
3、证明你是你
分布式账本是一个匿名的虚拟化网络,由于货币的命感性,为了让人放心的加入到网络中一起使用数字货币,就需要证明你是你。
也就是说 A 账户只有 A 才有权利对其进行管理,A可以选择充值 / 转账或其他交易,但是在做这些交易的时候, A 必须证明这个账户是他的。
这不是个新问题,使用密码学的数字签名就可以解决,设计对应数字签名主要注意 2 点:
(1)A 签名过的交易,其他人可以验证
(2)其他人不能通过 A 的交易或者其他任何方式防造出 A 的签名交易
4、****同一样一份货币资产,能且仅能花费 1 次,不能花费 2 次或多次
数字货币的基本安全性通过密码学和分布式账本保证,相比于纸币其好处是不会存在假币,当然也存在一定风险。
交易的时候,当纸币从 A 给到 B 时,整个交易结束。但数字货币不同, 比如 A 转账 5 个比特币给 B,当这比交易在网络中执行但还未确认完成时, A 可以选择再转账 5 个比特币给 C,对于系统来说,这两笔交易都是合法的因此会被传播到整个网络中,这个问题就是数字货币面临的 【双花攻击】 或者 【多花攻击】。
中本聪解决双花攻击的问题很简单,就是设计一个强时序性的数据结构。他把若干交易打包成一个块 block,对于双花攻击里面的两笔交易,打包到同一个块时会被检验出不合法,最终只有一笔交易会被打包到块,打包到块中的交易就是系统确认过的。
系统将先新产生的块挂到之前产生的块的后面,这样整体就形成了一个链表的数据结构。因此比特币数字货币系统就是在网络中不停的收集交易打包成块,然后挂在之前的块上。中本聪并未给这种结构命名,后来大家把它统一叫做 【blockchain】区块链。
通过前面的介绍,相信大家已经明白区块链的由来了, chain of blocks 只是一种数据结构,我们现在所说的区块链是虚拟数字货币背后技术的总称,它包括密码学、网络、数据结构、算法等各种技术。
版权归原作者 菜鸟实战 所有, 如有侵权,请联系我们删除。