Skip to content

区块链科普

🕒 Published at:

什么是区块链

由链连接的一个个区块构成,特点是去中心化。

是分布式账本,有一个大帐本,还有无数小账本,人人可以参与记账,共同维护,解决了信任问题,因为只要有任何一方有篡改,那么就会和别的账本不一致,这样就可以保证数据的安全。

挖矿:指区块链网络中的一种奖励行为,为了激励大家参与数据维护,会发放一定量的比特币作为奖励。

挖矿原理:每隔一段时间,就需要矿工把没有确认的交易收集起来,进行处理,谁能最先处理好数据,并进行广播,得到大部分的确认没问题,就会得到奖励。参与挖矿的人越多,参与数据确认的人也就越多,我们的数据也就越安全。

区块链的分叉:是一种区块链的升级机制。相当于现有区块链中,某一个区块开始,他的下一个区块有 2 个,相当于从这里开始,有两条路径可选,像树枝一样。分为硬分叉和软分叉,逐渐过渡的是软分叉,隔离开的是硬分叉。

分类:共有链,私有链,联盟链。对任何人开发的是共有链,属于个人或者公司的是私有链,属于几个公司组成的联盟的是联盟链。共有链开放程度最大,去中心化最大,但是效率最低。私有链开放程度最低,去中心化最低,效率最高。

区块链的核心技术:分布式存储,共识机制,智能合约,密码学。分布式存储就是每个人那里都有一份小账本;共识机制就是决定谁获得数据的记账权的机制,也就是该用哪个矿工记录的数据;智能合约就像合同,是一种大家的约定,部署在链上,起到数据执行的作用;密码学起到数据安全和数据证明的作用。

区块链中的密码学:

区块链中主要用到的两个算法是哈希算法和非对称加密。

  1. 哈希算法:是一个函数,用于将任意长度的二进制数据转换为固定长度的二进制数据,这个固定长度的二进制数据就是哈希值。 它具有三个特点: 一是哈希值是不可逆的:由一个哈希值是无法反推算出它的原始输入值的,所以哈希加密能保障原始数据的安全。 二是哈希值是不可变的:对于输入值的改变,哪怕只是一小点的变化,哈希值的变化也会非常大。所以区块链中的每一个区块,都会以上一个区块的哈希值作为标识,除非有人能破解整条链上的哈希值,否则数据一旦被记录,就不会被篡改,因为只要改了数据,他的哈希值就变了,那么这个区块就会从链上断开。 三是哈希值是抗碰撞的:也就是两个不同的输入,是不会得到相同的哈希值的。区块链中的交易和地址就是用哈希生成的,这保证了交易和地址的唯一性。

  2. 非对称加密:是一种加密方法。比如钥匙和锁,用同一把钥匙去加密和解密,那就是对称加密,钥匙也就是密钥。而非对称加密有两个密钥,一个私钥,一个公钥,公钥是公开的,私钥是私有的,公钥可以解开私钥加密的内容,私钥也可以解开公钥加密的内容。在区块链中,它并不是用来加密数据的,而是用来解决身份验证问题的。

区块链中的分布式账本

是一种数据存储的技术,是一个去中心化的分布式数据库。分布式数据库的诞生,主要是为了解决单一数据库的种种问题,比如某一数据库瘫痪了,那么还能有别的数据库顶替。没有一个中心,大家都能访问就是去中心化。分布式账本的作用不只是保障了数据的多重备份,同时还赋予了去中心化的属性,防止巨头的数据垄断。

拜占庭将军问题

本质上是区块链中,如果某一节点发送错误信息,或者节点中产生了分歧,该怎么办的问题。 具体背景是:拜占庭帝国想要攻打一个国家,他派出了多支军队进行围攻,但敌方也很强大,军队必须在同一个时间一起发动进攻才能胜利。现在的问题是,军队分散在敌国的四周,只能依靠通信兵骑马互相通信来确定进攻时间。但是通信兵可能在送信过程中被敌方击杀,而且这几支军队中有叛徒存在,可能会向别的军队传达虚假指令。这种情况下,怎么才能获取胜利? 推广到区块链,相当于区块链中,可能有节点因为网络问题,发不了信息,或者有节点恶心发送错误信息。 拜占庭容错:是一种数学观点证明,简单来说就是,信息的伪造和错误并不重要,只要诚实的将军数量大于总数的三分之二,整个系统也可以达成一致。 基于拜占庭容错的观点,诞生了很多解决拜占庭将军问题的方案,比如共识机制。

