如何理解区块链的运行原理?

简介: 通过今天的武侠故事聊了比特币区块链,其中包括区块链中公开记账、创建创世区块、交易、打包 Transaction、广播交易的几个步骤。

上文,我们介绍了区块链的概念,今天就稍微深入一下,尽可能通俗地介绍一下:区块链的运行原理?

通过上文的小故事,我们知道了区块链的概念,它的本质就是解决信任问题,降低信任成本的技术方案,目的就是为了去中心化,去信用中介。

区块链是比特币的底层技术。比特币的概念最初由中本聪在2009年提出,它就是数字货币,海外也被称为法币。

首先,我们借鉴了一个区块链描述中的经典情景来模拟中心化记账。

假设武当派是一个由百户徒弟的门派,其中张三丰是武当派的掌门,掌门的大徒弟是宋远桥。徒弟们都把钱存到武当派哪里,张三丰负责记账。比如,张翠山用1000买了殷梨亭家的牛,张三丰就把张翠山名下的存款减去1000,殷梨亭加上1000。听起来是不是很想银行的操作呢?

就是要从中心化的银行记账开始聊起。徒弟们都相信张三丰,才愿意把钱存到张三丰的门派,它们相信张三丰不会做恶。

可惜好景不长,张三丰年纪太大了,卸任了掌门人位置。新上任的掌门宋远桥也是很正直和聪明的人,但也有个毛病,就是粗心大意。他不但经常算错帐,一次还被偷改了账单。

不过,幸好徒弟们自己都有记账,但是由于宋远桥每次错帐后都要和别人合队半天,导致村民对新掌门的记账能力十分不满。

时间就这么过去,然而最可怕的事情还是发生了,宋远桥的儿子宋青书竟然私下篡改账本,给宋远桥的亲人的余额全部偷偷加了好多,终于有一天事情暴露,徒弟们气冲冲地跑到宋远桥哪里逃说法,于是武当乱成一团,被赵敏偷袭了。

如果这个时候使用比特币的思路来解决这个问题,应该如何解决呢?

公开记账

每个徒弟都派发一只信鸽。这就是 P2P 网络,是一个点对点的分布式网络。
每个徒弟都发一个特殊的印章和一个扫描器。这个扫描器有两个功效,一是识别他人的交易是否真实有效,二是识别这个交易是不是自己账号的,同时识别并解锁未花费的余额。这就是非对称加密。
每个徒弟都可以参与记账,不过不再记余额,而是记交易本身的内容。这就是区块链中的交易,这个“交易”对应的英文单词是“Transaction”,这是个专有名词,专指一笔账,不同于金融交易的 Trade。
这三条总体来说其实是干一件事情,就是:

每家每户都记账,账簿上不再记载每户村民的余额,而只记载每一笔 Transaction,即记载每一笔交易的付款人、收款人和付款金额。

那么问题就来了:如果每个徒弟都记账,肯定徒弟们的账都不统一啊,你记你的,我记我的,最后不全乱了么?

这个时候需要大家统一账本,保证大家的账本都是一致的。因为记录的交易是门派所有人有序产生的,所以这就需要有一个广播机制。

其实很简单,我们现在先把门派所有人的资产都加起来。还真巧了,刚好 100 万。

只要账簿的初始状态确定,并且每一笔交易可靠并按照物理时间自然记录,并且只加不改不删,这样,当前每户持有多少资产是可以推算出来的。

第一块是一个可以识别的标记,比如我往纸上一敲,可识别的标记是 1MsTg2。

这就是你们的代号,由于我们账本是公开的,使用真实姓名会很危险,所以你们记账的交易单上收款人、付款人都填这个码,不用写姓名。你的扫描器和你的印章生成的代号是关联的,有且仅有持有对应扫描器的人才能花费金额,这一步即为“解开交易”。

刚刚说印章有两块,这第二块内容配合这个扫描器才能看,肉眼看则都是乱码,扫描器一扫就知道第二块内容是否有效,这一步也就是“交易验证”。

并且所有交易大家都能接收,都能看到,但却解不开印章乱码部分的内容,仅仅收款方才能解开,因为你的扫描器和你印章生成的代号是关联的,有且仅有持有对应扫描器的人才能解开交易。

创建创世区块

创世区块是我们生成门派公开账本的第一笔交易的第一个信封,好比一篇文章总得有个开头一样。

