主页 > imtoken钱包安卓版手机下载 > 【区块链进阶技术】让这篇技术帖告诉你区块链是如何工作的

【区块链进阶技术】让这篇技术帖告诉你区块链是如何工作的

e81b1bc0ef2ee5b958ef550434f80e808c3439d7

今年1月20日以来,中国人民银行在数字货币研讨会上表示,高度重视区块链等技术带来的新机遇和新挑战,力争尽快推出央行发行的数字货币。可能的。这一概念在中国越来越流行,受到金融机构空前的关注。

本报告是爱城投资研究中心关于区块链技术的第一份研究成果。参考了多家投资银行和咨询机构的研究报告,结合了爱城投资项目经理与国内区块链创业者的交流。安排的。

技术部分介绍了区块链的技术特点和运行机制,并解释了相关的重要技术概念;应用部分基于其在金融和非金融领域的应用案例,分析了区块链的应用场景和市场前景。

笔者认为,区块链技术的核心是沿时间轴记录数据和合约,只能读写,不能修改或删除。在应用层面,区块链的安全性、透明性、高效性,尤其有助于规范互联网金融的发展,促进物联网和共享经济的普及和创新;在资本市场,分布式数据库和智能合约的使用也可以大幅减少人工对账工作,节省金融机构成本。

一。区块链技术特点

区块链是一种共享分布式数据库技术。尽管不同报告中对区块链的一句话介绍的措辞不同,但以下四个技术特征是共识。

1.去中心化:图1左侧描绘了当今金融体系的中心化特征,右侧描绘了新兴的去中心化金融体系,没有中介,所有节点都有权利和义务平等,任何节点停止工作不会影响系统的整体运行;

684be8bda3bf0f7b00f8a78afb4ba7462e685edf

图 1,来自花旗的报告“数字化颠覆:金融科技如何将银行业推向临界点”

2. Trustless:系统中的所有节点都可以在没有信任的情况下进行交易,因为数据库和整个系统的运行是公开透明的,并且在系统的规则和时间范围内,节点之间不能互相欺骗;

3.集体维护:系统由所有具有维护功能的节点共同维护,系统中的每个人共同参与维护工作;

4. 可靠数据库:系统中的每个节点都有完整数据库的最新副本。修改单个节点的数据库是无效的,因为系统会自动比较出现频率最高的同一条数据记录,并将其视为真。

f8ce53f16c5dcd546fc7d37d3f6ff51cb7ef191d

图 2,来自高盛报告区块链:将理论付诸实践

为简单起见,图 2 仅显示了保留数据库副本的 6 个节点;在 3 笔交易的序列中,前 2 笔交易的数据和签名都经过了所有 6 个节点的验证,但是第 5 位的第三笔交易没有经过验证,会被其他节点的“共识”改变。

二。公链、私链、侧链

区块链按访问权限和管理权限可分为公有链(Public Blockchain)和私有链或联盟链(Private Blockchain)。公链是完全开放的区块链,全世界的人都可以参与系统维护,这使得公链具有以下两个特点。

1.开源:由于整个系统的运行规则是公开透明的,所以本系统是开源系统;

区块链里的比特币怎么转到货币

2. 匿名性:由于节点之间不需要相互信任,并且所有节点都不需要公开自己的身份,因此系统中每个节点的匿名性和隐私性都受到保护。

私有链或联盟链在开放和去中心化的程度上受到限制。参与者需要提前进行筛选。数据库的读权限可能是公开的,也可能像写权限一样仅限于系统的参与者。

公链的典型代表是比特币区块链,任何人都可以通过交易或挖矿来读写数据。私有链或联盟链的典型案例是 Ripple 和 R3 CEV。前者目前为作为联盟成员的银行业金融机构提供跨境支付服务,希望取代环球银行金融电信协会(SWIFT)的跨境转账平台,打造全球统一的网络金融传输协议; 后者旨在促进适合金融机构使用的区块链技术标准的发展。

侧链是用于确认来自其他区块链的数据的区块链。通过双向挂钩机制,比特币、瑞波币等资产可以在不同的区块链上进行一定数量的交易。汇率被转移。

9fc984a3af1fc2f547a12398bfdc46d3eb8cecb3

