| timezone | UTC+8 |
|---|
- web2 fullstack dev, web3 newcomer
- 你认为你会完成本次残酷学习吗?应该会的
- 你的联系方式 Tyson
-
ABI
Application Binary Interface的缩写,它是机器代码层面的接口之间的两个二进制程序模块,而不是源代码
-
AMA
Ask Me Anything,通常指项目方或交易负责人举办的问答活动
-
空头
一种营销技巧,加密货币项目将其原始代币直接发送到其用户的钱包中,以努力提高用户转化率
-
山寨币
现在山寨币可能指任何市值相对较小的新加密货币
-
归档节点
区块链中的一个完整节点,它保留了自创世区块以来的完整交易历史和地址状态变化
-
Arbitrum
一个以太坊layer2的扩容解决方案,通过计算以太坊主网之外的交易,减少费用和网络堵塞。Arbitrum的滚动使用多轮欺骗证明来验证一致性的正确执行。
-
Burn
召回操作。(例如,如果原定由1万枚NFT组成的收藏品只售出5千枚,开发团队可能会决定Burn剩余五千枚NFT)
-
区块链
一个可公开访问的数字账本,用于存储和传输信息,不需要中心机构。区块链是构建比特币和以太坊等加密货币协议的核心技术。
-
Bridge
桥接。一种允许独立的区块链通信的协议,使数据、代币和其他信息在系统之间转移。
-
CEX
中心化交易所,用于交换或购买加密货币的平台(coinbase、bn)
-
DEX
去中心化交易所去中心化的交易所,一个建立在区块链上的点对点加密货币交易所。一个DEX由其用户和智能合约运行,而不是由里面的人物或中心化机构运行。
-
冷钱包
一种用于存储加密货币的离线设备。冷钱包可以是硬件设备,也可以包含用户私有密钥的简单纸片。由于冷钱包没有连接到互联网,它们通常是一种更安全的加密货币存储方法。
-
热钱包
一种可存储的数字资产的形式,可以通过计算机或手机访问。热钱包通常是免费的,但更容易受到黑客攻击。
-
共识
区块链上各节点之间的协议状态。达成共识是新交易被验证和新区块被添加到区块链的必要条件。
-
共识机制
区块链上的节点就交易或网络的状态达成的过程。如工作证明(POW)、权益证明(POS)。
-
创世
加密资产的第一波发售,一般带有巨大的新福利和权利,积累用户,给初始用户信心。
-
ICO
Initial Coin Invention,首次代币发行,向公众出售代币,便于为一个基于加密货币的项目募集资金,是一种众筹方式。
-
IEO
Initial Exchange Offers,首次交易所发行。与ICO概念类似,首次交易所发行是一种出售代币认购资金的方式,但监管力度加大。与ICO直接向公众出售代币不同,IEO是由现有的加密货币交易所管理。
-
DeFi
去中心化金融,正在公共区块链上构建无边界、无信任、点对点金融工具的生态系统,无需使用银行。
-
DD
尽职调查,在投资前对加密货币、股票或其他资产进行自己研究的过程。做好自己的DD是至关重要的,而不是别人根据别人的说法或做法来进行投资。
-
DYOR
做你自己的研究,在投资某项资产之前要进行自己的调查
-
Dapp
去中心化的应用程序,一种建立在区块链上的开源代码上的应用程序。Dapp独立于中心化的群体或人物而存在,通常通过奖励代币来激励用户维护它们。
-
分布式账本
一种在网络成员之间共享、复制和同步的数据库。
-
ERC
以太坊征求意见稿,标准的智能合约纲要,基于以太坊的智能合约是以此为基础建立的。
-
ERC-20
以太坊代币标准,为可替换的代币提供标准化的智能合约结构
-
二级市场
是买家与买家之间的互相流通的
-
Fiat
法币,由政府发行和监管的货币
-
分叉
对一个区块链协议的改变。当这些变化较小时,将导致软分叉。当这些变化根本上时,将会导致硬分叉,形成一个具有不同规则的独立链。
-
节点
连接到区块链网络的任何设备
-
全节点
完整节点,也成为全节点。一个区块链的节点、可存储区块链的完整历史,以及验证和转发交易。
-
轻节点
一个区块链节点,从区块链上下载的数据只够处理和验证交易。
-
主节点
一个区块链节点,验证和转发交易,存储区块链的完整历史,可参与投票、区块链的治理和其他特殊操作,主节点一般在一个基于抵押品的系统中上运行。
-
链上
包括区块链上的任何交易或数据,区块链网络上的所有节点可见
-
链外
指的是存在于区块链之外的任何交易或数据
-
Gas Fee
即燃料费,在以太坊中,每笔交易都需要使用手续费支付,假设从A账户转加密资产到B账户,过程中需要支付Gas Fee给帮忙完成交易的矿工,也称之为矿工费。
-
KYC
实名认证
-
L1
layer1,扩容方案,又称链上扩容,指在区块链底层协议上实现的扩容解决方案。
-
L2
ayer2,扩容方案,又称链下扩容。指不改变区块链底层协议和基础规则。通过状态提高通道、侧链等方案提高交易处理速度
-
L3
客户端应用层,是我们作为消费者交互交互的UI平台。
-
Mempool
矿池,是一组在以太坊节点间传播的内存数据结构,在挖矿前存储待处理的交易。
-
铸造
铸造,验证信息的过程,执行该过程的参与者被成为矿工
-
P2P
由终端或终端以上计算机组成的网络,没有中央服务器或实体的直接交互。
-
MEV
矿工可提取价值或最大可提取价值,矿工可提取价值或最大可提取价值,指矿工通过包括、修复或重新排序区块中的交易所能够获得的利润。
-
PoS
Proof of Stake,权益证明。一种投票机制,要求节点即验证者,在区块链上押注一定数量的加密货币,共同验证交易并铸造区块链的资格。
-
PoW
工作量证明,一种投票机制,要求矿工完成复杂的数学难题,以验证交易和铸币区块。当矿工正确地解决了一个问题,就获得相应的区块奖励和交易费用,并获得铸造下一个区块的权限。
-
Rugged
用于描述被诈骗,或被web3项目的塑造者欺骗
-
质押
将在交易所的智能合约中代币锁定其他奖励
-
智能合约
部署在区块链上的自执行代码,允许在没有任务的情况下进行交易。
-
稳定币
一种价值与另一种资产挂钩的代币,通常由法定货币支持,但也可与贵金属或其他资产挂钩。
-
测试网
模仿主网区块链的软件环境,用于测试网络升级智能合约,然后再部署到主网。
-
TVL
Total Value Locked,锁定的总价值。锁定在dapp智能合约中的资产的数量度,通常以美元表示。
-
ZK
Zero-Knowledge Proof,零知识证明,是一种验证方法,其中“证明者”向“验证者”现实拥有秘密知识而不揭露敏感信息本身。可以确保公共区块链上的数据隐私和保密性
-
稳定币概念
稳定币是一种加密货币,旨在通过将其价值与标的资产挂钩或通过算法增加或减少流通中硬币的供应,使其比其他类型的加密货币更稳定。
-
稳定币逻辑
稳定币的设计思路是通过将稳定币的价值和标的物资产或通过法币的兑换来保持其价格的稳定。
常见的稳定币发行机构会将稳定和一定数量的法定货币兑换,将这一比例写入只能合约中。当用户购买稳定币时,相应数量的法币会被冻结,而发行的稳定币则会随之流通。
-
稳定币特点
-
认证
认证报告是稳定币体系的重要部分
-
储备资产的性质
需要一系列高质量、高流动性的资产以保证设计良好的稳定币的正常运行。
-
监管与等级
稳定币和负责其运营的法律实体必须受到一个强大的监管机构的监管,该监管机构必须建立在一个法律成熟、治理良好的司法管辖区,以降低金融犯罪的风险。
-
技术
稳定币的作用效果取决于其基础技术和传统非区块链技术的集成程度。
-
-
稳定币类型
-
法币抵押型稳定币
法币抵押型稳定币的主要特征是以法币作为底层资产,中心化机构作为承兑商。其有着刚性兑付的责任。例如:USDT、USDC等。
-
USDT
USDT是Tether公司推出的锚定美元的稳定币。
USDT与其他加密货币一样,建立在区块链上,目前可以在Ethererum、Tron、Solana、Algorand、EOS、Omni、Avalanche等多个公链上铸造和交易。Tether公司号称严格遵守1:1准备金保证,即每发行1个USDT,其银行账户就有1美元的保证金。
-
USDC
USDC是由Circle公司发行的一种完全抵押的锚定美金的稳定币。
-
-
超额抵押型稳定币
顾名思义就是,抵押资产的价值>铸造的稳定币的价值。
-
商品抵押型稳定币
类似于法币抵押型稳定币,商品抵押型稳定币是以实物商品(如黄金、白银、石油等)进行抵押,旨在通过固定价格赎回基础商品来维持其稳定币的价格。
如 Paxos Gold(PAXG),它以黄金作为储备金支撑。每枚PAXG都代表了一盎司黄金的所有权。
-
算法稳定币
**算法稳定币试图通过动态扩大或收缩代币供应来维持与美元等资产的挂钩。**它们的价格稳定性来自于使用专门的算法和智能合约来管理流通中的代币供应。
但算法稳定性必需依赖于极强的算法,**一旦算法出现漏洞,将造成极其严重的后果。**例如Luna设计的USTC就是一种算法稳定币,但由于它们的内在算法没有考虑到一些极端情况而出现了黑天鹅或突发事件,导致最终脱锚崩盘。
-
-
稳定币优缺点
-
优点
-
价格的稳定
-
抵抗风险
配置一定比例的投资组合为稳定币,可以有效地降低整体风险。这样的投资组合更能抵抗市场价格波动。
-
提升交易效率
**稳定币可以在区块链上快速传输,并且交易费用相对较低。**这使得稳定币成为快速和廉价跨境支付的理想选择,特别是在没有中间银行或汇款服务的情况下。
-
-
缺点
-
中心化风险
-
监管问题
-
技术风险
稳定币的发行和运行都是以区块链技术为基础。然而区块链技术可能面临技术问题、网络拥堵、安全漏洞等风险,都可能对稳定币的市场造成不良影响。
-
-
-
总结
总的来说,稳定币作为一种全新的时代产物,在数字金融领域中扮演着非常重要的角色,平衡了传统金融体系与新兴加密货币市场之间的需求。无论是作为价值存储工具,或是促进金融创新,稳定币都在其中起到关键作用。然而,在使用稳定币我们也应当保持谨慎,充分了解其特点和风险,以做出明智的决策。
区块链是一个分布式账本或数据库,对任何人都开放。与传统的数据库(如SQL数据库)不同,其中单个实体控制数据,区块链在去中心化的平台上运行。可以将其视为交易的数字账本,这些交易在区块链的整个计算机系统网络上复制和分发。
区块链(blockchain) 是一种数据以区块(block) 为单位产生和存储,并按照时间顺序首尾相连形成 链式(chain) 结构,同时通过密码学保证不可篡改、不可伪造及数据传输访问安全的 去中心化分布式账本。
区块是链式结构的基本数据单元,聚合了所有交易相关信息,主要包含 区块头和 区块主体两部分。区块头主要由父区块哈希值(Previous Hash)、时间戳(Timestamp)、默克尔树根(Merkle TreeRoot)等信息构成;区块主体一般包含一串交易的列表。每个区块中的区块头所保存的父区块的哈希值,便唯一地指定了该区块的父区块,在区块间构成了连接关系,从而组成了区块链的基本数据结构。
区块链的基础技术主要包括: 哈希运算、数字签名、P2P网络、共识算法以及智能合约等
-
区块和链
每次发生交易时,它都会添加到“区块”中。一旦一个区块填满了交易,它就会链接到前一个区块,形成一个称为“区块链”的区块链。因此得名!
-
P2P网络
在区块链中,网络上的每个参与者(节点/计算机)都可以访问整个数据库和完整的交易历史记录。每个人都可以直接验证其交易合作伙伴的记录,而无需中介。
P2P架构打破了传统的 C/S架构 ,去除了中心服务器,是一种依靠用户群共同维护的网络结构。由于节点间的数据传输不再依赖中心服务节点, P2P 网络具有极强的可靠性,任何单一或者少量节点故障都不会影响整个网络正常运转。同时 P2P 网络的网络容量没有上限,因为随着节点数量的增加,整个网络的资源也在同步增加。同时由于 P2P 网络中暗含的激励机制也会尽力向其他节点提供服务,因此,实际上 P2P 网络中节点数目越多, P2P 网络提供的服务质量就越高。
**P2P网络数据传输方式:**在区块链中,所有交易及区块的传播并不要求发送者将消息发送给所有节点。节点只需要将消息发送给一定数量的相邻节点即可,其他节点收到消息后,会按照一定的规则转发给自己的相邻节点。最终通过一传十、十传百的方式,最终将消息发送给所有节点。
当一个节点需要发起转账时,需要指明转账目的地址、转账金额等信息,同时还需要对该笔交易进行签名。由于不存在中心服务器,该交易会随机发送到网络中的邻近节点,邻近节点收到交易消息后,对交易进行签名,确认身份合法性后,再校验余额是否充足等信息。均校验完成后,它则会将该消息转发至自己的邻近节点。以此重复,直至网络中所有节点均收到该交易。最后,矿工获得记账权后,则会将该交易打包至区块,然后再广播至整个网络。区块广播过程同交易的
广播过程,仍然使用一传十、十传百的方式完成。收到区块的节点完成区块内容验证后,即会将该区块永久地保存在本地,即交易生效。 -
透明性和不可篡改性原因
哈希实现防篡改。交易是透明的,但是是私有的,每个操作对任何人都是可见的,确保了生态系统的完全透明性。一旦信息存储在区块链中,它几乎是不可能更改或删除的。
在区块链中,每个区块头部包含了上一个区块数据的哈希值,这些哈希层层嵌套,最终将所有区块串联起来,形成区块链。区块链里包含了自该链诞生以来发生的所有交易,因此,**要篡改一笔交易,意味着它之后的所有区块的父区块哈希全部要篡改一遍。**这需要进行大量的运算。如果想要篡改数据,必须靠伪造交易链实现,即保证在正确的区块产生之前能快速地运算出伪造的区块。同时在以比特币为代表的区块链系统要求连续产生一定数量的区块之后,交易才会得到确认,即需要保证连续伪造多个区块。只要网络中节点足够多,连续伪造的区块运算速度都超过其他节点几乎是不可能实现的。
另一种可行的篡改区块链的方式是,某一利益方拥有全网超过 50% 的算力,利用区块链中少数服从多数的特点,篡改历史交易。然而在区块链网络中,只要有足够多的节点参与,控制网络中 50% 的算力也是不可能做到的。即使某一利益方拥有了全网超过 50% 的算力,那已经是既得利益者,肯定会更坚定地维护区块链网络的稳定性。
通过哈希构建默克尔树,实现内容改变的快速检测。默克尔树在生活中其他领域应用也非常广泛。例如 BT下载 ,数据一般会分成很多个小块,以保证快速下载。在下载前,先下载该文件的一个默克尔树,下载完成后,重新生成默克尔树进行对比校验。若校验不通过,可根据默克尔树快速定位损坏的数据块,重新下载即可。
-
数字签名
在密码学领域,一套数字签名算法一般包含签名和验签两种运算,数据经过签名后,非常容易验证完整性,并且不可抵赖。只需要使用配套的验签方法验证即可,不必像传统物理签名一样需要专业手段鉴别。数字签名通常采用非对称加密算法,即每个节点需要一对私钥、公钥密钥对。所谓私钥即只有本人可以拥有的密钥,签名时需要使用私钥。不同的私钥对同一段数据的签名是完全不同的,类似物理签名的字迹。数字签名一般作为额外信息附加在原消息中,以此证明消息发送者的身份。公钥即所有人都可以获取的密钥,验签时需要使用公钥。因为公钥人人可以获取,所以所有节点均可以校验身份的合法性。
-
共识算法
共识算法是一种用于在分布式进程或系统之间达成关于单个数据值的协议的技术。区块链使用诸如工作量证明和权益证明之类的共识模型来同意交易的有效性。
为什么要共识? 区块链通过全民记账来解决信任问题,但是所有节点都参与记录数据,那么最终以谁的记录为准?或者说,怎么保证所有节点最终都记录一份相同的正确数据,即达成共识?在传统的中心化系统中,因为有权威的中心节点背书,因此可以以中心节点记录的数据为准,其他节点仅简单复制中心节点的数据即可,很容易达成共识。然而在区块链这样的去中心化系统中,并不存在中心权威节点,所有节点对等地参与到共识过程之中。由于参与的各个节点的自身状态和所处网络环境不尽相同,而交易信息的传递又需要时间,并且消息传递本身不可靠,因此,每个节点接收到的需要记录的交易内容和顺序也难以保持一致。更不用说,由于区块链中参与的节点的身份难以控制,还可能会出现恶意节点故意阻碍消息传递或者发送不一致的信息给不同节点,以干扰整个区块链系统的记账一致性,从而从中获利的情况。因此,区块链系统的记账一致性问题,或者说共识问题,是一个十分关键的问题,它关系着整个区块链系统的正确性和安全性。
简单来说,智能合约是一种在满足一定条件时,就自动执行的计算机程序。例如自动售货机,就可以视为一个智能合约系统。客户需要选择商品,并完成支付,这两个条件都满足后售货机就会自动吐出货物。合约在生活中处处可见:租赁合同、借条等。传统合约依靠法律进行背书,当产生违约及纠纷时,往往需要借助法院等政府机构的力量进行裁决。智能合约,不仅仅是将传统的合约电子化,它的真正意义在革命性地将传统合约的背书执行由法律替换成了代码。俗话说,规则是死的,人是活的 ,程序作为一种运行在计算机上的规则,同样是死的。但是死的也不总是贬义词,因为它意味着会严格执行。
比如,球赛期间的打赌即可以通过智能合约实现。首先在球赛前发布智能合约,规定:今天凌晨2:45,欧冠皇马VS拜仁慕尼黑,如果皇马赢,则小明给我1000元;如果拜仁赢,我给小明1000元。我和小明都将1000元存入智能合约账户,比赛结果发布,皇马4:2胜拜仁,触发智能合约响应条件,钱直接打入我的账户,完成履约。整个过程非常高效、简单,不需要第三方的中间人进行裁决,也完全不会有赖账等问题。
为什么区块链的出现使智能合约受到了广泛的关注 尽管智能合约这个如此前卫的理念早在1995年就被提出,但是一直没有引起广泛的关注。虽然这个理念很美好,但是缺少一个良好的运行智能合约的平台,确保智能合约一定会被执行,执行的逻辑没有被中途修改。区块链这种去中心化、防篡改的平台,完美地解决了这些问题。智能合约一旦在区块链上部署,所有参与节点都会严格按照既定逻辑执行。基于区块链上大部分节点都是诚实的基本原则,如果某个节点修改了智能合约逻辑,那么执行结果就无法通过其他节点的校验而不会被承认,即修改无效。
智能合约的原理 一个基于区块链的智能合约需要包括f处理机制、数据存储机制以及完备的状态机,用于接收和处理各种条件。并且事务的触发、处理及数据保存都必须在链上进行。当满足触发条件后,智能合约即会根据预设逻辑,读取相应数据并进行计算,最后将计算结果永久保存在链式结构中。
智能合约的安全性是智能合约开发中至关重要的方面。由于智能合约一旦部署到区块链上就难以更改,任何漏洞都可能导致严重的经济损失和信誉损害。因此在开发智能合约时,必须高度重视安全性,采取各种措施来防止潜在的攻击。
-
逻辑漏洞
合约代码的逻辑存在错误,导致合约无法按预期执行
-
重入攻击(Reentrancy Attack)
这是最常见的智能合约漏洞之一。攻击者利用合约中的回调,在合约更新状态之前重复调用自身函数,从而窃取资金。
-
整数溢出/下溢(Integer Overflow/Underflow)
由于Solidity早期版本对整数运算没有进行溢出检查,可能导致计算错误。现在Solidity版本已经默认启用了溢出检查,但仍需注意使用SafeMath库或Solidity 0.8.0及以上版本。
-
访问控制漏洞
未正确设置访问控制,导致未经授权的用户可以执行敏感操作
-
拒绝服务攻击(DoS)
未正确设置访问控制,导致未经授权的用户可以执行敏感操作
-
短地址攻击(Short Address Attack)
针对ERC-20代币的攻击,攻击者通过构造短地址来欺骗合约,导致资金损失。
-
时间戳依赖(Timestamp Dependence)
不应过度依赖区块时间戳,因为它可能被矿工操纵
-
随机数安全性
区块链上的随机数生成通常不安全,不应用于关键场景,例如抽奖。应使用专门的随机数生成服务,例如Chainlink VRF
-
代码审计
在部署合约之前,务必进行全面的代码审计,最好由专业的安全审计公司进行。代码审计可以帮助发现潜在的安全漏洞,并提供改进建议
-
形式化验证
使用数学方法来证明合约的正确性,可以有效地发现逻辑漏洞
-
编写安全的代码
使用最新的Solidity版本,并启用溢出检查。 使用SafeMath库进行数学运算。 遵循检查-生效-交互模式(Checks-Effects-Interactions pattern)来防止重入攻击。 限制循环次数和Gas消耗,防止拒绝服务攻击。 对输入数据进行严格的验证。 使用合适的访问控制机制
-
充分测试
进行单元测试、集成测试和模糊测试等多种测试,以确保合约的正确性和鲁棒性
-
使用成熟的开发工具和框架
例如Truffle、Hardhat等,这些工具和框架提供了一些安全相关的特性和工具。
-
关注安全最佳实践
关注社区和安全公告,及时了解最新的安全漏洞和最佳实践
-
使用形式化验证工具
例如Certora Prover等,对合约进行形式化验证,以数学方式证明合约的正确性
-
采用代理模式进行升级
智能合约一旦部署就无法直接修改。使用代理模式可以实现合约的升级,而无需重新部署整个合约,降低风险
-
Layer1是什么
Layer1 是区块链的第一层,是所有区块链活动发生的地方,包括交易的处理、验证和记录。
-
Layer1的起源
Layer1 的概念诞生于区块链的早期发展阶段。这种探索导致了 Layer1 技术的发展,它成为了构建去中心化网络的基础。
-
Layer1核心概念
-
去中心化
Layer1区块链由分布式计算机网络维护,不存在单点故障或中心化的控制机构,确保了系统的去中心化特性
-
不变性
一旦交易被添加到Layer1区块链,它们就无法被更改或删除,为数据提供了高度的可信度和完整性
-
共识机制
Layer1区块链使用共识机制(如工作量证明PoW、权益证明PoS等)来达成交易记录的共识,确保网络的安全和数据的一致性
-
智能合约支持
一些Layer1区块链(如以太坊)允许开发人员在链上创建和部署智能合约,实现自动化的业务逻辑
-
-
Layer1的技术流派
共识机制是 Layer1 的核心,协调着所有数据流动和交易处理的顺序。主要的共识机制包括
-
PoW
一种通过解决复杂数学难题来验证交易并创建新区块的机制,比如在比特币中使用。实现方式通常涉及矿工使用计算能力寻找一个数值,该数值的哈希符合特定条件,例如以一定数量的零开头。这个过程确保了网络的安全和去中心化。
-
PoS
一种更为节能的机制,通过持币量和持币时间来选出验证者。不同于PoW依赖于计算能力,PoS依赖于持币者的经济投入。这减少了能源消耗,并促进了网络安全。
-
Layer1 的网络结构决定了信息在区块链中的传播方式。有的网络设计重视速度和效率,而有的则更加强调安全和去中心化。
Layer1是基础层,负责核心的交易验证和数据存储;Layer2是扩展层,旨在提高交易速度和扩展性
Layer1区块链通常面临交易速度和吞吐量的限制,因此需要Layer2解决方案来提升性能
-
公链(开放的数字大道)
公链是 Layer1 技术的最广泛应用形式,代表着区块链技术的核心特质:开放性、去中心化和透明性。
-
公链代表
- 比特币(Bitcoin):作为第一个和最著名的公链,比特币引领了数字货币的革命。
- 以太坊(Ethereum):不仅作为货币,还通过其智能合约功能扩展了区块链的应用范围。
- Solana:高性能区块链,支持高吞吐量和低延迟的交易
-
公链挑战
-
可扩展性
随着用户数量的增加,处理大量交易的能力成为一个挑战
-
能源消耗
特别是对于采用 PoW 共识机制的公链,如比特币
-
-
-
联盟链(协作的桥梁)
联盟链是一种介于公链和私链之间的区块链形式,它在特定的组织群体之间建立起了信任和合作的桥梁。
- 联盟链应用
- R3 Corda:金融服务行业中的联盟链,旨在提高银行间交易的效率
- Hyperledger Fabric:由Linux基金会发起,用于企业级区块链解决方案
- Quorum:由摩根大通开发,是一个基于以太坊的企业焦点的区块链平台
- 联盟链优势
- 高效率和低成本:较少的节点数量意味着更快的交易处理速度和更低的运行成本。
- 更好的隐私保护:适用于需要保护敏感数据的场景。
- 联盟链应用
-
私链(专有的数字领地)
联盟链是由一群组织共同管理的区块链,它们像是只对特定成员开放的专用小径。私链则更加封闭,像是个人的秘密花园,只有拥有者才能访问和控制。私链主要用于特定的组织或企业内部,提供了一种既安全又高效的数据管理方式。
区块链是一种去中心化的分布式账本技术,其基础原理是通过加密算法将交易记录打包成区块,并按照时间顺序链接起来形成不可篡改的链式结构。
为了保证参与门槛足够低,比特币将全网同步的出块时间控制在 10 分钟,平均 TPS [1](每秒可处理交易笔数)仅有个位数。以太坊出块时间约 12 秒,平均 TPS 也仅有十几笔。这对比于传统 Web2 的经济活动来说,远远不够用。
提高性能的尝试
-
增大单个区块的大小,容纳更多的交易
这样做会引起区块账本的快速膨胀,参与验证的机器性能要求越来越高,提高了参与门槛,导致整个网络去中心化程度和安全性渐渐降低。
从 BTC 分叉出来的 BCH(Bitcoin Cash) 将区块大小从 1MB 提升至 32MB,BSV(Bitcoin Satoshi's Vision) 则是更激进地取消了区块大小上限,允许无限多的信息融入一个区块。
-
降低出块的时间,追求一定时间内出更多的块来处理更多的交易
这样对节点的网络条件提出了更高要求,提高了参与门槛。并且影响了全网数据同步的稳定性。因为物理上相隔较远的节点集群容易对最新的区块产生分歧,导致分叉。
-
用特殊的共识机制提高性能
共识机制决定了全网节点对出块方式如何达成共识。一些特殊的机制也许可以提高出块速度,但共识机制越复杂,就对机器性能要求越高,也更容易出现单点故障导致整个系统出错。
如 Solana,全网节点依赖随机选出的单个 Leader 节点来协调,因此获得了极高的理论 TPS 上限,但对节点性能要求变得非常高,并多次发生全网宕机的安全性事故。
目前高性能公链的探索成果,普遍获得了将 TPS 提升至 100 ~ 1000 的成绩,但共识节点数量也降低为几十个至一千多个不等。对比于以太坊分布全球的近万个共识节点 [3],高性能公链在性能提高了一两个数量级的同时,去中心化程度也下降了一两个数量级。
追求安全性和可扩展性(即性能),往往采用少数超级节点进行通讯,超级节点拥有更强的性能和更好的网络环境,彼此之间能实现超高速的通讯。但参与门槛过高,牺牲了去中心化程度。(代表区块链:BSC、EOS、TRON 等区块链采用了少数高性能节点维护网络,仅有 21 个超级节点进行记账。)
-
去中心化(Decentralization)
指的是在区块链系统中,所有的节点都具有相同的权力,没有单一的中心化权威节点进行控制。这个目标是区块链的核心特性,也是保证系统安全性和抗攻击性的基础。
-
安全性(Security)
指的是在区块链系统中,保证交易的真实性、完整性、不可篡改性和抗攻击性等方面的安全。这个目标是区块链系统的重要保障,也是确保系统可靠性和信任度的基础。
-
可扩展性(Scalability)
可扩展性即性能,指的是在区块链系统中,支持足够大量的交易、节点和用户等系统扩展。这个目标是区块链系统的重要需求,也是确保系统能够满足现实需求的基础。
这三个目标之间存在矛盾关系。例如,在追求更高的去中心化的情况下,需要所有节点都保存完整的区块链数据,但是这会导致系统的可扩展性降低。相反,在追求更高的可扩展性的情况下,需要牺牲一定的去中心化;还比如采用分片技术 [1] 来扩容,但是可能导致节点同步数据困难,更容易发生故障,导致安全性降低。
任何一个区块链系统在设计时都需要在这三个目标之间进行平衡取舍,优化其中一个目标很可能导致牺牲其他目标的部分性能。这使得区块链系统在 Layer 1 层横向做改进时遇到了难以逾越的障碍,那么,有没有办法绕过区块链不可能三角呢?
- WELCOME TO MY FIRST LAYER2
- Blockchain Academy 研报|区块链 101: 什么是 Layer2?
- 一文读懂Layer 2
- 什么是Layer2,为什么它们很重要?
状态通道使用了多签技术,允许两个个体之间提前存入一笔资金锁定在智能合约中,建立一个内部通道,然后双方可以在通道内进行多笔小额转账,速度极快,成本极低,再在一段时间后用转账证明一次性提款。状态通道也是比特币的 Lightning Network(闪电网络),以太坊的 Raiden Network(雷电网络)背后的底层技术。
在雷电网络中,用户除了在通道内快速转账,还能借助多个节点的中转,向其他没有直接连接的账户发送资金。雷电网络节点越多,整个网络能处理交易的规模也将越大,实现有效扩容。
状态通道技术本质上是使用了中心化的节点,用户在链上质押一笔较大额的资金,然后在链下用签了名的“欠条”进行付款,积攒了一定量的“欠条”之后,任何一方都可以选择关闭通道进行结算。链上的智能合约只认可同时拥有双方签名的转账信息,Alice 和咖啡店都拥有自己的签名,再加上“欠条”上对方的签名,才能凑齐签名通过多签验证,因此无法提取不属于自己的资金。
但这样做产生了 2 个新的问题:
- Alice 和咖啡店之间攒“欠条”的约定仅适合于最简单的转账交易,去中心化金融要实现的交易比转账复杂得多,那么想要实现更复杂的交易要怎么办呢?为了解决这个问题,引出了侧链方案。
- Alice 可以给咖啡店发送资金,若超市与咖啡店有通道,也可以借助咖啡店向超市发送资金,但是如何给未参与雷电网络的个体发送资金呢?这个问题,则引出了 Plasma 方案。
为了解决状态通道无法执行复杂交易的问题,侧链方案进入人们视野。
侧链可以理解为一条相对独立的区块链,它们往往采用与主链(一般是以太坊)类似的架构,方便主链上的项目迁移至侧链。
我们可以在主链的智能合约内锁定一定量的资产,然后在侧链上铸造等量资产,实现“原子交换”。用这种方式将资产存入侧链,在侧链上进行各种交易,然后在必要时转移回主链。
侧链会进行一定的定制化,获得更高的性能,帮助主链分担交易压力
- 采用 POS 共识机制(Proof of Stake),大幅提高了出块速度以达到扩容的目的。如 Polygon 侧链,将出块时间缩短至 2 秒。
- 采用 POA 共识机制(Proof of Authority),用更少的经过授权的超级节点进行通信,以实现侧链上的超高性能。如负责游戏资产交易的 Ronin 侧链,因游戏内的 NFT 资产本就比较中心化,所以这种更中心化的方案也可以接受。
侧链是否属于 Layer 2 存在一定争议,因为侧链虽然受主链的影响,但不继承主链的安全性这一点存在很大隐患。侧链安全性由自身的共识节点负责,因此侧链本身的安全性,以及侧链与主链之间的通讯桥都可能出现问题。根据木桶原理,安全性取决于所有环节里最短的木板,侧链出现问题会影响整个生态的安全。
随着状态通道和侧链方案在实践中暴露出不足,Plasma 方案被提出并得到重视,它解决了前面两者暴露出的两个问题:
- 无法给未参与的个体发送资金:未加入 Plasma 链的账户也可以收到资金,然后自行提取到 Layer 1。
- 无法继承 Layer 1 安全性:Plasma 定期向主链提交信息,以继承 Layer 1 安全性。
虽然 Plasma 最终未能大规模使用,但它的一些理念在后续的 Layer 2 方案中被吸收和发展。
既然困扰 Plasma 最大的问题是数据可用性,也就是监督者不容易获取交易数据以进行检验的问题。那我们如果不仅仅上传一个根证明,而是把必要的关键数据通通上传至 Layer 1 ,是不是就解决了这个棘手问题呢?
这个思路带来了目前最具可行性的 Layer 2 扩容方案: Rollup。Rollup 意为“打包”,也就是**将一段时间内发生的交易先进行压缩,再进行打包,然后周期性地上传至主网。**目前主流的 Rollup 方案分为两大路线,分别为 Optimistic Rollup(乐观的 Rollup)与 Zero-knowledge Rollup(零知识证明的 Rollup)。
- Optimistic Rollup:OP-Rollup 是将一段时间内的所有交易细节全部压缩打包,定期发送至 Layer 1。这种机制乐观地相信大部分交易都是诚实的,继承了 Plasma 挑战期和欺诈证明机制。
- Zero-knowledge Rollup:ZK-Rollup 一般是将一段时间内的交易计算完成后,将状态变化的结果压缩打包,并附上交易已经在 Layer 2 被正确执行的零知识证明,定期发送至 Layer 1。用零知识证明代替监督者,依赖数学而非验证者(Rely on Math, not Validators)。
Rollup 的二层解决方案,略微降低了去中心化程度,但获得了以下优点:
- 大幅分担了 Layer 1 层的计算负担,有效实现扩容;
- 压缩交易数据,节省了 Layer 1 的存储资源;
- 向 Layer 1 上传必要的关键信息,且一层对二层的状态有最终裁决权,从而最大程度地继承了 Layer 1 的安全性
以 OP-Rollup 的为例,我们要向 Layer 1 上传一段时间内的所有交易详情,如果不对这部分数据进行高度压缩,那分担负载的效果就非常小了。我们以单笔交易为例,它身上其实有许多可改进的空间。
比如一笔常见的转账交易,它的原数交易数据可能是以下这样的:
4232f4610000000000000000000000007ea2be2df7ba6e54b1a9c70676f668455e329d29000000000000000000000000d548a5e31de2b4c2681a58a3be5302abcae4bc5700000000000000000000000000000000000000000000000000000000000186a0
(Method ID / 填充的0/ 代币合约地址 / 填充的 0 / 收款的账户地址 / 填充的 0 / 提币数量)
原始交易数据可以通过以下手段压缩:
- 用科学计数法 把转账数量压缩成 64 位数据,并删除不必要的 0。(数量的精度会略微下降,但实践中影响不大)
- 调用的方法如果很常见,可以删除所调用的 Method ID,因为如“转账一笔 ERC20 [3] 代币”的交易,可以通过交易内容的特征推测
- 常用行为设置绿色通道(Helper ID):大部分发送代币的行为都是如 USDC、WETH 等常用代币,可以用更短的一个 Helper ID,来表示调用方法是“发送”,发送的代币是“USDC”这两个信息。
- 登记一个“电话簿”,记录收款人地址,将 40 位的地址压缩为第 XXX 页的第 X 个地址。
- 如果发送的是 ETH,连 Helper ID 都可以省掉。
最终我们需要上传至 Layer 1 的数据从一段非常长的信息
4232f4610000000000000000000000007ea2be2df7ba6e54b1a9c70676f668455e329d29000000000000000000000000d548a5e31de2b4c2681a58a3be5302abcae4bc5700000000000000000000000000000000000000000000000000000000000186a0
变为了
059c570186a0
Layer 1 存储数据的成本是非常高昂的,Layer 2 的执行成本绝大部分的都消耗在了这一步,因此压缩需要上传的数据上可以显著降低 Layer 2 整体的交易成本。除了以上压缩手段以外,还有进一步压缩的空间吗?
数据压缩是个远早于区块链就存在的技术,除了前面对交易的定制化压缩之外,还有许多压缩算法能帮助进一步压缩数据空间。比如我们生活中往往都接触过 zip、rar、7z 压缩包,它们就是使用了压缩算法将各种文件的体积减小。
Optimism 的 Zlib 压缩算法、 Arbitrum 的 Brotli 压缩算法都能起到类似的作用。
Optimistic Rollup 是“乐观的打包”,它假设绝大部分的参与者都是诚实的,允许一批数量较少的验证者节点(Validator),对交易进行收集、排序、验证。同时还设置了挑战者的角色(Challenger),其职责是监督验证者提交的信息是否诚实。
OP-Rollup 会定期向主网上传两种数据:
-
状态根
状态根可以快速确认 Layer 2 小账本的内容是否被篡改
-
压缩后的全部交易数据
包含各种交易细节,比如交易附带的“用户签名”。
虽然上传了近段时间的全部交易详情,但以太坊主网并不负责直接验证这些交易,只起到一个公示的作用。
与 Plasma 类似,OP-Rollup 也使用默克尔树的形式保存了一个“小账本”,记录了全体账户的所有状态(账户余额)。如果我们相信目前的交易验证者(Validator)都是诚实的,那么状态根能快速确认当前 Layer 2 的小账本记录的内容是否被篡改,确保安全性。
反之,假如我们对目前的交易合法性产生质疑,任何第三方都可以在主网获取最近一段时间内所有交易的副本,重新验证之后,将自己验证的结果与 Layer 2 的小账本的记录做对比,确认小账本上的记录均为合法。如果发现作恶,挑战者就可以在以太坊一层提交欺诈证明来改写二层的状态。挑战成功后,不诚实的验证者将受到惩罚,挑战者将获得奖励。同时,受影响的交易将被回滚,进行重新验证。
这个过程中,负责监督的挑战者(Challenger)是直接与 Layer 1 的智能合约交互的,一层对二层的状态有着最终裁决权。
这种设计之下,即使只有一个诚实的挑战者,也足以确保整个 Layer 2 的交易安全。不过代价是 OP-Rollup 必须提供一个退出窗口期,让挑战者有时间去检验并提交欺诈证明,因此使用官方桥从 OP-Rollup 网络提款往往需要 7 - 14 天的等待期。
OP-Rollup 的逻辑简单易懂,而且上传了全部交易细节,因此对 EVM (以太坊虚拟机)的兼容性也非常好,很有利于落地实施。
Rollup 是一种解决方案,它使用主链上的一个智能合约与侧链或链下交互。交易在主链外执行,但处理交易数据并将其发布在 Layer1 上。 Rollup 继承了主链的安全和共识方面,并专注于执行交易性能。 Rollups 有两种广泛的形式:Optimistic Rollups 和 ZK-Rollups。
Optimistic Rollups 不执行任何操作,它们与主链同时运行。交易执行后,数据被发布回主链并假设它是正确的,因此得名为optimistic。
Optimistic Rollups 的主要问题是时间。必须有足够的时间发送欺诈证明并验证该批次中没有欺诈交易,才能在主链上验证交易。所以,假设你在 Optimistic Rollup 链中提交了一个代币交换的交易,你将不得不等待该批次通过争议解决系统,如果涉及欺诈交易,它是一个待处理的交易,然后才能进行交易得到验证。此过程可能需要几天甚至几周的时间,这意味着您可能需要等待很长时间才能执行交易。因此,一种更复杂的 Rollup 技术应运而生,称为 ZK-Rollups。
零知识证明是指向他人证明某个命题为真,但又不透露“该命题为真”之外的任何信息。例如,有一个环形的长廊,在走廊中间某处有一道安装了密码锁的门。如果 A 要向 B 证明自己拥有该门的密码,无需向 B 展示自己打开密码锁的过程。只需要让 B 看着 A 从入口进入走廊,然后又从另一侧的出口走出走廊,就可以完全证明 A 拥有密码,同时免除了暴露密码的风险。
零知识证明具备以下性质:
-
完备性
若命题为真,任何证明者可以向验证者提出令人信服的证据。即真的可被验证
-
可靠性
若命题为假,则不存在不诚实的证明者能骗过验证者,即假的会被发现
-
零知识性
证明某个命题为真,但又不透露“该命题为真”之外的其他任何信息
工程实践上我们还要求零知识证明的算法拥有以下性质:
-
间接性
证明很小且验证速度快
-
零知识
可以隐藏计算的输入信息
简单地说,ZK-Rollup 利用零知识证明来执行链下计算和存储,然后将批次发送到 Layer1,在那里它们会立即被验证或拒绝。资金由主链上的智能合约持有。
ZK-Rollups 也可以实现低成本,但在交易处理方面效率更高。目前在 ZK-Rollups 上工作的项目是 StarkNet、Loopring 和 zkSync。然而,ZK-Rollup 的挑战在于它与以太坊虚拟机(EVM)及其智能合约不兼容,与 EVM 不兼容意味着以太坊上的现有应用程序将无法轻松与 Rollup 链交互。 Vitalik 认为 ZK-Rollups 仍然需要多年的改进才能成熟。 Optimistic Rollups 可能是一个很好的临时解决方案,但 ZK-Rollups 是实现低成本和高 TPS 的最优选择。
有了神奇的零知识证明,我们就可以上传更少的数据到 Layer 1 ,从而实现更高的扩容上限。
ZK-Rollup 会周期性向主网上传 3 种数据:
- 状态根:状态根可以快速确认 Layer 2 小账本的内容是否被篡改
- 交易数据:经过压缩和聚合的交易数据,例如将多个交易合并为一批次的状态变化结果。通过使用零知识证明保证交易的安全性,可以舍弃一些不必要的信息,例如前面提到的“用户签名”。
- 有效性证明:即零知识证明,让 Layer 1 的智能合约在经过简单验证后,就能确认交易已经被正确执行
ZK-Rollup 与 OP-Rollup 最大的不同,就在于 Layer 1 是否对 Layer 2 上传的数据进行验证。
ZK-Rollup 方案依靠 Layer 1 上的智能合约,用很小的代价检验 ZK Proof 的有效性,如果检验通过则表示这批交易已经被正确执行,那就更新状态。如果检验不通过,则拒绝这一批次的交易。
OP-Rollup 则完全将 Layer 1 当成了解决数据可用性的公告板,依赖挑战者的监督,两者的安全性和交易确认速度都会产生明显差异。
ZK-Rollup 的优点显而易见:
- 依靠数学而非验证者,安全性更有保障,并且确认时间更短
- 更高的压缩率,让 Layer 2 的扩容上限更高
纵览二层扩容方案的发展历程,其实都源自于数据可用性影响了安全性与实用性。
- 侧链方案,数据对主链来说不可用,所以无法继承主链安全性。
- Plasma 方案,状态根可以保障链下账本的不被篡改,但具体交易数据对一层网络来说也不可用,导致资金退出困难。
- OP-Rollup 方案,让所有交易的详细数据都存在一层网络上,确保了全部交易数据的可用性,从而确保二层网络的安全。
- ZK-Rollup 方案,提供关键交易数据以及能证明链下交易已经被正确执行的零知识证明,实现安全性的同时,还能一定程度保证隐私性。Rely on Math,Not Validator.
DeFi是Decentralized Financial(去中心化金融)一词的缩写,是指建立在区块链(Ethereum为主)上的数字资产、金融智能合约、协议和去中心化应用(DApps)。简单来说,就是建立在区块链上的金融软件
DeFi与CeFi(以中心化交易所为代表)的本质不同,在于你所参与的一切都是真实发生的。每一次交易、每一笔借款、流动池里的存币、钱包里的资产,这些都是真实存在于链上,而不是交易所的一条数据库记录。
DeFi的主要应用包括交易所、稳定币、存借贷、理财、金融衍生品、支付、期货合约、跨链支付、预言机等业务,更新兴的还有彩票、拍卖、预测等等。
DeFi有庞大的产品和服务内容,但你也可能会发现他们过于分散化了,因此也催生了一些聚合类应用,如交易聚合、理财策略代理、资产清单等等。
- 从交易中获取币价波动收益
- 抵押资产存借贷获得利息收益
- 为DEX提供流动性(Liquidity mining)获取收益
- 理财策略(Yield 2arming)收益
- 其他意外之财(彩票、拍卖、IDO等)
这里推荐3个交易方式,1inch、Uniswap和Curve
Uniswap是目前最流行的DEX,交易界面非常友好,体验一流,加入Uniswap的流动池可以获得交易手续费分红。
Uniswap还有一大能力是流动性挖矿,可以通过将交易对抵押到流动池的方式,对相应交易对的手续费进行分红,有一些代币还有额外的抵押奖励。
Curve是大额稳定币兑换平台,深度高、滑点低,如果有稳定币互兑需求可以使用它。同时Curve的流动池可以抵押赚取挖矿收益,也是DeFi理财的主要集中地。
GameFi由Game(游戏)和Finance(金融)两个词组合而成,意指为玩家提供经济激励,可以边玩边赚的区块链游戏,也叫链游。在我们的日常生活中,这种模式也随处可见,比如每天背单词打卡一定时间获得红包奖励,电商APP种水果领红包等。只不过生活中的这种游戏是在链下的。
最早期的GameFi,其实是以EOS为底层协议的博彩游戏。然后由AXIE币安一手投资开创的双币模型,进而也诞生了像YGG一样的游戏公会。随着GameFi的继续发展,市场上逐步涌现出一批新的玩法,从Play to earn过渡到Run to earn、learn to earn等,并涌现出了一批优质项目,比如Stepn以及LMS(学习英语)等新的链游。
- Axie Infinity是一款数字宠物世界形式的去中心化游戏。 玩家通过虚拟货币购买三只小宠物(Axie),使用它们繁殖出新的宠物进行战斗,并且与其他玩家战斗赚取加密代币,或将自己多余的宠物卖给他人获取收益,此外玩家也可以在游戏中购买虚拟地产。
- BigTime玩法类似于《暗黑破坏神》。与此前的现象级链游Axie Infinity相似,Big Time设立了打金机制,玩家刷副本、打怪可获得游戏代币BIGTIME
Memecoins是一种加密货币,通常受到互联网模因,角色或趋势的启发。Memecoins的例子包括Dogecoin,Shiba Inu和其他通常与娱乐相关的而不是可用性相关的。
Memecoins是一种加密货币的流派,它是由支持货币增长的旺盛在线社区宽松定义的。有时会以动画角色或动物meme图像来识别它们。获得了成人状态的货币包括Dogecoin和Shiba Inu等。与其他加密货币一样,Memecoins依赖于区块链技术,这是一种用于跟踪虚拟资产的分布式数据库。与以太坊和其他与特定区块链功能相关的用户货币不同,大多数meme都是纯粹的交易工具。
meme被认为是风险和波动的交易资产。在其他情况下,它们可能只是在开玩笑,但以某种方式吸引了对令牌感兴趣的人。如果您发现meme骗局和加密货币使您感到困惑,那么您并不孤单。了解风险以帮助您避免出乎意料的波动和损失至关重要。
DEX聚合器通过汇集不同DEX的流动性来寻找最具成本效益的交易路线。通过在多个流动性池子中路由单一交易,进行大额交易的交易者可以节约gas成本,并尽量减少因流动性低而影响价格的成本。
1inch Network是一个DEX聚合器解决方案,在多个流动性来源中寻找更便宜的汇率。最初的协议结合了Pathfinder算法,在不同市场之间寻找最佳路径。自从在以太坊网络上成立以来,1inch已经扩展到支持Binance智能链和Polygon网络。1inch聚合协议也经历了两次重大更新,自2021年3月以来一直处于v3版本。
DeFi中的借贷协议现在已经使每个人都能民主化地获得债务。使用你的加密货币作为抵押品,你可以从这些协议中借款并利用它。作为DeFi最大的类别之一,去中心化的借贷已经成倍增长。领先的DeFi借贷协议是Compound、Maker、Aave和Cream。
我们站在更高的维度来看待 Web3 生态,应该是怎样的呢,下面我们尝试使用分层设计来梳理
-
协议层
-
区块链网络
区块链网络也称为链,是构建整个 Web3 生态的基础。一条链可以是一个相对独立的生态,我们比较熟悉的有 BTC、Ethereum、Solana, BNB 等。 基于以太坊生态,对公链进行扩容,出现了一些的 L2 和侧链,比如 Optimism、Arbitrum、Polygon 等
-
跨链桥
是一种连接不同区块链网络的技术或协议,允许数字资产或数据在这些不同的区块链之间传输和互操作。它们充当了区块链之间的桥梁,以确保跨链资产的互通性和流动性。
-
-
基础设施
-
节点服务
节点服务是连接区块链网络和 DApp 的桥梁,可以为一个提供读和写数据到区块链网络的服务器。
-
网络存储
是指提供去中心化存储的服务商,有 IPFS、Arweave、Filecoin 等
-
数据服务
区块链上有大量的原始数据是无法直接使用的,有一些平台提供将链上数据进行索引、分析、归档等处理,提供开放 API。
-
-
应用层
应用层在整个 Web3 生态占比是最大的,直接面向用户。
-
治理&DAO
Snapshot、Tally、Boardroom、Aragon
-
钱包
MetaMask、GnosisSafe、Rainbow、Coinbase、WalletConnect
-
金融
Uniswap、Compound、PancakeSwap
-
游戏
Alien Worlds、Splinterlands
-
NFT
OpenSea、Blur
-
社交
Lens Protocol、Farcaster
-
创作&内容
Mirror、Sound
-