共识机制

就是一套每个节点都要遵守的规则,规定了每个节点如何记账,节点之间如何交换信息。 目前主流的有两种,一种是 pow 共识机制,一种是 pos 共识机制。

  1. pow 共识机制:也就是 proof of work 工作量证明,最早是用来解决垃圾邮件问题,目前是区块链中主流的共识机制。主要是通过竞争记账的方式来解决各个节点间的一致性问题。原理是:每一个节点都能参与数据处理,也就是打包区块,每一个区块都要依靠自己的计算能力与他人竞争,争夺记账的权利,也就是每隔 10 分钟,参与的节点会进行 1 次算力竞赛,也就是不断寻找一个随机数 Nonce,谁先找到满足异地过条件的 Nonce 值,且通知全网,获得大部分认可,就会获得记账的权利,它所打包的区块会连接到区块链的链上,同时,它处理的数据,也会被别的节点的账本记录,然后他会得到一定的比特币作为奖励。通过算力竞赛的方式,提高了攻击者的成本,理论上除非它能掌握全网 51%以上的算力,否则整个网络的任何东西,都是无法被篡改的。它的缺点就是,浪费大量的计算资源,性能效率低下等等

  2. pos 共识机制:也即是 proof of stake 权益证明。简单来说,就是谁拥有的权益多,谁说了算。它是在 pow 的基础上做了改进,pow 允许所有人都可以成为节点,参与算力竞赛,抉出记账权。而 pos 则提高了门槛,虽然所有人都可以成为节点,但是只有拥有足够的权益(比如抵押一定数量的代币)的节点才能成为验证节点,每隔一段时间,系统会从验证节点中挑选出节点来给他记账权,每隔一段时间会重新选择,系统保证选择的随机性,记账完成后会得到奖励。它解决了资源浪费的问题,但它的缺点是,容易造成强者恒强的局面,理论上谁能掌握全网 51%的代币,谁就能掌握整个网络,所以他的去中心化更弱一些。

智能合约

也就是一种约定,当满足一定条件后,程序自动执行的技术。人与机构的智能合约还是挺普遍了,比如无人售货机。但是人和人之间的智能合约却还没有普及,当没有一个中心化的机构来做担保,那交易双方如何保证合约的执行?这就是智能合约解决的问题。依托于区块链,它能被搭建在应用层中,记录在区块上,保证了不可篡改,和透明公开,同时当满足条件时,智能合约也会自动执行。

双花问题

意思是一笔钱被花了两次,分两个子问题,一种是因为同步延迟的问题,导致一笔钱被重复花了几次;另一种是一笔钱只使用了 1 次,但是通过黑客攻击或者造假的方式,把这笔钱又复制了 1 份,再次使用。传统的中心化交易,由中心化机构解决这个问题,但是区块链中,因为交易需要广播有延时,所以更容易发生双花问题。 共识机制中引入了时间戳和 UTXO 模型来解决问题

UTXO 账户模型

中文意思是:未花费交易输出。它不只是记录交易结果,而是把交易过程都记录下来,本质是一种流水记账。可以由记录值反推出整条交易链路。通过可追溯的链路,解决了第一种双花问题。

时间戳

时间戳就是数据的生产日期,用来证明数据在某个时间点已经存在,用来解决第二种双花问题。

侧链技术

让链和链之间产生价值交互的一种技术,简单来说,就是建立新的一条区块链,与原有的一条链产生联系,资产可以在两条链中进行转移。主要应用于弥补原来的链的不足。原来的链叫主链,新的链叫侧链。一般来说,资产只能在一条链中转移,之所以这里可以做到在两条链转移,主要是使用了双向锚定的技术。例如,当主链的一定数量的比特币要转移到侧链时,就把主链的同等数量的比特币锁定,在侧链放出同等数量的侧链代币。同理,当从侧链向主链转移时,侧链的代币锁定,主链释放同等数量的比特币。

跨链技术

