Skip to content

Commit

Permalink
layer原理
Browse files Browse the repository at this point in the history
  • Loading branch information
debugzhao committed Mar 10, 2025
1 parent ee5aab9 commit b480d5f
Showing 1 changed file with 6 additions and 56 deletions.
62 changes: 6 additions & 56 deletions debugzhao.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
timezone: UTC+8
---

# Tyson

1. web2 fullstack dev, web3 newcomer
Expand Down Expand Up @@ -180,31 +179,25 @@ timezone: UTC+8
1. 稳定币概念

稳定币是一种加密货币,**旨在通过将其价值与标的资产挂钩或通过算法增加或减少流通中硬币的供应,使其比其他类型的加密货币更稳定。**

2. 稳定币逻辑

稳定币的设计思路是通过将稳定币的价值和标的物资产或通过法币的兑换来保持其价格的稳定。

常见的稳定币发行机构会将稳定和一定数量的法定货币兑换,将这一比例写入只能合约中。当用户购买稳定币时,相应数量的法币会被冻结,而发行的稳定币则会随之流通。

3. 稳定币特点

1. 认证

认证报告是稳定币体系的重要部分

2. 储备资产的性质

需要一系列高质量、高流动性的资产以保证设计良好的稳定币的正常运行。

3. 监管与等级

稳定币和负责其运营的法律实体必须受到一个强大的监管机构的监管,该监管机构必须建立在一个法律成熟、治理良好的司法管辖区,以降低金融犯罪的风险。

4. 技术

稳定币的作用效果取决于其基础技术和传统非区块链技术的集成程度。

4. 稳定币类型

1. 法币抵押型稳定币
Expand All @@ -216,51 +209,40 @@ timezone: UTC+8
USDT是Tether公司推出的锚定美元的稳定币。

USDT与其他加密货币一样,建立在区块链上,目前可以在Ethererum、Tron、Solana、Algorand、EOS、Omni、Avalanche等多个公链上铸造和交易。Tether公司号称严格遵守1:1准备金保证,即每发行1个USDT,其银行账户就有1美元的保证金。

2. USDC

USDC是由Circle公司发行的一种完全抵押的锚定美金的稳定币。

2. 超额抵押型稳定币

顾名思义就是,抵押资产的价值>铸造的稳定币的价值。

3. 商品抵押型稳定币

类似于法币抵押型稳定币,商品抵押型稳定币是以实物商品(如黄金、白银、石油等)进行抵押,旨在通过固定价格赎回基础商品来维持其稳定币的价格。

如 Paxos Gold(PAXG),它以黄金作为储备金支撑。每枚PAXG都代表了一盎司黄金的所有权。

4. 算法稳定币

**算法稳定币试图通过动态扩大或收缩代币供应来维持与美元等资产的挂钩。**它们的价格稳定性来自于使用专门的算法和智能合约来管理流通中的代币供应。

但算法稳定性必需依赖于极强的算法,**一旦算法出现漏洞,将造成极其严重的后果。**例如Luna设计的USTC就是一种算法稳定币,但由于它们的内在算法没有考虑到一些极端情况而出现了黑天鹅或突发事件,导致最终脱锚崩盘。

5. 稳定币优缺点

1. 优点

1. 价格的稳定

2. 抵抗风险

配置一定比例的投资组合为稳定币,可以有效地降低整体风险。这样的投资组合更能抵抗市场价格波动。

3. 提升交易效率

**稳定币可以在区块链上快速传输,并且交易费用相对较低。**这使得稳定币成为快速和廉价跨境支付的理想选择,特别是在没有中间银行或汇款服务的情况下。

2. 缺点

1. 中心化风险

2. 监管问题

3. 技术风险

稳定币的发行和运行都是以区块链技术为基础。然而区块链技术可能面临技术问题、网络拥堵、安全漏洞等风险,都可能对稳定币的市场造成不良影响。

6. 总结

总的来说,稳定币作为一种全新的时代产物,在数字金融领域中扮演着非常重要的角色,平衡了传统金融体系与新兴加密货币市场之间的需求。无论是作为价值存储工具,或是促进金融创新,稳定币都在其中起到关键作用。然而,在使用稳定币我们也应当保持谨慎,充分了解其特点和风险,以做出明智的决策。
Expand All @@ -271,9 +253,9 @@ timezone: UTC+8