于是乎,某个徒弟先生成第一个 Transaction,这个交易单的付款人为空,收款人是宋远桥,付款金额是 100 万,因为是创世区块,产出多少个是可以随意规定的,由于我们上面统计了全门派的账目情况,所以就写了 100 万,待会儿付款给掌门以后,我们可以按照原来的账本给大家发送对应的金额过去。 好了,我们有了第一笔交易,第一个信封也已经做好了。现在让掌门把信封传给张翠山,张翠山复印一份,然后传给殷梨亭,殷梨亭继续传下去,一传十,十传百,直到传给整个门派,这个步骤也就是“同步区块”,也就是全网都拿到这个信封,以及信封里面的 Transaction。

交易

由于我们的创世区块把 100 万交给了掌门,那么我们假设张翠山在掌门那里的存款余额是 10 万,这时候掌门要根据原来的旧账本,把这 10 万发送给张翠山,然后把旧账本上的账划掉。下面我们讨论一下如何构造这笔交易。 把 100 万分成两部分,第一部分 10 万,收款人是张翠上;第二部分是 90 万,收款人是自己;这样一个 Transaction 就做成啦。

前面我们说了,不能直接写名字,要写代号,这个代号也就是你的钱包地址,我们需要把收款人写名字的地方,让收款人拿出自己印章,把代号读出来,然后告诉掌门即可。

掌门写好 Transaction 以后,还需要拿出自己的印章,在 Transaction 上盖章,这个盖章的过程也就相当于区块链中的签名。这个章,门派的所有人都可以拿扫描器扫一下验证是否有效,即验证付款人的章是否有效。

就这样,掌门一共写了 10 份 Transaction,分别代表了发送给不同人的交易,张翠山一笔 10 万,殷梨亭一笔 1 万,等等。

打包 Transaction (挖矿)

现在我们有了 Transaction,但是还需要东西把 Transaction 装起来,我们用一个特殊的信封把 Transaction 装起来,这个信封就是区块链中的“区块”,这个封装过程就是“打包交易”。

为什么要封装起来呢?是为了让打包交易的人能够在信封上署名,表示这次打包是由某某某打包的,其次全村的交易可能非常多,需要装配标号,方便大家查询。

我们看到上述的 Transaction 虽然已经生成,但是有个问题,就是没有规定谁有权利把 Transaction 封装到信封里。

由于我们门派的人口增长,100 万未来可能不够,我们暂定 150 万,那多余的 50 万,我们就当奖励给这些装信封的人了,当然不能一次性给,谁装一次信封就领 3 个币。

这时候大家伙儿来劲了呀,只要装信封就能够领钱了,我们在这里把符合条件的人称作“矿工”。

要获得这个装信封的权利,是有条件的。我给大家出一个难题,谁先解出这个难题的答案,谁就有权利把 Transaction 装到一个信封中,并且要在此信封上盖上自己的章。

好了,这时候大家开始计算给出的难题,刚好张翠山第一个计算出来,那么这次装信封的操作就由张翠山完成,张翠山把 10 份 Transaction 装到信封中,也就是打包 Transaction,并且要在信封背面写上一个信封的摘要信息。

比如上一个信封中的第一个交易是什么、信封封面长什么样,最后要在信封上盖上章,也就是“签名”,矿工签名的目的是为了领币,也就是 Coinbase 交易。

以上过程在区块链领域称作“打包 Transaction”,也就是大名鼎鼎的“挖矿”。

广播交易

来说说上文提到的广播交易,广播是为了让所有人知道当前时刻你产生了一笔 Transaction,或者是你装好了一个信封。

广播的内容分两种,一种是广播 Transaction,一种是广播信封。第一种广播是意味着还有未被打包的 Transaction,而第二种广播信封则意味着这个 Transaction 已经被某个矿工确认。

收到了广播的通知后,大家先验证信封上难题的答案是否正确,这样便可以验证出信封是否被伪造,接着验里面的每笔交易,最后还要验证信封背面的内容,即上一个信封的摘要是否正确。因为上一个信封大家都已经确认,所以这样可以极大地规避作弊的可能。如果觉得没问题,就可以存入本地数据库中了。

双花问题

如果两个弟子同时上传,虽然这个概率很小,但是若发生,我们就看最后的区块链哪条更长,短的那条就失效。这就是区块链中的“双花问题”(同一笔钱花两次)。

对于要制作虚假交易,除非你说服了全网里超过51%的矿工都更改某一笔账目,否则你的篡改都是无效的。 网络中参与人数越多,实现造假可能性越低。这也是集体维护和监督的优越性,伪造成本最大化。说服51%的人造假还是灰常灰常难的。

总结