跨链技术就是侧链技术的升级版,只不过从之前的 1 对 1 的关系变成了 1 对多。就是让多条链之间产生价值交互的一种技术。解决了各条区块链之间形成的孤岛问题。 实现跨链的方式:

  1. 公证技术:提出一个公共的协议,能适用于各条链的系统,大家都以此作为统一的支付标准
  2. 中继:建一条的新的链,让其他链与这条新链产生联系。相当于是需要跨链的这些链都有一条相同的侧链,大家都通过这条侧链来作为中介进行价值交互(okc 就是用的这种技术)
  3. 分布式私钥控制:相当于建立一个去中心化的银行,各条链通过这个银行来进行价值交互
  4. 哈希锁定(在闪电网络中讲)

闪电网络

2015 年提出来,用来解决比特币交易拥堵的一项技术。比特币最开始设计的时候,一个区块只有 1M 大小,只能记录上千笔交易,很快容量就不够了,造成拥堵。社区提出两个方案,一种是扩大比特币区块容量,另一种是不扩容的方案。闪电网络就属于不扩容的方案。 原理是:交易过程中,把交易的过程放在链下,在链下记录交易副本,在交易完成后,把交易的结果再拿回链上,再进行全网广播。相当于把交易的过程放到了侧链,主链只需要记录结果,解决了拥堵问题。同时,因为交易的过程是在链下进行的,只需要智能合约来执行,不需要每一步都进行全网的广播和确认,所以大大提升了处理效率。 闪电网络也能进行跨链,它要求需要跨链的两条链都支持闪电网络,两条链都将资产暂存到链下的通道中的临时账户,通过哈希锁定,让不同链的资产在兑换时能同时结算

隔离见证技术

也是一种解决区块链拥堵的方案,不同于闪电网络的链下处理方案,它是在链上进行的。之前提到的直接扩大区块容量其实比较有争议,因为区块容量扩大后,可能会导致一些节点无法完成区块验证工作,也会导致全网算力的下降。所以这是一种不修改区块容量的技术。 原理是:腾空间。一般交易记录会含有交易信息和非交易信息(比如谁的私钥签名等等),把非交易信息剥离出来,放到新的结构中,从而腾出空间来。

分片技术

为了解决区块链的效率问题和可扩展性问题而诞生的技术。背景是,区块链是一条链式结构,在这条链上需要处理很多工作(比如交易记录、智能合约、记账、数据记录、数据存储、数据安全等等),这些工作糅合在一起,影响效率。分片技术是分而治之的原理,就是把每个区块划分成一个个分片,每个分片承担不同的职责,节点也分散到各个分片上,每个分片上的节点聚焦自己的工作,大大加快效率。但这样会降低区块链的中心化程度,也降低安全性。因为原理黑客攻击的话,需要攻击全网的大部分节点才能达到效果,使用分片技术后,黑客只需要搞定这些节点中的分片就可以了。所以有一个新的机制,会生成随机数,为其他分片分配节点。因为节点是随机分配的,黑客就很难知道节点都有谁。

区块链基础技术总结

主要是四大技术:分布式账本、共识机制、密码学、智能合约,分别起到了数据的存储、数据的处理、数据的安全、数据的应用的作用,共同构成了区块链的基础框架。在这些技术的基础上,区块链仍然面临着效率问题、可扩展性问题、价值孤岛的互操作性问题,通过引入侧链、跨链、闪电网络、隔离见证、分片等技术来解决这些问题。

比特币

是一种投资商品,数字资产,数字黄金。由中本聪发明的,具有总量恒定,机制透明,不受任何控制,由机器来执行的特点。

比特币与区块链的关系

中本聪最早只是想创造一种去中心化的数字货币,也就是比特币。但是人们发现,比特币的底层机制十分优秀,于是提取出来,形成了区块链技术。比特币相当于是区块链的一种应用。也迎来了以数字货币为代表的区块链 1.0 时代。

什么是数字货币的减半

一开始中本聪在设计比特币的时候,使用的是一个总量恒定的通缩型经济模型,也就是每 10 分钟会产生一个新的区块,每个区块带来 50 个比特币。而每产生 21 万个区块之后,也就是每过 4 年之后,区块带来的比特币奖励就会减半,也就是从第 21 万零 1 个区块开始,每个区块只带来 25 个比特币奖励。依此类推,当到第 33 次减半之后,每个区块的奖励会从 0.0021 个比特币奖励直接变为 0。所以总体算下来,比特币的总量就只有 2100 万枚。这就是减半机制,大部分的数字货币都沿袭了比特币的这一机制。

莱特币

