区块链介绍

区块链介绍

前言

从今年开始对区块链开始了一些接触,现在准备输出一些文档,算是阶段性总结了吧。

是什么

在今年以前,我对区块链的理解是一个万物互联的平台,类似于车联网,物联网这一类的概念。

用于保障数十万以上节点组成网络后的一致性,可靠性。

这个想法和区块链的实际情况,只能说是有那么一点点擦着边关系。

那么区块链到底是什么呢?

文字拆解一下吧:

区块链 = 区块 + 链

区块链网络 = 区块链 + 网络

区块链的抽象表达:

[块1] –> [块2] –> [块3] –> [块4] –> [块5] –> [块6]

形象举例表达: 一本空白的书

后面将用这个例子来解释: 你打算写一本小说, 然后你打开了一本空白书,准备开始写一部几百章的小说。

区块 = 书的一页

区块链中的块 可以理解为就是书的一页, 就是一个信息容器, 你可以在这一页随便写点东西;

必须的要求:

  1. 每一页的开头一行 写着前一页的 剧情简介;
  2. 每一页的最后一行 写着当前页的 剧情简介;

链 = 剧情

假如每一页都是一个章节, 每个章节的剧情又是前一个章节的延续;(类似于拍摄时的一镜到底)

这就可区块链里面的链的概念对应上了,

前一页的剧情简介(块hash)被写入了当前页(当前块)。

效果就是 如果把书的第100页拿到第10页去,读者第一眼就能看出前后章节剧情对于不上,就知道书肯定被篡改了;

当前块 = 作者能往哪一页写呢

写这本书,有一个基本规范,

只能写当前页,就是这本书最新的一个空白页

对应着区块链里面的当前正在创建中的块;

出块 = 章节封版

当你写完一页(一个章节)后, 就在页末尾盖个章, 表示封页了, 类似于财务人员在一个会计凭证的空白行划线的行为。

写完之后,这一页就不能再改了。

对应着区块链中的块一旦出现,块的哈希也就产生了, 而且会立即广播给全网, 今后也不能再改这个块的内容。

能否修改之前的块(改写之前的页)

不能

不能改写之前的章节页, 简单理解为 你的小说已经写到第三百章了,你突然想让主角第一章出场就死, 然后换个主角。

因为链的顺序性, 一个块依赖于前一个块的 hash(剧情), 也为下一个块提供 hash(剧情)

确实必须要改之前的内容

在符合前面写书规则的情况下,如何才能修改错误的内容呢;

只有一个办法, 撕掉几页;

假设已经写完了200章内容后,你发现第100章写得很不好,必须改。

那只能将从第100章开始的所有已经完成的章节全部撕掉,就当从未写过100章和之后的内容。

能否跳过几个空白页写之后的页呢

不能

例如当前正在写第100章, 然后决定要主角在300章死,于是就跳到第300页去写了;

这当然是不行的, 因为第300页的剧情来源于第299页的剧情;

所以你要写第300页, 就必须先写第299页, 这样往前推, 还是必须先完成当前这第100页;

分布式 - 多编辑与主编

这本小说涉及到很多不同专业方面的知识,你一个人是写不出来的;

于是你邀请了多人为你的当前页提供素材,也就是多名编辑。

例如精通宠物的编辑为你的当前页 写了一小段关于描述猫的修辞语句,精通的环境描写的编辑为你的当前页编写环境相关的内容。

多位编辑提供的素材该由谁来合并呢,就由本书的主编来合并。

在实际的区块链网络中, 每一个编辑对应着一个可以处理消息的节点, 这个主编对应着当前打包出块的节点;

为了避免主编突然离线不能工作, 所以区块链网络中的出块节点是非固定的,按一定规则轮流担任。

区块链网络 - 多编辑之间的协作

假设3位编辑分别写主角今天的上下晚三个时间段的活动,写完后再由主编最后合并。

那么很可能出现

  1. 早上主角杀了配角B
  2. 下午配角B车祸撞断了腿
  3. 晚上主角与配角B愉快地打球。

为了避免这种情况,每一位编辑每写一段内容,就需要将内容与全部编辑人员进行同步,避免误判。

区块链也是如此,任何节点每收到一笔交易都需要立即广播出去。

共识 - 如何避免主编造假

多位编辑将自己的剧情片段广播出去后,由当前的轮值主编进行合订,然后主编再为当前页封版;

但如果这位轮值主编自己篡改了内容呢?

解决办法:

  1. 除了轮值主编外,其他人也接收广播来的各种小说片段内容,并生成一个自己内部的副本;
  2. 轮值主编将这一页封版后广播给所有编辑;
  3. 编辑们校验封版的剧情和自己内部生成的副本内容一致后,对这个版本进行签名,并将签名广播;
  4. 其它节点(包括轮值主编)在接收到足够数量的签名广播后,就认为这个版本已经被大家所接受;
  5. 未获取到足够签名的封版页, 会被大家认为是无效的,大家会要求一个新的主编来重新进行页封版。

好了,你现在明白应该如何写这本书了吗?