通过今天的武侠故事聊了比特币区块链,其中包括区块链中公开记账、创建创世区块、交易、打包 Transaction、广播交易的几个步骤。

相关文章
|
存储 算法 区块链
区块链运行原理
上文[《认识区块链》](https://wangbinguang.blog.csdn.net/article/details/131325120)中可以知道区块链是一个通过各种加密算法、共识机制以及其他技术可以实现一个点对点的电子现金系统,从而达到去第三方的效果(通常称之为去中心化)。本文将从区块链的内部结构、交易的过程、如何对一笔交易达成共识以及交易存在的问题详细介绍区块链是如何运行的,并且在此过程中了解区块链更多的特性。
68 0
|
前端开发 区块链
盲盒区块链游戏开发原理丨盲盒区块链游戏系统开发技术详细及案例源码
 The"new retail"model has broken the respective closed state of online and offline.Online and offline can be integrated,complement each other and rely on each other.Online and offline more perform the functions of transaction and payment.Offline is usually used as a platform for screening and experi
|
区块链 vr&ar Android开发
区块链游戏系统开发(链游开发源码)丨链游项目系统开发(方案及原理 )
 什么是DAPP?   DApp是Decentralized Application的缩写,译为:分散式的应用程序。App我们都知道,我们在智能手机上安装的应用程序也就是App。而DApp它的意思就是分散式的应用程序或去中心化的应用程序。
|
新零售 供应链 安全
什么是区块链商城系统开发?如何理解区块链商城系统开发功能详细
从当前新零售的发展形势看,新零售是以用户为中心,在技术驱动下,建立在可塑化、智能化和协同化的基础设施上,依托新供应链,线上线下深度融合,重构人、货、场,满足用户需求,提升行业效率,实现"全场景、全客群、全数据、全渠道、全时段、全体验、全品类、全链路"的零售新模式。智慧零售是新零售的表现形式。
什么是区块链商城系统开发?如何理解区块链商城系统开发功能详细
|
负载均衡 安全 测试技术
洽谈区块链游戏项目系统开发逻辑讲解方案及技术参考原理
洽谈区块链游戏项目系统开发逻辑讲解方案及技术参考原理
273 0
|
2天前
|
传感器 物联网 区块链
智能革命的引擎:区块链、物联网与虚拟现实技术的融合与创新##
在21世纪的信息时代,新兴技术正以前所未有的速度改变着我们的生活和工作方式。本文深入探讨了区块链技术、物联网(IoT)和虚拟现实(VR)这三大前沿技术的发展趋势及其在不同领域的创新应用。通过分析这些技术如何相互促进、融合,共同塑造一个更加智能、互联的世界,揭示了它们对未来社会可能产生的深远影响。不同于传统的技术性摘要,本文旨在以一种通俗易懂且条理清晰的方式,引导读者思考新技术背后的哲理性内涵及其对人生意义的启示。 ##
16 0
|
10天前
|
存储 安全 区块链
探索区块链技术在数据安全中的应用
本文旨在通过浅显易懂的语言,向读者介绍区块链这一看似复杂实则贴近我们生活的技术。我们将从基础概念出发,逐步深入到区块链技术如何在保护个人隐私和确保数据安全方面发挥巨大作用。文章将用简单的例子和直观的比喻,帮助读者理解区块链的工作原理及其在现实世界的应用价值。
31 6
|
12天前
|
运维 供应链 物联网
未来已来:区块链、物联网和虚拟现实技术的融合与创新
在科技日新月异的今天,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正引领着一场前所未有的技术革命。本文将深入探讨这些技术的独特发展趋势和它们在未来社会中的潜在应用场景,揭示它们如何相互交织,共同塑造我们的工作和生活方式。通过分析具体案例,我们将看到这些技术如何超越传统界限,开启全新的创新之路。
|
14天前
|
存储 供应链 安全
掌握未来:区块链技术的简易入门指南
想象一下,有一种魔法可以安全地储存你的财富和信息,不受任何中心化机构的控制。听起来像是幻想?其实不是!这就是区块链技术的魅力所在。本文将带你走进区块链的世界,了解它如何工作,以及为什么它可能改变我们的未来。无论你是完全的新手,还是对这项技术略知一二,这篇文章都将为你提供有价值的见解。
|
20天前
|
安全 物联网 区块链
探索未来:区块链、物联网与虚拟现实技术的融合趋势
随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实正逐渐融入我们的生活。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们的生活带来前所未有的便利和体验。让我们一起踏上这场科技之旅,感受新技术带来的无限可能!