以太币挖矿教程
以太币挖矿教程
最近有朋友在群里问我,CKB怎么解决状态爆炸的问题?
我看这个问题,很专业。光是“状态爆炸”这个词,普通人是不知道的。他更进一步,问如何解决状态爆炸的问题。
看来这群朋友对其他的公链都做过研究,也知道如果不解决某一条链上的状态爆炸问题,就很难持续发展。
其实这个问题不好回答:一个人理解不难,更多人理解不难。
在接下来的两篇文章中,义秀哥哥将会告诉读者和朋友关于状态爆炸的问题,可以算是对这个群友的一个正式回答。
考虑到这个话题有一定的认知门槛,我们就一步步来讨论。在今天的文章中,我们从概念开始。我尝试用一些通俗易懂的语言给大家展示三个概念:状态、节点、状态爆炸。
在本文的基础上,我们将结合数据分析国家爆炸带来的问题,然后谈谈CKB是如何解决这个问题的。
我们开始吧。
1、什么是状态?
你用过存折吗?
这是旧时代的产物。可能老读者用过。如果你用过,要记得每次去窗口存一笔钱,银行柜员都会在存折上打印一行:从前存了多少钱,还剩多少钱;你取出一笔钱,银行柜员把存折还给你的时候,你发现多了一行:提取了多少现金,余额是多少。
这是银行最基本的交易流程。什么时候,存了多少钱,取了多少钱,你的账户还剩多少钱。从时间维度来看,这些数据可以分为两类:
当前数据:上一笔交易后你的账户还剩多少钱;
历史数据:你在一年的某个月做了哪些交易。
当前数据,我们称之为状态!历史数据和当前状态的汇总,形成分类帐。
传统账簿的数据只由银行、深交所、上交所,等集中机构管理,由这些集中机构存储。是黑盒,不透明,单点制。
作为用户,我们也有一个习惯,就是时不时的要查看账户的历史明细,看看钱都去哪了。这要求银行保存这些历史状态数据,然后才能进行检查。
但是,银行每天面对的客户不是你我。他们每天服务于几千万甚至上亿的客户,每天产生上亿的海量交易。日复一日,这些状态数据将变得越来越大,因此银行不得不增加大量数据库存存储设备来备份旧的状态数据。
但是保存所有的历史数据太贵了。10年前有多少人会翻旧账?所以我们可以看到,有些银行只能查看最近半年的交易明细,往前走的数据不再存储。正是因为是单点制,在数据删除的时候,不能通过其他渠道查询历史数据。
区块链也是一本账簿。这个账本里记录的是什么?还是地位!你的钱包里有多少代币,你是什么时候转移给谁的,目前转移进度如何,对方收到了什么,你的代币的流向信息,这些一般都可以用状态来指代。这看起来像银行的活期账户吗?
但是,区块链的这个账本不同于传统的银行账本。它是透明的,任何人都可以看到(这里我们只谈论公共区块链,而不是联盟链或私人链);它还有一个特点,交易一旦上线,就不能被篡改或删除。所以我们可以很容易地找到历史交易记录。
区块链的这本书不再由一个中央权威机构保存,而是由世界各地成千上万的设备保存,我们称之为节点。
2.节点越多,网络就越安全
节点是区块链网络的主干,负责交易确认和广播。他们使用历史数据,结合某些共识规则,来验证新交易是否有效以及是否应该保存该交易。
让我们以比特币为例来说明节点的作用。其他公共链也是如此。
早期比特币的所有节点都是完整的节点。然而,随着比特币的发展,新的节点类型应运而生,以满足不同的需求。常见的比特币节点有两种:完全节点和SPV节点。
Full节点是下载最新最全的比特币的节点,区块链,可以独立完成交易确认和交易广播,是支撑比特币转账交易的核心力量。
完整节点包括Miner和比特币Core客户端(默认情况下完整块是同步的)。
Miner是具有挖掘能力的节点,可以通过解决指定的算法问题来争夺块的资格,从而:
获得新的比特币
收交易费。