是主流币的一种,创始人是李启威,因为早期比特币网络拥堵,交易速度慢,所以他想打造一个对标比特币支付,更轻更快的数字货币,也就是莱特币,其实就是山寨比特币。早期不愠不火,后来因为勇于试验新技术,所以被当作比特币的试验田,发展不错。

以太坊

以太坊是数字货币中,除比特币之外,最有开创意义的一个项目。以太坊就是一个开源的,能让大家自由开发智能合约的区块链公共平台,就像安卓或者 windows 这类的操作系统,它能提供一套专门的脚本语言,让大家可以随意地在上面开发各种区块链式的应用程序。以太坊虽然是平台,但是他和数字货币有紧密的关系,因为以太坊中的 Gas 机制。在以太坊的工作原理中,所有用户写好的智能合约都需要通过一个叫做虚拟机的东西作为介质去执行,而这个介质会被以太坊网络中参与的矿工共同维护,进而形成一个属于以太坊的计算网络。当你想要执行智能合约时,都需要通过这个计算网络去进行处理,并且会消耗一定的网络资源,而你也需要承担一定的成本。在以太坊网络中,衡量智能合约运行成本的标准就是 Gas。在以太坊网络的设定中,Gas 就是智能合约的运行燃料,用户想要执行智能合约时,就需要向矿工购买 Gas,如果用法币的话不管是跨境转账还是汇率都比较麻烦,于是以太坊就参照比特币的模式,也搞了一套数字货币体系来解决这个问题。即可以作为激励机制,奖励矿工,又可以充当手续费。所以以太坊本身的定位虽然是区块链版的操作系统,但是它也做了属于自己的数字货币。

以太坊带来的影响

在以太坊之前,区块链只有数字货币这种用途,以太坊开创了区块链技术在别的方向的应用。以太坊在上方应用层的层面,给出了一套编程语言,让用户可以通过智能合约,自由地开发去中心化 app,在下方数据管理层面,则通过 pos 共识机制,打造了一个去中心化的数据库,让用户数据归属于用户自己。以太坊开创了区块链 2.0

比特币的历史

1999 年由密码学大牛组建密码朋克(cypherpunk)论坛,之后产生过一些数字货币,直到 20008 年,一个中本聪的 id 在密码朋克论坛中发表了比特币白皮书。哈尔芬尼,比特币的第二父亲,密码朋克论坛成员,密码学大牛,已去世。中本聪曾活跃在 bitcointalk 论坛,但在发生维基解密事件后消失。在此之后国内爆发了挖矿浪潮。而国外,则是由 V 神在比特币社区发布了 eth 白皮书,并带领团队筹集了 31000 个比特币,总共 1800 万美元,在瑞士成立了 eth 基金会,开启了区块链 2.0,2015 年 eth 主网上线,开启了 eth1.0。2016 年 eth2.0 的发布,稳固了 eth 生态,让公链生态走上 c 位。同年,比特币迎来第二次挖矿减半。

2017 年 3 月,因为比特币的容量问题,以中国矿工为首的一派和以美国比特币核心维护团队一派产生了不同意见(一方主张直接扩容,一方主张以闪电网络和隔离验证来解决),所以比特币的第一次硬分叉诞生,以吴忌寒为首的比特大陆发布了比特币现金(BCH),区块容量从 1M 提升为 8M,效率是原来的 8 倍,巅峰时曾经算力是比特币(BTC)的两倍,但因为价格问题,最终还是走向了算力崩溃,不过 BCH 也走出了自己的道路。 2018 年比特币现金(BCH)又发生了分叉,一派是以 CSW 博士为代表的 BSV 版本派(主张 BCH 应该像中本聪论文所描述的那样,专注于数字货币的转账交易,并将区块扩容为 128M),另一派是以吴忌寒为代表的 ABC 版本派(主张在当前环境下,BCH 应该像以太坊一样,往基础建设公链的方向发展,开拓出更多应用场景,增强 BCH 的竞争力),双方决定通过算力来决定谁来获取比特币现金的继承权,赢者是主链,通过比较谁能挖出更多的区块来决定,最终 ABC 派获胜,不过 BSV 派也独立了出来,单独成立了一条链,这场大战造成了加密货币市值的腰斩。

NFT 初探

NFT 本质就是原来的东西+数字签名,用户可以通过 NFT 平台去验证来鉴别真假。