区块链是一个**分布式账本或数据库**,对任何人都开放。与传统的数据库(如SQL数据库)不同,其中单个实体控制数据,区块链在去中心化的平台上运行。可以将其视为交易的数字账本,这些交易在区块链的整个计算机系统网络上复制和分发。

区块链(blockchain) 是一种数据以**区块(block)** 为单位产生和存储,并按照时间顺序首尾相连形成 `链式(chain) 结构`,同时通过**密码学保证不可篡改、不可伪造**及数据传输访问安全的`去中心化分布式账本`
区块链(blockchain) 是一种数据以**区块(block)** 为单位产生和存储,并按照时间顺序首尾相连形成 `链式(chain) 结构`,同时通过**密码学保证不可篡改、不可伪造**及数据传输访问安全的 `去中心化分布式账本`

区块是链式结构的基本数据单元,聚合了所有交易相关信息,主要包含`区块头``区块主体`两部分。区块头主要由**父区块哈希值**(Previous Hash)、**时间戳**(Timestamp)、**默克尔树根**(Merkle TreeRoot)等信息构成;**区块主体一般包含一串交易的列表**。每个区块中的区块头所保存的父区块的哈希值,便唯一地指定了该区块的父区块,在区块间构成了连接关系,从而组成了区块链的基本数据结构。
区块是链式结构的基本数据单元,聚合了所有交易相关信息,主要包含 `区块头` `区块主体`两部分。区块头主要由**父区块哈希值**(Previous Hash)、**时间戳**(Timestamp)、**默克尔树根**(Merkle TreeRoot)等信息构成;**区块主体一般包含一串交易的列表**。每个区块中的区块头所保存的父区块的哈希值,便唯一地指定了该区块的父区块,在区块间构成了连接关系,从而组成了区块链的基本数据结构。

#### 区块链原理

Expand All @@ -282,7 +264,6 @@ timezone: UTC+8
1. 区块和链

每次发生交易时,它都会添加到“区块”中。一旦一个区块**填满**了交易,它就会链接到前一个区块,形成一个称为“区块链”的区块链。因此得名!

2. P2P网络

在区块链中,**网络上的每个参与者(节点/计算机)都可以访问整个数据库和完整的交易历史记录**。每个人都可以直接验证其交易合作伙伴的记录,而无需中介。
Expand All @@ -291,8 +272,7 @@ timezone: UTC+8

**P2P网络数据传输方式:**在区块链中,所有交易及区块的传播并不要求发送者将消息发送给所有节点。节点只需要将消息发送给一定数量的相邻节点即可,其他节点收到消息后,会按照一定的规则转发给自己的相邻节点。最终通过一传十、十传百的方式,最终将消息发送给所有节点。

当一个节点需要发起转账时,需要指明转账目的地址、转账金额等信息,同时还需要对该笔交易进行**签名**。由于不存在中心服务器,该交易会随机发送到网络中的邻近节点,邻近节点收到交易消息后,对交易进行**签名**,确认身份合法性后,再校验余额是否充足等信息。均校验完成后,它则会将该消息转发至自己的邻近节点。以此重复,直至网络中所有节点均收到该交易。最后,**矿工获得记账权后,则会将该交易打包至区块,然后再广播至整个网络。**区块广播过程同交易的**`广播过程`**,仍然使用一传十、十传百的方式完成。收到区块的节点完成区块内容验证后,即会将该区块永久地保存在本地,即交易生效。

当一个节点需要发起转账时,需要指明转账目的地址、转账金额等信息,同时还需要对该笔交易进行**签名**。由于不存在中心服务器,该交易会随机发送到网络中的邻近节点,邻近节点收到交易消息后,对交易进行**签名**,确认身份合法性后,再校验余额是否充足等信息。均校验完成后,它则会将该消息转发至自己的邻近节点。以此重复,直至网络中所有节点均收到该交易。最后,**矿工获得记账权后,则会将该交易打包至区块,然后再广播至整个网络。**区块广播过程同交易的** `广播过程`**,仍然使用一传十、十传百的方式完成。收到区块的节点完成区块内容验证后,即会将该区块永久地保存在本地,即交易生效。
3. 透明性和不可篡改性原因

哈希实现防篡改。交易是透明的,但是是私有的,每个操作对任何人都是可见的,确保了生态系统的完全透明性。一旦信息存储在区块链中,它几乎是不可能更改或删除的。
Expand All @@ -310,7 +290,6 @@ timezone: UTC+8
1. 数字签名