区块链中不能篡改之前块的原理

  1. 前后块之间是有关联关系的, 你改了其中一个块, 之后所有的块都作废了;

  2. 出块后, 已经广播给很多节点了, 你改后大家并不认可

与币的关系

币的来源

本来一开始是没有币这个东西的;

而出现币的原因:网络中的坏节点做恶,该怎么处理。

例如某个节点一直高频向网络中其它节点广播错误的信息消耗大家的资源,该怎么办;

传统方法就是把这个节点驱逐出去,然后设置黑名单,拒绝它再加入网络;

但区块链这种去中心化的架构,你又如何驱逐出去呢?

答案就是成本,增加做恶的成本,

没有成本那就先就创造出一个成本来,也就是创建出一个计量单位来;

所以这个目前市场上的这些币也是可以不叫 xx币的, 换个说法可以叫 xx 额度,或者叫上链手续费;

任意一个节点在收到一笔广播消息后, 先确认发送广播的源节点地址是谁, 然后再看它有没有 xx额度,然后再扣除一定的成本,如果成功,就再把这个消息 给广播到下一个节点去;

这样一笔信息同步到全网后, 全网所有节点都扣减了这个源地址的额度,

而每一笔交易都需要付这个成本;

当做恶者持续广播错误的消息时,那么它也是要付出成本的,当它的支付成本不足时,就没有节点会再广播它的消息了。

于是这个币的最初作用,就是用于支付在这个链上发送交易的成本。

获取币 - 挖矿奖励

  1. 因为去中心化的链,需要不同的实控人来控制不同的节点, 不同实控节点越多则网络越安全;此时就需要吸引人提供主机来加入这个网络;
  2. 因为发信息到链上需要支付成本(gas费), 想发交易而没有币的人应该找谁获取币呢?
  3. 有了币才能发送信息到链上,那最初用户的币是哪来的呢?

于是币的第二个作用就出现了,矿工(提供主机参与网络的节点)在挖矿后,获取到一定数量的币, 用于卖给那些需要发交易却没有币的人,获得一定的现实中的利益。

从而吸引更多人来挖矿(提供机器加入网络),于是这个网络就越来越大,从而更稳定、安全和强大。

挖矿

比特链里面的获取这个币(比特币)的方法,被设计为工作量证明,

简单理解为给书的每一页的主编发,也就是挖矿奖励。

即当你完成了一定量的挖矿(计算数学题+将节点收到的交易进行打包)工作后,你(节点)就有一定的奖励。

问题

  1. 如何告诉大家这个 奖励 归我了呢?
  2. 如果有多人同时完成了打包(出块)呢?

挖出矿的矿工节点,将数学结果公告给周边节点, 周边节点一旦验证通过, 即小范围认可你的奖励归属,等到全网多数都认可后,则奖励事实上归属完成。

当多人同时完成了打包时, 看谁最早同步到全网的多数节点,就以谁为准。

币的稀缺性

我的理解是 币的主要目的是支付 gas费,以增加交易本身的成本。

如果是一开始就有初始币,那我不停的更换用户不就能绕过限制了吗?

如果用户后续也能持续无限的获取到币, 最终老用户必然都拥有大量的币, 即恶意节点必然也会拥有大量的币;

所以这个币必须是难以随便获得的,必须具有稀缺性。

  1. 挖矿是很难挖的
  2. 挖矿的收益递减

购买币

因为难以通过挖矿获取到币

所以可以线下找有币的人进行购买,或者去交易所与需要的人交易。

这就开启了币的交易属性。

币的演进

我最初的理解是 币只是链的衍生产品,而现在多数链的首要考量却是币。

似是 买椟还珠;

举一个例子,我顺手拿起旁边的一卷厕纸,撕下个5张丢给大家。然后告诉大家到市场上去将这几张纸把价格炒起来,尽量炒到价值一万元一张。

炒起来后,等我先出手将这卷厕纸都套现,然后你们再去卖掉套现,这样你们就能通过一张厕纸获取了一万元了。

至于如何炒高价格,方法有很多嘛

  1. 强调厕纸的匿名化和稀缺性;
  2. 强调厕纸的情怀,薄、轻、色彩、怀旧、故事;
  3. 相互高价买卖拉升市场价格,并且刷成交量,造成市场很热的现象;
  4. 去借贷等方式高价收购。

为什么很多外部人员明知这东西实际上就是厕纸, 还会入场去炒接着被套住呢?

原因就是“发现有人要炒它,又认为自己能在庄家跑路前先跑掉”。

我认为炒币还不如把钱借给我,我愿意出年化利率800%来借,至少借200年,到期后我保证将连本带利一起还。

只要现在借我100元,到期后将收 1.1337075024955116e+53元, 这收益难道不高吗?难道不值得博一把!

总结

  1. 技术还是挺有趣的,在一个无序和不可信的环境中 建立一个有序和可信的环境。
  2. 炒币(赌博)如何才能不输?
Licensed under CC BY-NC-SA 4.0
转载或引用本文时请遵守许可协议,知会作者并注明出处
不得用于商业用途!
最后更新于 2024-07-02 00:00 UTC