005期 Acala学习笔记系列Ⅰ:比特币为什么慢,以太坊为什么堵

一、区块链的概念

1、区块链(Blockchain)可以分为“区块(Block)”和“链(chain)”

2、区块:即账本(下图中的方块),记录交易数据(未被其他先前的区块记录)、前一个区块的“链接”(哈希运算值)和时间戳等数据

3、链:通过哈希运算值将多个账本(区块)相连,形成一个长链,因为下一个块含有上一个块的哈希运算值(避免双花)。没有前一块区块的HASH值就无法生成当前区块

二、区块高度

1、创世块:第一个产生的区块,编号为0

2、区块高度:即生成了多少个区块,依次为1,2,3,4。。。。。。。12965000区块高度就是生产的第12965000个区块

3、废掉的区块不计算在内

三、分叉

1、分叉即为分成两个记账本,各自均有人持续记录

2、A一直有人记账为主链;B、C、D没人记账,被丢弃;E有人记账(如ETH和ETC)

四、挖矿的基本概念

1、挖矿:即记账,记录交易数据,同时计算和验证哈希运算值,让账本相连,将链继续延伸下去

2、节点:挖矿机器或叫旷工

3、计算:通过 SHA-256 运算,在一堆随机数中找到符合要求的数值,并与系统匹配

4、奖励:计算的哈希运算值和实际值匹配,则成功,获得奖励

5、奖励的结果:吸引很多人参与,去中心化效果更好

6、唯一记账权:即每次只有一个人成功,只有一个人获奖励,只有一个账本连接在链上,其他都作废。只有一条链存活(最长的),无分叉

7、最长的链:最长的链为有效链,但不是块数最多,而是难度最大的链,防止有人降低区块难度,分叉产生最长链

8、标准:越快越好,第一个答对题的获得奖励,其余人做无用功

9、挖矿能力:谁的算力大、运算速度快,谁就有更大概率先找出“答案”

五、挖矿步骤

1、收集广播中还没有被记录账本的原始交易信息→检查每个交易信息中付款地址有没有足够的余额→验证交易是否有正确的签名→把验证通过的交易信息进行打包记录→Hash计算(不可逆计算,不可倒推)→找到了符合要求的哈希值→全网广播处理结果→其他人验证,正确,将账本连接到区块链上→获得比特币奖励→其他人的账本作废(唯一记账权)→其他节点复制正确记账结果

2、区块成熟时间(Maturation Time):一个区块挖矿完成会有25个BTC奖励,但等过了100个块后,才能使用这些币。防止分叉产生2条链,产生重复记账

六、比特币出块速度

1、比特币总量:21,000,000,出块速度:10分钟一个区块

2、区块奖励(爆块奖励):最初每个区块奖励50个btc(2008年),每 21 万个区块(约 4 年)奖励减少一半,直到少至比特币最小单位 1 聪,2012 年后:25 个;2016 年后:12.5 个;2020 年后:6.25个,2140 年被全部挖出。

3、挖矿难度

Ǿ 挖矿困难程度的度量,即计算符合给定目标的HASH值的困难程度,当矿机越多,难度越大,初快时间基本一致。

6、难度调整

Ǿ 每过2016块调整一次,10分钟产生一个块,2016个区块大约14天,如果本次2016好块多于两周时间出完,下两周难度会降低;否则难度就会增加。因为没2周更新一次,因此有延迟性。

七、区块大小(区块重量)

1、定义

Ǿ 每个区块存储数据的的大小

Ǿ 对存储的数据多少进行限制

Ǿ 目前比特币为1M

2、小区块的优点

Ǿ 一台普通电脑验证1M的区块需要30秒,2M需要高达10分钟

Ǿ 时间越长,黑客攻击的机会就越大

Ǿ 验证时间越短,防止DDoS攻击效果越好

Ǿ 越小,对机器要求越低,节点越多,去中心化程度越高

Ǿ 大区块需要更大算力和更长开采时间

3、小区块的缺点

Ǿ 拥堵,每秒处理交易数量少,交易速度慢

Ǿ 填满时,网络变得拥挤,交易费用急剧上升

4、大区块的优点

Ǿ 区块越大,每秒处理交易量越多,转账费用越低

5、扩容的缺点

Ǿ 对机器要求更高,小旷工离场,节点变少,算力集中化,中心化程度变高

Ǿ 处理时间长,安全性降低

6、比特币扩容之路

Ǿ 2013年初125KB

Ǿ 2015年5月425KB

Ǿ 2018年7月1MB

八、Transaction per second(TPS)

1、定义

Ǿ Transaction per second,代表每秒钟处理的交易笔数

2、比特币TPS计算

Ǿ 区块大小:1MB,1M=1024KB=1024*1024B(字节)

Ǿ 一个交易大小:250B(字节)左右

Ǿ 每个区块可处理交易数量:1024*1024/250=4194个

Ǿ 比特币出块速度:10分钟/区块

Ǿ 每秒处理交易数量为:4194/10/60=6.99笔

Ǿ 实际情况:每秒3到4笔,因此比特币的交易速递是非常慢的

Ǿ 如果比特币链上有22000笔未打包交易,即22000÷7=3142秒=52分钟,也就是说平均要等Ǿ 待一小时的时间才可以确认

Ǿ 以太坊为12-15左右,因此也经常出现拥堵

Ǿ 万事达卡、VISA和支付宝可以达到数十万

九、提高TPS的方法(吞吐量)

1、扩容

2、隔离见证

3、闪电网络

4、ETHRollup技术和分片技术

从15 TPS走向100,000 TPS

5、波卡平行链技术

Ǿ 多条链可以并行处理交易,而不用在一条道路上排队等候处理

Ǿ 更高吞吐量,更快的速度以及更低的费用

Subscribe to sunrick100
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.