图 3,来自 Blockstream Moves Ahead with Sidechain Elements。朱利奥·普里斯科

侧链进一步拓展了区块链技术的应用范围和创新空间,使区块链能够支持包括股票、债券、金融衍生品等在内的多种资产类型,以及小微支付、智能合约、安全处理机制等。 ,真实世界的财产登记等;侧链还可以增强区块链的隐私保护。

所谓的“在不同区块链上转移多种资产”实际上并没有发生。以比特币为例,侧链的运行机制是在比特币区块链上暂时锁定比特币,同时在辅助区块链上解锁等值的数字货币;锁定时,原始比特币被解锁。

三。比特币区块链如何运作?

自 2009 年 1 月以来,比特币网络在没有特别维护的情况下平稳运行了 7 年多,在此期间也没有出现停机。图 4 详细描述了比特币区块链的工作原理,其中 Bob 从 Alice 那里收到了比特币,并解释了所涉及的钱包和地址、私钥和公钥。公钥、加密哈希和随机数等概念。

50a4da1bd73e54ae2b8fc70a285c685a2e438f6e

图 4,来自比特币挖矿指南。亚历克刘

钱包和地址:

1. Bob 和 Alice 在他们的计算机上都有比特币钱包。

2. 钱包是一个允许用户访问多个比特币地址的文件。

3. 地址是一串字母和数字。

4. 每个地址都有自己的比特币余额。

创建一个新地址:

区块链里的比特币怎么转到货币

5. Bob 创建一个新的比特币地址来接收来自 Alice 的付款。

私钥和公钥:

6. 当 Bob 创建一个新地址时,他真正在做的是生成一个密钥对,由一个私钥和一个公钥组成。如果您使用私钥(只有您知道)对消息进行签名,则可以通过相应的公钥(所有人都知道)对其进行验证。Bob 的新地址代表一个唯一的公钥,对应的私钥存储在他的钱包中。公钥允许任何人验证由私钥签名的消息的有效性。

7. 可以将地址视为银行帐号,但工作方式略有不同。比特币用户可以根据需要创建任意数量的地址,并鼓励为每笔新交易单独创建新地址以增强隐私。只要没有人知道哪些地址是 Alice 的,她的匿名性就会受到保护。

提交付款:

8. Alice 告诉她的比特币客户,她想将钱转移到 Bob 的收款地址。

9. Alice 的钱包包含她每个比特币地址的私钥。比特币客户端使用 Alice 这次使用的支付地址的私钥对她的交易请求进行签名。

10. 此时,网络上的任何人都可以使用公钥来验证交易请求是否确实来自合法的帐户所有者。

验证交易:

11. Gary、Garth 和 Glenn 都是比特币矿工。

12. 他们的计算机将最后约 10 分钟的交易打包成一个新的交易块。

13. 矿工的计算机设置为计算加密哈希函数。

14. 加密散列函数将数据集转换为特定长度的字母和数字字符串,称为散列值。对源数据的微小更改可能会极大地改变散列的结果。并且几乎不可能预测初始数据集将生成的具体哈希值。

15. 为相同的数据创建不同的哈希,比特币使用随机数来实现这一点。随机数是在散列之前添加到数据中的随机数。更改此随机数会产生非常不同的哈希值。

16. 每个新哈希都包含有关所有先前比特币交易的信息。

17. 矿工计算机根据前一个区块的哈希值、新的交易区块和随机数计算新的哈希值。

18. 创建散列在计算上很简单,但比特币系统要求新散列具有特定格式——它必须以特定数量的 0 开头。

19. 矿工无法预测哪个随机数会产生从所需数量的 0 开始的哈希,因此他们被迫创建许多具有不同随机数的哈希,直到他们得到一个有效的哈希。

区块链里的比特币怎么转到货币

20. 每个区块都包含一个称为 coinbase 的初始交易,它是向获胜矿工(在本例中为矿工 Gary)支付 50 BTC。格雷的钱包里生成了一个新地址,里面的余额就是新挖出的比特币数量。

交易验证:

21. 随着时间的推移,Alice 对 Bob 的转账被其他更近期的交易所掩盖。任何想要修改历史交易细节的人都必须重做 Gary 的工作,然后重做所有下一级矿工的工作,因为所有更改都需要一个完全不同的获胜随机数。这样的操作几乎不可能成功。

