Aurora定义为:
- Ethereum L2 on Near
要点为:
- transition of cryptocurrency to a multi-chain ecosystem的主要障碍在于在不同的开发环境下开发链应用。如在以太坊的开发者,当迁移到另一条链时,需用新链的语言来重构其Solidity合约,并且还必须考虑一整套全新的技术漏洞。
- Aurora为以太坊兼容的开发者平台,构建在NEAR protocol之上。Aurora支持开发者直接将其以太坊上的Solidity合约迁移过来,并充分利用NEAR的优势,如接近1秒的区块时间,交易费仅为$0.01,比以太坊1.0的交易费便宜1000+倍。
- Aurora的tps为1000+,比以太坊1.0的吞吐量大50+倍。
- Aurora交易固化继承自底层NEAR protocol,即2个NEAR区块,或约2秒钟——以太坊1.0中一个区块的确认时间约为13秒且1个区块确认并不足以使交易固化。NEAR链上固化的快速性可降低frontrunning attacks的风险。
- Ecosystem growth on Aurora is future-proof:NEAR protocol的底层sharding方案,支持EVM的水平扩展,使得多个Aurora shards之间可进行异步通信。
Aurora项目主要包含2个部分:
- Aurora Engine:为支持以太坊合约运行在NEAR上的Ethereum Virtual Machine (EVM)。
- Aurora Bridge:为trustless protocol for transferring ERC20 tokens and ETH between Aurora and Ethereum。基于NEAR的Rainbow Bridge技术。
Aurora为在NEAR链上实现的一个智能合约,即意味着:
- 1)Aurora可从NEAR现有和未来优势中收益。
- 2)简化Aurora早期的维护、升级以及治理,当有安全漏洞等紧急情况时,可快速响应。
- 3)启动之后,计划使用SputnikDAO version 2——一种NEAR上可定制的基于DAO的治理框架,来启动AuroraDAO,以进行生态治理。
当前Aurora架构为:
Aurora智能合约中实现了2个主要接口:
- 1)execution接口:支持用户发送正常的以太坊交易(如由MetaMask, ethers.js或web3.py等创建的以太坊交易)。底层,这些交易会被解码(RLP)、验证(secp256k1)并在EVM runtime(Sputnik VM)中执行。如果智能合约不能提供目标性能,允许将EVM runtime中的操作挪至NEAR protocol层(从而成为预编译合约)。
- 2)token接口
Aurora支持permissionless token bridging。其使用Rainbow Bridge技术。Aurora成为连接以太坊经济和NEAR经济的纽带。 为了避免混淆,Aurora合约中将实现a fungible token interface,用以代表用户在NEAR base runtime和Aurora runtime下的ETH balance。
最值得注意的设计决策之一是使用ETH作为Aurora的基础货币,用于支付交易费用。【更详细的讨论可参看NEAR论坛中的 EVM Runtime base token】
而大量的以太坊L2要求用户和开发者获取L2 native token,Aurora则更直接,无缝连接以太坊社区的用户和开发者。
方法如下:
- 1)使用JSON-RPC接口
eth_gasPrice
来获取Aurora runtime下的ETH gas price。返回值将用于后续ETH payment to the RPC node(具体见第6步)。 - 2)用户使用其熟悉的工具(如MetaMask,Wallet Connect compatible wallet等等)来对正常的以太坊交易进行签名。
- 3)RPC接口会将以太坊交易wrap为NEAR交易,并将其提交给Aurora合约。
- 4)协议层面,验证RPC签名并将初始以太坊交易传入Aurora Engine合约。
- 5)Aurora Engine合约解析并执行以太坊合约、计算所需的EVM gas。当以太坊交易执行末端,(根据NEAR protocol规则)已燃烧一些NEAR gas,而ETH gas仅为Aurora合约中的一个计算值。
- 6)为了支付NEAR gas费,使用ETH:Aurora合约脚酸交易费并将其通过user account传至RPC account。
从用户角度来看,以上流程中,用户仅向协议支付了ETH,而实际上交易费使用的是$NEAR token,RPC node在用户和NEAR链之间承担proxies/relayers角色。
在以上第1)步中,RPC将可提供足以支付relaying service的ETH gas price。此外,基于多个RPC nodes的反馈,用户可决定最终使用哪个。未来,relaying services将构建为类似OpenGSN。【OpenGSN:Allow your DApp users to pay network fees in any token;Allow users to pay for gas in fiat without having to go through KYC。】
参考资料[1] Aurora Provides an Ethereum Layer-2 Experience [2] Understanding Aurora: Ethereum L2 on Near