以太坊
去中心化的状态机
以太坊 ethereum 是一个去中心化的开源的公共区块链平台,由 Vitalik Buterin 在 2013 年提出,并通过众筹的方式在 2014 年推出,是目前市值第二高的加密货币。以太坊不止是一个分布式的账本,还是一个分布式的状态机,一个全球性的新型应用程序平台。
加密货币交易原理
人们提出过许多加密算法,加密算法的本质是生成一对函数 $(P,S)$,二者互为反函数,很难在有限时间内从公钥 $P$ 推算出私钥 $S$,并且输入不同输出通常也不同,人们可以公开自己的公钥 $P$。这个函数对通常有两类作用:一种是加密通信:Alice对信息$M$ 加密为$P(M)$,Bob利用自己的私钥解密为$S(P(M))=M$;一种是数字签名:Alice 发送信息 $M$时,同时发送$(M,S(M))$给对方,Bob 验证$M=P(S(M))$从而确认信息是 Alice 发出的没有被篡改。
加密货币中,地址为公钥,人们可以通过公钥查询这个地址的所有交易,进而推算出该地址的余额。而私钥则需保密保管,有了私钥才可以对地址上的信息进行修改,如Alice将一笔交易信息$(M,S_A(M), P_B(M), \dots)$发送到区块链上由矿工验证交易由 Alice 发出,并在区块链上进行相应的操作。比特币的交易操作依赖于比特币的脚本(Bitcoin Script)。下图是一个比特币交易的例子,out addr 里面包含的其实是一条脚本和交易比特币的数量。只有满足了脚本的条件交易才会执行,例如只有拥有私钥可解密的人才能获得这些比特币。这种脚本有一定的可编程性,例如等待7天后再放款给卖家。
不止于账本:EVM 与智能合约
以太坊相对于比特币的重要改进之一是引入了图灵完备性。现代计算机起源于 Alan Turing 的思想实验“图灵机”,图灵机可以解决可计算的问题。迄今为止,所有计算模型都能够用图灵机模型模拟。任何计算装置,无论是算盘还是计算机,都不能超越图灵机模型的计算能力。某种编程语言能够“图灵完备”则意味着可以做到图灵机能做到的任何事情。
以太坊虚拟机 EVM 是以太坊图灵完备性的载体。以太坊设计了一个虚拟机 EVM,它不仅高效地储存了以太坊的交易信息,还保存了一个机器状态,可以根据预定义的一组规则在不同的区块之间进行更改,并且可以执行任意的机器指令 op code。
智能合约是图灵完备带来的成果之一。EVM 的 op code 是图灵完备的,对比图灵不完备的比特币脚本,其差异类似于 Excel2019 所能完成的工作与 python 所能完成的工作。基于此,以太坊开发出了智能合约 smart contract,并由此诞生出广泛的生态。所谓智能合约是存储运行在 EVM 之上的程序,在满足预先确定的条件时会运行这些程序,实现所谓的“代码即法律”(code is law)。这意味着以太坊的交易可以基于特定条件才可以实现,比如只有 Bob 执行了某些行为后才能收到 Alice 给予的钱。智能合约可以部署到某个公开地址上,由其他智能合约或者用户账户来调用,满足条件则执行并将结果写入,不满足条件则会将 EVM 回退到执行前的状态。以下是 solidity 编写的拍卖合约例子节选,智能合约省略了拍卖中间的费用且足够透明:
|
|
智能合约本质是开源的代码。可以使用 solidity 等语言通过编译器编译为可在 EVM 上执行的 op code,与一般编程语言如 C 编译到汇编指令由操作系统调用、Java 编译为字节码指令在 JVM 中调用无异。solidity 语言类似 Java,只不过面向的 class
定义的“类”变为了面向一个个 contract
定义的“智能合约”。代码编译后保存在以太坊上不可修改,作为状态的一部分传递。如果有新的智能合约或账户调用,则按照 op code 确定性地执行。
智能合约可以通过预言机 oracle 与现实世界交互。例如利用多台分布式的计算机对汇率做出陈述,并采用投票的方式确定结果,智能合约再根据预言机的信息做出判断,就可以实现一个汇率的衍生品。智能合约还能组合,由此可以构造衍生品的衍生品。
当然,智能合约可能会有漏洞,这样的漏洞可能被黑客利用造成损失。最著名的例子是 2016 年的 the DAO 事件,导致以太坊硬分叉为 ETH 与 ETC(后者近年发展速度较迟缓,遭受过 51%攻击)。错误的智能合约无法修复,而代码做到不存在问题是很难的。例如,the DAO 的 bug 仅仅是被利用了 solidity 语言的错误回滚特性,导致以太坊不得不走向分叉
不止于加密资产:以太坊的 gas 机制
图灵机无法解决“停机问题”,即一个程序是否能在有限的时间之内结束运行。如果恶意或者错误的程序无法停机/持续时间过长,那么其他的交易也会被阻塞。这也是为何比特币的脚本被故意设计成图灵不完备的,没有循环和跳转指令。
以太坊采用了 gas 机制来解决图灵机的停机问题。gas 好比是汽车所加的汽油,我们为了避免以太坊这辆永远会运行的汽车停不下来,会对执行操作设定一定的汽油量(gas)。所谓 gas 是以太坊支付的手续费,不同的 op code、区块难度等有不同的基础费率,提供额外的 gas 可以在网络拥堵时吸引矿工优先计算。当耗尽用户设定的 gas 上限而交易仍未完成时,EVM 会回退到交易执行前的状态,并把剩余的资金退还给用户,gas 转移给矿工或销毁。有限的 gas 保证了 EVM 不会因为恶意或错误的代码阻塞,同时也激励更多矿工进入以太坊的系统为 EVM 的计算提供算力,让 EVM 之上的操作可以更快。
一枚 ether 的冒险
为了支持基于以太坊的交易,以太坊 ethereum 发行了原生的加密货币 ether(ETH)。接下来我们将介绍 ETH 在以太坊生态中的流转过程。
ETH 的产出
ETH 的供应也是去中心化且透明的。以太坊是一个通胀模型,系统并没有规定以太币发行量的上限。矿工的收益一共有三部分:区块奖励、gas 以及 MEV。加密货币的拥趸认为它们是“数字黄金”,其价值来源于总量的稀缺性。以太坊的价值来源于它的使用而非储藏,以太坊的通胀模型则是由于其有更宏大的愿景,希望以太坊可以作为去中心化的计算平台,因而选择的是总量温和通胀,以适应供需的增长,近一年通胀率控制在2%。 区块奖励为矿工开采出一个新区块的奖励,平均12-14秒左右出一个区块,奖励由最初的每区块5个ETH降低为现如今的2个ETH,叔块的计算也能获得1.75个ETH。**gas多出的部分(优先费)分给矿工,基本费用部分通过“burn”销毁以避免过度的通胀。**最后为最大可提取价值 MEV,为矿工通过在区块中添加和排除交易并更改区块中的交易顺序,可以从区块生产中得到的价值。
目前开采区块的方式为 PoW 机制,未来将转为 PoS 机制。 以太坊的交易被处理为区块。与比特币类似,以太坊也是要求矿工找到一个 nonce,哈希计算后数值满足前若干位为0(使用“难度”difficulty 衡量);但以太坊为了避免持有 ASIC 矿机的矿池形成中心化,采用了不适合 ASIC 芯片计算的内存密集的算法ethash。在听到新的交易请求时,每个以太坊网络节点会添加这笔交易到本地的内存池。一个挖矿节点将几十或上百个交易请求汇总到潜在区块中,从而尽量多收取交易手续费,同时保证不超出区块 gas 限制。节点将验证有效性并执行 op code,更新 EVM 的状态,交易打包为一个 Merkle Tree,取头节点的 hash 作为摘要。最后进行广播,交易被写入链上。
算法的过程是根据过去的区块生成随机数种子,进而得到一个初始为 16M 的随机 Cache,再从 16M 的 Cache 生成初始为 1G 大小的 Dataset,同时根据发生的交易生成 Merkle-Tree 数据结构,保留头节点的 hash 作为所有交易的摘要。利用头节点的 hash、Dataset,不断尝试随机数 nonce 以满足区块链难度。当尝试得到满足的结果时广播,其他节点可以比较容易地验证结果并达成“共识”Consensus,进入下一个区块的开采。Cache 和 Dataset 大小会随时间线性增长以满足摩尔定律。
未来以太坊将转向 Proof of Stake 机制,不再需要矿工“挖矿”而是需要“验证者”validator“计算”。用户需要质押 32 ETH 来获得作为验证者的资格。 验证者被随机选择去创建区块,并且负责检查和确认那些不是由他们创造的区块。 一个用户的权益也被用于激励良好的验证者行为的一种方式。 例如,用户可能会因为离线(验证失败)而损失一部分权益, 或因故意勾结而损失他们的全部权益。验证者之间没有竞争的关系,只需要在被选中的时候创建区块并且在没有被选中的时候验证他人提交的区块。如果为恶意区块提供证明,验证者就会失去质押的 ETH。
PoS 和 PoW 都可能遇到“51%攻击”,但目前而言都是这样的攻击都不经济的。PoS相对更节能,gas费率更低,并且对 sharding 更友好每秒钟交易量更高,但安全性有待检验,不利于流动性可能会导致通缩和财富集中化。目前以太坊主网仍在 PoW 机制上,而 testnet Ropsten 已成功切换。当前的 PoW 链将转化为“执行层”,即将于主网进行“合并” Merge。届时,以太坊难度炸弹将使新区块开采变得十分困难,鼓励矿工转向 PoS;也可能会存在分叉的风险。
ETH 的使用与转换
我们可以通过metamask等钱包,连接到 ethereum 主网。然后我们选择兑换成满足 ERC-20 的 token 或直接使用 ETH。例如,opensea 可以直接使用 ETH 购买 NFT,或者我们可以选择兑换为与美元挂钩的 ERC20-USDT token、与黄金挂钩的 AurusGOLD token、与社区治理相关的 UNI token 等等。
以太坊是一个平台,在这个平台上的应用可以通过 ICO 的方式发行同质化的 token 筹集资金,把 token 看作是股权,抑或是通过发行 token 的方式发行自己应用中的专属代币,方便用户使用应用中的服务。此外,这些应用也可以发行非同质化的 token,即后文将讲述的 NFT。
代币 token 可以代表以太坊平台上的几乎任何东西,以太坊文档中列出了在线平台中的信誉积分、游戏中一个角色的技能、彩票、金融资产类似于公司股份的资产、像美元一样的法定货币、一盎司黄金等等。ERC-20 提案给出了同质化 token 的标准,这样去中心化的钱包、交易所等可以使用一套相同的 API 读取、操作不同的 token。不同用户钱包中的 ERC20 代币,只有数量的不同,token 内部是没有任何区别的。代币发行之后价值走势与以太坊平台的关系不大,token 交换价值取决于 token 的背后的生态系统的价值。
ERC-20 规定了一组接口,token 想要融入以太坊生态就需要实现接口对应的方法,例如
transfer
等。从代码中可以看到,token 其实就是智能合约,例如UNI这一 token,就是实现了各种 ERC-20 接口的智能合约
ETH 也会被销毁,即每次交易时 gas 的基础费率部分。销毁的幅度会根据上一个区块的大小(所有交易中使用的 gas 数量)与目标大小进行比较,如果超过目标区块大小,区块的基本费用将最多增加 12.5%。 这种指数级增长使得区块大小无限期保持高位在经济上不可行。也因此,可能某个区块上的 gas 费用小于销毁的数量。销毁的机制是将 ETH 转移到地址为 0x0 的“黑洞”,密码学原理不可能生成 0 的私钥。
ETH 的未来
- sharding:在以太坊之上,将许多交易交易分为多个并行的层,validator 验证某一层和层之间的关系,从而加快交易处理速度。这种处理方式类似于数据库中的通过分库分表增加效率。shard 链将在信标链合并之后研发,预计会在 2023 年开始
- layer-2:在以太坊之外加快处理速度,即通过一条可信的侧链来执行计算,把执行的结果写入到以太坊中,减轻以太坊的负担
基于 token 的生态
token 经济是对生产关系的变革。所谓 token 经济是一种激励机制,来协调生产关系之间的组织形式,对生态做出贡献的同时可获得相对应的奖励以及权益凭证,是区块链世界中的“股票”。token 可以分布在生产的各个环节中:设计者、制造者(计算者)、投资者以 token 或 token 价值提升作为回报,利用 token 在生态系统内的流转让生态系统产生更多价值;使用者、投资者、捐赠者通过 token 来进行付费,去掉中间商和垄断平台,还给社会化分工本来的样子。
接下来我尝试介绍几种生态,按定义、如何运行、最大的亮点、缺陷行文。
dapp
去中心化应用 (dapp) 是在去中心化网络上构建的应用程序,结合了智能合约和前端用户界面。传统 app 开发通常分前端和后端,前端负责用户展示部分,而后端则是负责用户管理、业务处理、数据存储等功能。尽管有许多去中心化的开源项目如 chromium,但大多数 app 的开发还是中心化的:开发人员集中在某家公司、用户数据由某家公司所有、支付接口要依赖于微信、支付宝、PayPal、业务在几台中心化的服务器上等等。
以太坊平台利用智能合约作为 dapp 的后端,前端代码亦可托管在去中心化的存储上。app 的后端往往有固定的流程,比如根据前端的请求修改仓库中的商品数量同时发货给指定对象。这就给了智能合约想象力空间:智能合约被调用并支付后,返还给某种 NFT,或者返回一个游戏界面,或者提供某种标准化的金融服务。而且由于区块链的特性,这些 dapp 是加密的,没有用户隐私的问题;数据是由用户所有的,而非某个中心化的公司所有;可以做到零停机时间,不会出现服务器故障,因为以太坊平台是 24 小时运行的。cryptokitties是以太坊上一个曾经比较出名的 dapp,前面的网址可以看到它的代码与所有交易。前端代码亦可托管在去中心化的如 IPFS 存储上,用户请求从 IPFS 获得页面资源,并在浏览器上渲染。
dapp 可以激励开发者和用户。正如前文所讲,dapp 可以通过 ICO 来发行 token 从而得到启动资金,dapp 生态的发展会吸引更多人来获得 token 成为生态的一员,而对 dapp 上的创作者,他们可以通过出售自身的服务、作品而获得 token。cryptokitties 便是利用不同“基因”和稀有度的猫作为 NFT,消费者可以购买、配种猫得到全新的独一无二的 kitties,并将这些 NFT 出售或收藏。
dapp 也存在一些问题。首先是维护,由于区块链无法篡改,部署后很难进行更新,即便存在漏洞和安全性问题,这是很难绕过的。其次是性能开销,为了达到以太坊所追求的安全、完整、透明和可靠的水平,每个节点都会运行和存储每一笔交易;而且目前 PoW 也会需要时间,未来或许很难看到区块链上运行 3A 大作。再次是网络拥塞,至少在当前模型中,如果一个 dapp 使用了太多的计算资源,交易发送请求超过网络处理速度,整个网络都会堵塞住,例如 cryptokitties 游戏导致以太坊 gas 费用大涨,目前在考虑分片或 layer2 来增强网络的处理能力。最后是用户体验,隐私性的背面是复杂的处理逻辑,普通用户可能会宁愿牺牲一部分隐私性换来便利性,目前各种基础设施如 metamask 钱包等都在降低进入的门槛。
DeFi
DeFi的全称是Decentralized Finance,即“去中心化金融”,也被称为“开放式金融”。目前 dapp 最多的领域就是 DeFi。传统的金融服务需要客户提供许多个人信息,并且很多需要无法被满足。去中心化金融使用加密货币和智能合约提供服务,智能合约替代了传统中介。合约也是公开的,任何人都可以检查和审核。 这意味着不良合约往往会很快受到社会监督。
DeFi 亦是建立在智能合约之上,区块链代替了账户,合约代替了中介,ether/token 替代了资产。以太坊是“可编程货币”,任何人都可以对逻辑编程,以生成支付,实现特定的金融服务。以抵押借款为例,用户在 MakerDAO 中超额质押例如 ether 获取一定比例的稳定币 DAI,在赎回质押资产时还需支付一笔稳定费支付到 Maker Buffer中。用户需要归还 DAI 赎回抵押物时,被归还的DAI将会被协议自动销毁。如果抵押物价值下降导致用户生成的DAI的价值高于抵押物允许生成的DAI的价值的时候,Vault 会被拍卖,最高价者支付 DAI 给 Maker Buffer,Maker Buffer 来弥补坏账。Maker Buffer 不够时会超发治理 token MKR 来拍卖获得 DAI,盈余时会把多出部分分红给 MKR 持有人,MKR 持有人还可以参与社区治理,如 Emergency Shutdown 紧急关闭 Maker 协议进行清算。也有无抵押借款比如“闪电贷”,借出和归还在智能合约中被限定在一个区块内,间隔不到10秒,用于做市商套利或避免清算。
DeFi有更强的开放性和包容性,对传统金融机构主导的生产关系有很大的革新:第一,DeFi不需要依赖任何中心化的主体来提供信用中介或者背书;第二,没有准入限制,即任何一个联网的人都可进入;第三,任何第三方均无法阻止任何一笔交易,也不能逆转任何一笔交易;第四,资产所有权是透明的,用户可以控制自己的资金流向和使用方式。
DeFi还是在初创期,面临着三大挑战:首先是代码漏洞,可编程金融代表了科技的力量,但代码堆砌之后的漏洞总是难以避免,例如 Maker DAO 曾错误地以 0 成交价拍卖成交;二是系统性风险,无论是传统金融还是可编程式金融,一定要思考到系统性风险,比如面临极端的行情波动时,DeFi生态是否能承载;三是资产上链,资产上链的复杂程度和不确定性对于整个DeFi行业而言是非常大的挑战,需要先行者做出尝试。
NFT
ERC-20 给出了同质化 token 的标准,ERC-721 则给出了非同质化 token 的标准,即所谓 NFT。非同质化代币是用以代表独特物品所有权的代币。非同质化代币可以把诸如艺术品、收藏品、甚至房地产等物品代币化。他们一次只有一个正式主人,并且没有人可以修改所有权记录或者根据现有的非同质化代币复制粘贴一份新的。
NFT 是特殊的 token,所以也是特殊的智能合约,特殊之处是每个 token 有独一无二的 URI(类似于网站的网址)且 token 不可分割。创作者创作 NFT 时,将物理世界的实物资产以及产生于数字世界中的资产映射到区块链上生成独一无二的 token,实现资产上链与确权。NFT 支持分配或声明任何独特数字数据的所有权,可通过使用以太坊的区块链作为公共账本进行追踪,一次只能有一个所有者,这些都是在智能合约的代码里面写好的。拥有一个 NFT 相当于拥有一份数字证明文件,证明持有者的数字文件副本是原件。私钥是所有权的证明,通过私钥签名可证明拥有私钥,进而证明拥有 NFT。而 NFT 追溯交易记录可以查询到创作者的公钥,证明该文件是由创作者创建的。
NFT 存在潜在的广泛应用,协调了创作者、使用者的激励关系,并且利用智能合约可组合的特点,也在 DeFi 中有所尝试。对创作者的激励是非常大的,不需要平台的抽成就可以对作品确权,有些平台也在尝试每次交易 NFT 时支付给创作者版税;对于使用者而言,获得的 NFT 是永久的,不会失去掉所有权的证明。NFT 和 DeFi 合约的组合可以有利用 NFT 抵押获得贷款,也有通过发行新 token 创建“股份”来共同所有一件 NFT。而如果未来真的是元宇宙的时代,NFT 作为数字权益证明或许会有更多的应用。
目前 NFT 也存在很多问题。无可否认的是,尽管目前泡沫已经有少许破裂,NFT 市场存在很多炒作行为。低门槛的 NFT 制作是否能保证 NFT 的价值,对倒交易炒作与洗钱的问题,监管的态度……这些问题都有待解决
DAO
DAO 是去中心化自治组织,可以将 DAO 视作由成员集体所有和共同管理的互联网原生企业。DAO 通过提案和投票来决策,以确保组织内的每个人都有发言权。
DAO 也是基于智能合约的,DAO 的成员认定通常是基于 token 的,持有 token 即可对社区治理提案进行投票,并通过 token 机制激励利益相关者。DAO 启动与发行 token 类似,他们发行的 token 享有社区的治理权。DAO 的流程通常是链下讨论、链上投票并将结果写入区块链、利用智能合约执行(如投资/资助某个创业项目等)。
DAO 是对传统公司模式的革新。与他人创办涉及资金和金钱的组织,需要对与合作对象高度信任。不过,这显然很难相信互联网上素不相识的人。通过 DAO 成员可以不需要相信组织中的其他人,只需要相信 DAO 公开透明的代码,任何人都可以验证(当然 DAO 的成员通常是志同道合的人,大的方向上通常是一致的)。DAO 的成员也是 DAO 的所有者,有 token 激励去为 DAO 的生态做贡献。
DAO 目前仍存在一些问题,比如法律风险、投票机制是否民主等。
其他公链生态基础技术架构分析
Bridges:桥接 EVM Union
如今加密世界已经进入了一个多链并存的时代,并逐渐形成了以太坊为核心,其他各公链百花齐放,众星拱月的局面。当区块链的协议越来越多、资产交互也越来越频繁时,人们迫切需要一类新技术来让不同链之间能够产生交互。针对这一问题,跨链桥应运而生。
桥要保证一份资产从一个区块链以一个相对公平的价格转移而非复制到另一个区块链上,本质上也是一个智能合约。桥的合约通过调用源链上token销毁/锁仓的合约的同时,在新链上调用铸币的合约。例如 WBTC 通过锁仓比特币的同时发行新的在 ERC-20 token,让比特币也能在以太坊平台上参与 DeFi,其交换汇率根据 oracle 来确定。
不少 layer-2 的 token 亦通过 bridges 连接到以太坊平台上,例如 polygon 等,他们有很低的交易费用,在 layer-2 上运算并将结果写入到以太坊上,避免开高额的交易费用。
桥接也会带来一些风险,包括但不限于:安全风险(智能合约漏洞被攻击)、金融风险(各种包装 token 接受到了两个区块链波动的风险)、交易对手风险(验证者和oracle可能是不可信的)
BNB:背靠 Binance 发力 DeFi
BNB 的 ERC-20 token 通过桥的方式将币安链与以太坊相连。币安币(BNB)是 BNB chain 的原生代币,一开始基于以太坊网络,但发展到后来,ERC-20 BNB代币已经能够以1:1的汇率交换BEP-2 BNB(旧版币安链的原生 token,即现在的 BNB beacon chain信标链)和 BEP-20 BNB(币安智能链的 token,即现在的 BNB smart chain智能链),可以独立于以太坊运行。除了提供低交易费用,BNB 链的搭建也意在战略层面为巨大的币安用户群提供 Defi 的第一个入口。
目前 BNB 链分为信标链和智能链,分别用以治理和执行,其上应用主要为 DeFi。信标链是为 DEX(去中心化交易所)服务而开发的,旨在实现高交易吞吐量和比中心化交易所更高级的用户体验。而智能链则是针对智能合约设计的。当两条区块链合并时,信标链成为治理(质押和投票)的专用层,智能链成为EVM共识和执行的专用层。自 BNB 智能链推出以来,网络上的活动主要来自 DeFi 活动,因为该网络现在托管来自 400 多个 DeFi 协议(根据 DeFi Llama 平台)以及来自其他行业的大约 1,000 个项目的活动。就总价值锁定(TVL)和在链上运行的应用程序数量而言,它现在是继以太坊之后的第二大网络。使用最多的应用程序是pancake swap,基于 uniswap 的代码实现的 BSC 上的自动做市商,约占整个 DeFi 生态的 TVL 的 50%。
BNB 采用的是 PoS 证明,BSC只需要21名验证者,这些验证者是由币安审核过的,通过他们押注项目的原生BNB代币来达成共识。虽然使用如此有限数量的验证者来验证区块,使得网络具有高扩展性与快速吞吐量的特点,但这也意味着区块链越来越中心化,有点像EOS的21个超级节点。BNB 主要有以下几种用途:
- 支付币安交易平台、币安DEX的交易费用;
- 支付币安链上的交易费用;
- 币安生态系统的社区效用代币,例如游戏和DApp、参与币安 Launchpad 主持的代币销售;
- 为线上和实体店购买的商品和服务付款,例如使用币安卡或币安支付、通过Travala.com预订酒店和机票等;
- 为币安流动性挖矿注入流动性。
此外,BNB 还有自动销毁 auto-burn 机制。代币销毁让代币供不应求,从而造成通货紧缩效应,并潜在拉升加密货币价值,让持有者获益。 BNB代币销毁活动的目标是将BNB总供应量逐步减少到1亿枚(即减少50%)以下。BNB自动销毁机制将根据每个季度的BNB价格和币安链的出块数量自动调整BNB的销毁数量。
Solana:追求高效率与高扩展性
区块链也有所谓不可能三角,即去中心化(Decentralization)、可扩展性(Scalability)和安全性(Security) 难以同时兼顾。Solana 尝试在区块链的安全性基础上,增加 TPS(60000 TPS),利用 PoH 机制加快共识达成速度,并有一些辅助的技术提升区块链的去中心化和交易效率:
- 工作历史证明(Proof-of-History),通过共识前的时钟来验证时间顺序
- 塔式BFT算法(Tower BFT):验证算法 PBFT 算法的 PoH 改进,减少消息传递的延迟
- 涡轮传播协议(Turbine):区块传播协议,处理可扩展性,让节点之间传输数据更快
- 湾流(Gulf Stream):高性能网络内存管理方案,避免内存阻塞,减少交易确认时间
- 海平面(Sealevel):允许运行并行处理数万个智能合约,同时尽可能多地使用 validator 可用的内核
- 流水线(Pipeline):高性能地利用硬件,验证交易处理
- 云存储(Cloudbreak):水平扩展的账户数据库,提高区块链数据读写速度
- 存档器(Archivers):分布式账本存储
PoH 不是共识机制,而是用于提高 Solana 的 PoS 共识的性能。PoS 性能的瓶颈是节点间确定交易的顺序,需要不同的验证者投票实现共识。在 Solana 的 PoH 机制设计中,首先选出一个不负责验证的节点 leader,所有交易信息要经过 leader,leader 来排序交易并串行地 hash,其他节点从 leader 这里拿到 block,可以并行验证链上数据是否一致,从而提高效率。leader 是通过 PoS 选举出来的,如果产生分叉就重新选举leader,同时集群通过轮换 leader 来最大限度地减少恶意 leader 的影响。
Solana 最大的特点是高效,高效带来了低费用、易扩展。通过压缩共识形成的时间,Solana 可以支持更多并发的交易量,远超目前大多数的区块链,Solana 可以做到每秒交易峰值 65000 笔(以太坊 PoS 的目标为 TPS 达到 10万),实时性上甚至超越了 VISA 和 paypal。而高效率也降低了每笔交易的手续费,每笔交易仅需平均支付 0.0015 美元,延迟在 0.4 秒左右。
Solana 发行原生的 token 为 SOL,且支持智能合约。SOL是一个通胀率逐渐降低至1.5%的模型,交易 gas 中有 50% 销毁。Solana 支持完整的智能合约,且采用编译后发生语言上的安全问题概率较低的 rust 编写。此外,Solana 在由 Andreessen Horowitz 领投的一轮融资中筹集了约 3 亿美元,获得了一个巨大的资金来源,他们可以用此来激励开发人员和市场并发展 Solana 生态系统;Brave 浏览器亦对 Solana 提供了集成支持。
Solana 在 NFT 和 DeFi 市场上有广泛的应用,有一定的 dapp 生态。全球最大的加密货币交易所之一 FTX 选择 Solana 作为构建其 DEX、Serum 的首选区块链。Saber是在 Solana 上交的 AMM,据此前报道 SaberLabs 获得770万美元种子轮融资,Race Capital领投,Jump、Multicoin等知名机构参投。最大的NFT交易平台 Opensea宣布将集成部署在Solana 链上,在 Solana区块链网络上铸造的 NFT 可以在OpenSea上交易并以 SOL 定价。
但 Solana 也面临着中心化与网络安全的问题,已发生多次网络安全事故。Solana 的中心化一方面是由于交易前要选出 1400 多个节点中选出 leader 节点,另一方面是由于其使用挖矿算法由于 PoH 对时间的要求需要很高的机器性能,以致于只有中心化的专业机构可以购买 ASIC 芯片参与。安全性上,作为率先推出桥接到以太坊的非 EVM 链,Solana的Wormhole曾被侵入损失达 $ 320mn,截止2022年8月初已出现大大小小的停机12次,其配套钱包也被黑客攻陷尚未解决。
TRON:擅长营销炒作,韭菜的共识也是共识?
绝大多数模型抄自以太坊。gas 替换成带宽和能量,带宽是衡量保存在区块链数据库中的交易字节大小的单位,能量是衡量在TRON网络上“TVM虚拟机”执行特定操作所需的计算量的单位。而所谓 TVM,除了名字上的修改外,增添了“匿名合约”、“合约投票”的功能。token 则抄了 ERC-20 与 ERC-721 等,换成了 TRC-20/TRC-721。就连客户端,都是以太坊早已淘汰的 Java 客户端修改来的
区块生产采用所谓 DPoS
,大概因为只有 27个节点达成共识速度很快,所以交易费用低。任何账户只需支付 9999 个原生代币 TRX 就可以申请成为超级代表候选人,参与超级代表竞选。任何账户都可以给超级代表候选人投票,获得票数最高的前27名候选人即成为超级代表,投票采用 1T1V。但coincarp上的数据看上去变化很难,0.2%以上就是 top27,而0.4%以上15个
智能合约抄以太坊,连编程语言都是 solidity,而很久以前自称使用 Java领先solidity。而其TVM 的匿名交易,是基于账户模型的隐私交易方案。思路是通过部署一个智能合约,用户将TRC20代币转给智能合约,通过智能合约来执行匿名交易。我无法理解和Tornado.Cash的区别,可能有法律风险。
创始人非常擅长营销,应用场景有以下几处。基于其上的广泛应用为稳定币 TRC-20 USDT,比基于ERC-20 的USDT 还要大,但 USDT 亦由于中心化、不透明而受社区批评。创始人孙宇晨擅长通过各种热点事件增加 TRX 曝光度,但抛售、割韭菜等声誉风险值得注意