四。如何解决双花?

以比特币为代表的数字货币的关键创新是通过Timestamp和Proof of Work机制来解决双花和拜占庭将军的问题,即保证同一个A笔比特币不会同时出现在两个地址中,并且在在可靠通道的基础上,所有节点都可以让其他节点接收到他们的真实意图并最终一致行动。

这种技术解决方案最早见于 2008 年由化名 Satoshi Nakamoto 的个人或团体发表的论文比特币:一种点对点电子现金系统。

在 Bob 从 Alice 那里收到比特币的场景中,一方面,付款被广播到系统中的所有节点,任何人都可以使用 Bob 的公钥来验证交易的合法性。如果 Alice 尝试双花,则必须先删除该交易记录,否则无法验证新交易。中本聪在论文中写道:

“时间戳服务器对区块数据的哈希进行时间戳,并大规模发布哈希,例如在报纸或新闻网络上。显然,时间戳确认了数据必须在这个特定的时间存在,然后才能得到哈希计算的结果(时间戳服务器的工作原理是取一块待打时间戳的项目的哈希并广泛发布散列,例如在报纸或 Usenet 帖子中。时间戳证明数据必须在当时已经存在,显然,为了进入散列)“。

另一方面区块链里的比特币怎么转到货币,工作量证明机制使得生成下一个区块的节点和矿工几乎不可预测,因此几乎不可能删除交易记录。系统内节点打包过去10分钟的比特币交易,只有获得有效哈希值的矿工才能生成新区块并获得挖矿奖励;除了打包比特币交易,矿工还必须结合随机数生成新区块。完成有效哈希的创建,并获取从所需数量的 0 开始的哈希。

中本聪在论文中写道:

e7ba44378123cd21beac835f8b00779bfcc68f27

图 5,来自 Satoshi Nakamoto 的论文 Bitcoin: A Peer-to-Peer Electronic Cash System

所以除非你永久控制整个系统中超过一半的节点,否则你可以阻止矿工将此交易添加到新区块中。

最后,考虑到硬件计算速度的提高和节点参与度的变化,中本聪使用移动平均目标来确定工作量证明的难度,使得两个区块之间的时间间隔约为 10 分钟。

五。区块链技术目前存在的问题

区块链技术仍处于不断完善的阶段。至于比特币的首次应用,有3个主要问题正在被其他系统完善或试图完善。

区块大小和交易速度限制

中本聪在设计比特币时,给区块设定了 1MB 的容量限制区块链里的比特币怎么转到货币,这样每个区块只能容纳 4096 笔交易;同时,工作量证明机制使得它需要大约 10 分钟,当计算量达到限制时,计算时间会变慢。目前,比特币网络还不够成熟,无法扩展到主要的信用卡网络,并且正在努力提高这一上限。

区块链里的比特币怎么转到货币

此外,区块扩容已成为迫切需求。一位比特币核心开发者曾提出从Bitcoin Core切换到Bitcoin XT这个硬分叉链的计划,区块大小从1MB扩大到8MB,然后每2年翻一番。此更改需要 1,000 个连续区块中的 750 个以包括矿工的更改批准。该活动目前正在开发中。

采矿浪费大量资源

2014年6月,一位工程师系统测算,当整个比特币网络的算力为110,000,000 GH/S时,全网每年的挖矿成本约为8亿美元,其中电费约为7.07。1.@ >20,000 美元,矿机投资约 7.33 亿美元。

在矿机投资方面,支持这样的算力大约需要36670台KnCMiner Neptune矿机,每台算力3000GH,售价9995美元。按一年两次的支出计算,结果约为7.$33亿/年;在电费方面,日用电量为80,666千瓦,按每兆瓦100美元计算,结果约为每年7,07美元1.20,000美元。此外,这些矿工产生的二氧化碳为 424,725 吨/年。

图 6 显示了 2014 年 6 月至 2016 年 6 月比特币网络算力的增长趋势,最高哈希率已达到 1,800,000,000 GH/S。

40655f7ff58dd9b6e12ef3e84a0d49a4023b7a60

图 6 哈希率,来自 Blockchain.info