在密码学领域,一套数字签名算法一般包含**签名****验签**两种运算,数据经过签名后,非常容易验证完整性,并且不可抵赖。只需要使用配套的验签方法验证即可,不必像传统物理签名一样需要专业手段鉴别。数字签名通常采用非对称加密算法,即每个节点需要一对私钥、公钥密钥对。所谓私钥即只有本人可以拥有的密钥,签名时需要使用私钥。不同的私钥对同一段数据的签名是完全不同的,类似物理签名的字迹。数字签名一般作为额外信息附加在原消息中,以此证明消息发送者的身份。公钥即所有人都可以获取的密钥,验签时需要使用公钥。因为公钥人人可以获取,所以所有节点均可以校验身份的合法性。

2. 共识算法

共识算法是一种用于在分布式进程或系统之间达成关于单个数据值的协议的技术。区块链使用诸如**工作量证明****权益证明**之类的共识模型来同意交易的有效性。
Expand Down Expand Up @@ -338,31 +317,24 @@ timezone: UTC+8
- 逻辑漏洞

合约代码的逻辑存在错误,导致合约无法按预期执行

- 重入攻击(**Reentrancy Attack**

这是最常见的智能合约漏洞之一。攻击者**利用合约中的回调**,在合约更新状态之前重复调用自身函数,从而窃取资金。

- 整数溢出/下溢(**Integer Overflow/Underflow**

由于Solidity**早期版本对整数运算没有进行溢出检查**,可能导致计算错误。现在Solidity版本已经默认启用了溢出检查,但仍需注意使用SafeMath库或Solidity 0.8.0及以上版本。

- 访问控制漏洞

未正确设置访问控制,导致未经授权的用户可以执行敏感操作

- 拒绝服务攻击(**DoS**

未正确设置访问控制,导致未经授权的用户可以执行敏感操作

- 短地址攻击(**Short Address Attack**

针对ERC-20代币的攻击,攻击者通过构造短地址来欺骗合约,导致资金损失。

- 时间戳依赖(**Timestamp Dependence**

不应过度依赖区块时间戳,因为它可能被矿工操纵

- 随机数安全性

区块链上的随机数生成通常不安全,不应用于关键场景,例如抽奖。应使用专门的随机数生成服务,例如Chainlink VRF
Expand All @@ -372,39 +344,32 @@ timezone: UTC+8
- 代码审计

在部署合约之前,务必进行全面的代码审计,最好由专业的安全审计公司进行。代码审计可以帮助发现潜在的安全漏洞,并提供改进建议

- 形式化验证

使用数学方法来证明合约的正确性,可以有效地发现逻辑漏洞

- 编写安全的代码

使用最新的Solidity版本,并启用溢出检查。 使用SafeMath库进行数学运算。 遵循检查-生效-交互模式(Checks-Effects-Interactions pattern)来防止重入攻击。 限制循环次数和Gas消耗,防止拒绝服务攻击。 对输入数据进行严格的验证。 使用合适的访问控制机制

- 充分测试

进行单元测试、集成测试和模糊测试等多种测试,以确保合约的正确性和鲁棒性

- 使用成熟的开发工具和框架

例如**Truffle**、Hardhat等,这些工具和框架提供了一些安全相关的特性和工具。

- 关注安全最佳实践

关注社区和安全公告,及时了解最新的安全漏洞和最佳实践

- 使用形式化验证工具

例如Certora Prover等,对合约进行形式化验证,以数学方式证明合约的正确性

- 采用代理模式进行升级

智能合约一旦部署就无法直接修改。使用代理模式可以实现合约的升级,而无需重新部署整个合约,降低风险

#### ref

- [Solidity智能合约常见漏洞](https://blog.csdn.net/qq_28641579/article/details/139878506)
- [区块链智能合约的安全性](https://www.sohu.com/a/851794209_121198703)
- [区块链智能合约的安全性](https://www.sohu.com/a/851794209_121198703)

### 2025.3.9

Expand All @@ -415,37 +380,31 @@ timezone: UTC+8
- Layer1是什么

Layer1 是区块链的第一层,是所有区块链活动发生的地方,**包括交易的处理、验证和记录。**

- Layer1的起源

Layer1 的概念诞生于区块链的早期发展阶段。这种探索导致了 Layer1 技术的发展,它成为了构建去中心化网络的基础。

- Layer1核心概念

- 去中心化

Layer1区块链由分布式计算机网络维护,不存在单点故障或中心化的控制机构,确保了系统的去中心化特性

- 不变性

一旦交易被添加到Layer1区块链,它们就无法被更改或删除,为数据提供了高度的可信度和完整性
- 共识机制

- 共识机制

Layer1区块链使用共识机制(如工作量证明PoW、权益证明PoS等)来达成交易记录的共识,确保网络的安全和数据的一致性
Layer1区块链使用共识机制(如工作量证明PoW、权益证明PoS等)来达成交易记录的共识,确保网络的安全和数据的一致性

- 智能合约支持

一些Layer1区块链(如以太坊)允许开发人员在链上创建和部署智能合约,实现自动化的业务逻辑

- Layer1的技术流派

共识机制是 Layer1 的核心,协调着所有数据流动和交易处理的顺序。主要的共识机制包括

- PoW

一种通过**解决复杂数学难题**来验证交易并创建新区块的机制,比如在比特币中使用。实现方式通常涉及矿工使用计算能力寻找一个数值,该数值的哈希符合特定条件,例如以一定数量的零开头。这个过程确保了网络的安全和去中心化。

- PoS

一种更为节能的机制,**通过持币量和持币时间**来选出验证者。不同于PoW依赖于计算能力,PoS依赖于持币者的经济投入。这减少了能源消耗,并促进了网络安全。
Expand All @@ -471,17 +430,14 @@ Layer1区块链通常面临交易速度和吞吐量的限制,因此需要Layer
- 比特币(Bitcoin):作为第一个和最著名的公链,比特币引领了数字货币的革命。
- 以太坊(Ethereum):不仅作为货币,还通过其智能合约功能扩展了区块链的应用范围。
- Solana:高性能区块链,支持高吞吐量和低延迟的交易

- 公链挑战

- 可扩展性

随着用户数量的增加,处理大量交易的能力成为一个挑战

- 能源消耗

特别是对于采用 PoW 共识机制的公链,如比特币

- 联盟链(**协作的桥梁**

联盟链是一种介于公链和私链之间的区块链形式,它**在特定的组织群体之间**建立起了信任和合作的桥梁。
Expand All @@ -493,7 +449,6 @@ Layer1区块链通常面临交易速度和吞吐量的限制,因此需要Layer
- 联盟链优势
- 高效率和低成本:较少的节点数量意味着更快的交易处理速度和更低的运行成本。
- 更好的隐私保护:适用于需要保护敏感数据的场景。

- 私链(专有的数字领地)

联盟链是由一群组织共同管理的区块链,它们像是只对特定成员开放的专用小径。**私链则更加封闭**,像是个人的秘密花园,只有拥有者才能访问和控制。私链主要用于特定的组织或企业内部,提供了一种既安全又高效的数据管理方式。
Expand All @@ -520,11 +475,9 @@ Layer1区块链通常面临交易速度和吞吐量的限制,因此需要Layer
这样做**会引起区块账本的快速膨胀,参与验证的机器性能要求越来越高**,提高了参与门槛,导致整个网络去中心化程度和安全性渐渐降低。

从 BTC 分叉出来的 BCH(Bitcoin Cash) 将区块大小从 1MB 提升至 32MB,BSV(Bitcoin Satoshi's Vision) 则是更激进地取消了区块大小上限,允许无限多的信息融入一个区块。

- 降低出块的时间,追求一定时间内出更多的块来处理更多的交易

这样对节点的**网络条件提出了更高要求**,提高了参与门槛。并且影响了全网数据同步的稳定性。因为物理上相隔较远的节点集群容易对最新的区块产生分歧,**导致分叉**

- 用特殊的共识机制提高性能

共识机制决定了全网节点对出块方式如何达成共识。一些特殊的机制也许可以提高出块速度,但共识机制越复杂,就对机器性能要求越高,也更容易出现单点故障导致整个系统出错。
Expand All @@ -538,11 +491,8 @@ Layer1区块链通常面临交易速度和吞吐量的限制,因此需要Layer
#### ref

- [WELCOME TO MY FIRST LAYER2](https://layer2.myfirst.io/zh#1.1-attempts-for-improvement)

- [Blockchain Academy 研报|区块链 101: 什么是 Layer2?](https://foresightnews.pro/article/detail/48040)

- [一文读懂Layer 2](https://blog.chain.link/what-is-a-layer-2-zh/)

- [什么是Layer2,为什么它们很重要?](https://www.theblockbeats.info/news/31329)

### 2025.3.11
Expand Down

0 comments on commit b480d5f

Please sign in to comment.