由于挖矿工作只是寻找随机数获得有效的哈希值,并没有产生其他值,比特币网络的算力资源和功耗成本被诟病为资源浪费。其他系统改善这个问题的总体思路是减少参与维护工作的节点数量,降低挖矿竞争的强度。具体方法有两种。一种是使用私有链或联盟链将“记账权”强制到某些节点;另一种是引入权益证明(Proof of Stake)机制,用工作量证明来维护可靠的数据库。

权益证明是货币所有权的证明。证明者需要提供一定数量的货币的所有权。系统根据各节点占用币种的比例和持有时间确定“记账权”;权益证明的核心是只让在区块链中有经济利益的人参与系统的维护,使得挖矿成本远低于工作量证明机制下的挖矿成本。

缺乏图灵完备性

由于区块链可以保证比特币交易记录不被删除,所以理论上可以保证任何代码一旦写入就不能被删除。但是,比特币的脚本语言并不是图灵完备的,即不支持循环语句,这意味着比特币只能作为数字货币使用,不能直接支持智能合约和更复杂的去中心化应用。

区块链技术平台以太坊(以太坊虚拟机代码)的脚本语言是图灵完备的;使用 EVM 代码构建应用程序理论上可以实现任何可以想象的计算,包括无限循环。以太坊实现了任何人都可以上传和执行任何应用程序,并且可以保证程序的有效执行。

六。智能合约如何运作?

在英文中,Code这个词的意思是“代码”和“代码”,它暗示了智能合约(Smart Contracts)的功能和意义。

智能合约是直接控制数字资产的计算机程序。图 7 描述了基于比特币的智能合约的工作方法。通过在区块链上编写类似于 if-then 语句的程序,当触发预编程条件时,程序会自动触发支付并执行合约。其他条款。

2aa41398d5112fa2e3c67d3bff96bd715680e6a7

图 7,来自德勤报告区块链:谜。悖论。机会

多方之间的定期交付合同作为代码写入区块链。其中的个人是匿名的,但合同记录在公共分类账中。当触发事件(例如到期)并达到执行价格时,合约将根据编程的条款自动执行。监管机构可以通过这个区块链了解市场活动,同时维护个人成员的隐私。

区块链里的比特币怎么转到货币

Bob 是接受数字货币支付的在线商家,Alice 是使用数字货币进行支付的购物者。智能合约可以让 Bob 的商品无需信任地与 Alice 的数字货币进行交换。Alice 可以创建一个智能合约,将一段代码写入区块链:“如果我在 24 小时内收到这个项目,我会将数字货币发送到发送者的接收地址,并将这个项目发送给我的创建者,或者我将发送这种数字货币还给我的创造者。”

智能合约中的资产和资金没有所有者(Owner)。在这个例子中,当 Alice 将数字货币添加到智能合约中时,她无法通过修改合约来取回数字货币。她只能等待交易成功并收到 Bob 发送的商品,或者 24 小时后交易不成功,然后收到自己的数字货币。

七。技术结论

以上介绍了区块链的技术特点以及相关数字货币、智能合约、侧链等的运行机制,并解释了时间戳、工作量证明、权益证明、加密哈希等相关概念。区块链技术的核心是沿着时间轴记录数据和合约,一旦写入,就只能读取,不能修改或删除。

有更主流的观点认为,区块链技术的演进分为三个阶段:1.0 数字货币、2.0 智能合约、3.0(元技术)去中心化应用。应用篇将对这三类应用进行分析,展望区块链的市场前景。

下次通知

下一期,我们将分享【区块链技术进阶篇】的第四部分。让我们去认真地胡说八道的传奇人物,看看大神们有什么要说的。

【高级区块链技术】系列文章:

区块链:互联网第二时代的革命

未来金融,区块链将用在哪里?

让这篇技术文章向您展示区块链的工作原理

看看上面对区块链的理解(一)

看看上面对区块链的理解(二)

从技术现实理解区块链:基于 SQL 模型创建 BQL

分解区块链共识机制和分布式共识算法

请注意!区块链技术的风险!

其他首发文章:

【区块链新秀介绍】亲爱的,你淘淘的区块链来了!

【区块链技术实战】人群辩论区块链

【区块链与未来】区块链只与互联网+金融有关?让律师跟你谈谈