距比特币白皮书《比特币:一种点对点的电子现金系统》发布已经过去 12 年有余,比特币在价值存储上已经被众多机构所认可,但受限于区块链性能和比特币价值的剧烈波动,在体验上和「电子现金」还有很大的差距。而今,随着技术上不断的变革和创新,新的支付结算协议逐渐展露头脚。这些支付结算应用包括 everPay,使用存储计算范式构建的高性能支付结算协议;xDai 使用 PoS 构建的侧链,以及 zkSync,使用零知识证明技术构建的转账应用等。下面对三个协议进行介绍。
zkSync
zkSync 使用零知识证明对交易信息进行压缩,通过 Rollup 技术将交易批量打包到以太坊。
在以太坊上,协议在以太坊上创建了一个智能合约进行零知识验证,同时利用默克尔树技术进行账户管理,用户的以太地址和相关信息计算成为默克尔根,信息得以压缩。使用该技术,用户转账操作虽然是在链下完成,其账本还是在 Layer 1 上,是通过零知识技术将所有必要转账信息进行压缩,并以批量打包的方式将信息打包到以太坊进验证。
零知识生成证明需要花费大量的链下计算,根据同样使用 ZK Rollup 技术的 ZKSwap 透露,为提高 TPS 和计算证明,需要上百万美金的服务器进行计算支持。这些计算仍会成为交易的成本。
Beosin:SheepFarm项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,BNB链上的SheepFarm项目遭受漏洞攻击,Beosin分析发现由于SheepFarm合约的register函数可以多次调用,导致攻击者0x2131c67ed7b6aa01b7aa308c71991ef5baedd049多次利用register函数增大自身的gems,再利用upgradeVillage函数在消耗gems的同时累加yield属性,最后调用sellVillage方法把yield转换为money后再提款。本次攻击导致项目损失了约262个BNB,约7.2万美元。Beosin Trace追踪发现被盗金额仍在攻击者账户,将持续关注资金走向。[2022/11/16 13:10:39]
xDai
xDai 使用 PoS 共识创建了侧链 xDai Stable Chain,该侧链提供 5 秒的区块确认以及 0.0002 美金每笔的超低额手续费。
TokenBridge 是 xDai 的资产跨链协议,通过在以太坊上创建多签智能合约对资产进行锁定。资产释放的时,多签者们通过侧链上的交易信息进行签名。
Beosin:ULME代币项目遭受黑客攻击事件简析:金色财经报道,10月25日,据Beosin EagleEye 安全预警与监控平台检测显示,ULME代币项目被黑客攻击,目前造成50646 BUSD损失,黑客首先利用闪电贷借出BUSD,由于用户前面给ULME合约授权,攻击者遍历了对合约进行授权的地址,然后批量转出已授权用户的BUSD到合约中,提高价格ULME价格,然后黑客卖掉之前闪电贷借出的ULME,赚取BUSD,归还闪电贷获利离场。Beosin安全团队建议用户用户取消BUSD对ULME合约的授权并及时转移资金减少损失。[2022/10/25 16:38:21]
everPay
everPay 使用了全新的存储计算范式,将所有的计算过程放在链下,存储共识保障了账本的可信。everPay 目前跨链采用了多签合约进行资产锁定。mint 资产时,仅需要将代币转入多签合约,协议将以太坊作为预言机获取交易信息,并进行资产 mint;资产释放时需要多签者们从 Arweave 上获取交易信息,按照 everPay 协议的规则进行交易验证,最后再进行签名资产释放。
借助 Arweave 衍生的存储计算范式,everPay 可以做到实时交易,支持上万 TPS;交易批量打包时,1 美金可打包百万级交易,协议可以提供免费转账,仅在充值和提现的时候需要支付以太坊矿工费。
慢雾:Polkatrain 薅羊毛事故简析:据慢雾区消息,波卡生态IDO平台Polkatrain于今早发生事故,慢雾安全团队第一时间介入分析,并定位到了具体问题。本次出现问题的合约为Polkatrain项目的POLT_LBP合约,该合约有一个swap函数,并存在一个返佣机制,当用户通过swap函数购买PLOT代币的时候获得一定量的返佣,该笔返佣会通过合约里的_update函数调用transferFrom的形式转发送给用户。由于_update函数没有设置一个池子的最多的返佣数量,也未在返佣的时候判断总返佣金是否用完了,导致恶意的套利者可通过不断调用swap函数进行代币兑换来薅取合约的返佣奖励。慢雾安全团队提醒DApp项目方在设计AMM兑换机制的时候需充分考虑项目的业务场景及其经济模型,防止意外情况发生。[2021/4/5 19:46:39]
对比
安全性
零知识证明技术可以充分的保障 zkSync 用户在 Layer 1 托管的资产,用户资产在密码学上安全。但是需要注意,目前的 Rollup 技术都是单节点运行,在 Layer 2 上成功的转账并不代表该交易在 Layber 1 上一定成功,必须要等到交易 rollup 到 Layer 1 后,交易才能在密码学上进行保障。
Force DAO 代币增发漏洞简析:据慢雾区消息,DeFi 量化对冲基金 Force DAO 项目的 FORCE 代币被大量增发。经慢雾安全团队分析发现: 在用户进行 deposit 操纵时,Force DAO 会为用户铸造 xFORCE 代币,并通过 FORCE 代币合约的 transferFrom 函数将 FORCE 代币转入 ForceProfitSharing 合约中。但 FORCE 代币合约的 transferFrom 函数使用了 if-else 逻辑来检查用户的授权额度,当用户的授权额度不足时 transferFrom 函数返回 false,而 ForceProfitSharing 合约并未对其返回值进行检查。导致了 deposit 的逻辑正常执行,xFORCE 代币被顺利铸造给用户,但由于 transferFrom 函数执行失败 FORCE 代币并未被真正充值进 ForceProfitSharing 合约中。最终造成 FORCE 代币被非预期的大量铸造的问题。 此漏洞发生的主要原因在于 FORCE 代币的 transferFrom 函数使用了`假充值`写法,但外部合约在对其进行调用时并未严格的判断其返回值,最终导致这一惨剧的发生。慢雾安全团队建议在对接此类写法的代币时使用 require 对其返回值进行检查,以避免此问题的发生。[2021/4/4 19:45:30]
由于 xDai 使用了侧链技术,在侧链上的交易具备共识,因此不存在上述 zkSync 中交易必须等到 Layer 1 成功打包才能完全确认的问题。但是 xDai 使用了 PoA 网络对资产进行跨链,PoA 多签私钥的保管者们具备一定的「超级权限」,多签者们进行联合后可以具备作恶的能力。
Harvest.Finance被黑事件简析:10月26号,据慢雾区消息 Harvest Finance 项目遭受闪电贷攻击,损失超过 400 万美元。以下为慢雾安全团队对此事件的简要分析。
1. 攻击者通过 Tornado.cash 转入 20ETH 作为后续攻击手续费;
2. 攻击者通过 UniswapV2 闪电贷借出巨额 USDC 与 USDT;
3. 攻击者先通过 Curve 的 exchange_underlying 函数将 USDT 换成 USDC,此时 Curve yUSDC 池中的 investedUnderlyingBalance 将相对应的变小;
4. 随后攻击者通过 Harvest 的 deposit 将巨额 USDC 充值进 Vault 中,充值的同时 Harvest 的 Vault 将铸出 fUSDC,而铸出的数量计算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
计算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的变化将导致 Vault 铸出更多的 fUSDC;
5. 之后再通过 Curve 把 USDC 换成 USDT 将失衡的价格拉回正常;
6. 最后只需要把 fUSDC 归还给 Vault 即可获得比充值时更多的 USDC;
7. 随后攻击者开始重复此过程持续获利;
其他攻击流程与上诉分析过程类似。参考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻击主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在铸币时采用的是 Curve y池中的报价(即使用 Curve 作为喂价来源),导致攻击者可以通过巨额兑换操控预言机的价格来控制 Harvest Finance 中 fToken 的铸币数量,从而使攻击者有利可图。[2020/10/26]
everPay 使用的存储计算范式进行链下计算,链上只保存交易不保存状态,状态由链下计算生成。从以太坊或者其他区块链跨到 everPay 协议时,通过预言机模式进行资产 mint,若外部预言机(比如以太坊主网)不存在交易则链下计算的状态并不会被恶意更新。比如 ETH mint 时,链下的 everPay 协议收到 mint 消息会主动去请求以太坊主网,从以太坊主网获取整个交易数据,并对整个交易进行密码学验证,验证通过才能在 everPay 上生成对应的余额状态。每一次校验使用后的 txHash,都会被标记为 minted 状态,避免重复 mint 资产。
everPay 的交易是由用户签名进行确认,协议内的安全性能得到 100% 的保障。不过 everPay 和 xDai 存在类似的问题,目前也是通过多签技术对 Layer 1 资产进行管理。不过协议还会持续改进安全性,将来会结合区块链存储技术拓展签名透明性:将签名作为治理操作符保存在 Arweave 上,任何人都可以携带有效的、充分的操作符到 Layer 1 进行有效的资产操作。改进后的方案可以进一步提高安全性、透明性以及降低准入。
性能
ZK Rollup 借助 Layer 1 共识保障交易安全,压缩后可以将原来的以太坊性能从 10-30 TPS 扩张到 2k-3k TPS,这是在共识层面的理论极限。由于压缩的数据最终要重新回到 Layer 1,因此 Layer 1 和 Layer 1 需要进行资源竞争,这会极大的影响 zkSync 的 TPS。另外,零知识证明技术生成证明需要大量内存和计算资源,4 核 32 GB 的机器也需要几分钟才能算出一个区块的证明。目前而言 zkSync 的实现更像是一个 MVP,受限于计算能力,TPS 甚至不如以太坊 Layer 1。要解决计算问题需要等待新的硬件开发投产,如专门为零知识证明设计的 FPGA。
xDai Chain 使用 PoS 共识,提供 5 秒的区块确认, 70 TPS 。xDai 的 TokenBridge 使用 PoA 网络进行跨链,不像 zkSync 一样在 Layer 2 和 Layer 1 之间存在性能耦合,不会在同一条链上产生资源竞争问题。虽然 PoA 在安全性上稍弱,但 PoA 可能是目前体验上最佳的跨链方式,让跨链应用性能达到最高。
everPay 是链下计算,性能仅取决于运载的服务器的性能,目前轻松支持上万 TPS。
可用性
zkSync 的交互如下:
充值,将以太坊代币发送到 zk 合约锁定,等待区块确认后产生 L2 资产;仅收取以太坊充值费用
转账,第一次使用前需要签名并注册 Pubkey 创建零知识账户;转账费用在 0.001 美金左右
提现,提现分为普通提现和快速提现,普通提现费用较低,需要 50 分钟左右;快速提现费用较高,仅需 20 秒
xDai 的交互如下:
充值,使用 xDai bridge 网站,将代币充值到以太坊合约,完成充值后等待 8 个区块会在 xDai Chain 产生余额;仅收取以太坊充值费用
转账,将 MetaMask 切换到 xDai Chain,再使用 MetaMask 进行转账;转账费用约为 0.0002 美金
提现,第一步:使用 xDai bridge 网站,将 MetaMask 切换到 xDai Chain,进行提现第一步交易;第二步:交易打包到 xDai Chain 后等待 8 个区块后再将网络切换回以太坊主网,点击 Claim 完成提现
everPay 的交互如下:
充值,打开 everPay,使用 MetaMask 进行充值,等待 6 个区块后资产充值成功
转账,使用 MetaMask 签名完成转账,实时到账,转账免费。
提现,选择资产类型和输入提现数量,使用 MetaMask 完成提现;目前仅支持普通提现,由于需要等待 Arweave 区块打包,需要等待 5-20 分钟才能完成提现。将来会提供快速提现功能,用户将协议上的资产转给做市商,市商将资产在 1 分钟内转给用户。
zkSync 和 everPay 都使用 MetaMask 进行操作,他们的更像一个 Dapp 产品,通过网页端配合 MetaMask 或其他钱包工具进行使用。xDai 由于是独立的侧链,使用的过程中需要来回的切换网络,用户体验非常的差。
对于已经熟悉以太坊和以太坊钱包的用户,使用 zkSync 和 everPay 都非常的方便;只有精通区块链的用户才具备使用 xDai 的能力。
由于 everPay 采用存储计算范式,共识成本极低,因此转账速度和费用方面具有绝对的优势。everPay 提供了实时和完全免费的转账。
总结
安全性上 zkSync 由于使用了零知识证明,更胜一筹。xDai 和 everPay 都将资产托管在原来的链上,使用多签的方式保障资产安全,其中 everPay 会进一步改进将签名存储在 Arweave 上以保障操作的透明性和安全性。
性能方面,零知识证明还在发展中,在机器运算能力不足的情况下 TPS 甚至低于 Layer 1;xDai 仅有 70 TPS,和以太坊是处于同一量级;everPay 目前就可以支持上万 TPS,性能远强于 zkSync 和 xDai。
交互上,xDai 体验最差,对普通用户基本是不可用的状态。zkSync 和 everPay 都能提供很好的交互体验。everPay 采用基于 Arweave 的存储计算范式,具备极低的共识成本,可以为用户提供免费的转账。目前的零知识证明在工程上还很难满足大规模使用的需求,everPay 已经可以为用户提供互联网级别的高性能转账,可用性上 everPay 更具优势。
我们需要的是一种基于密码证明而非信任的电子支付系统……
——中本聪
正如中本聪所言,在传统电子支付系统中,单一的账本无法达到多方信任的目的,为了提高可信度,人类经过几千年的演化创造了复式会计账,配合复杂的社会法律体系才能完成对帐,而我们真正需要是一种密码学可信的支付系统。比特币应用区块链技术,将账本用密码学保护起来,创造了一个去信任化的支付结算系统。得益于存储计算范式,everPay 协议的账本也能达到去信任化以及透明可审计。在可信的基础上,everPay 又提供了高性能、易用的区块链支付结算方案,解决了比特币现金大规模应用的痛点。未来,everPay 会接入更多的链和代币,为更多的数字资产提供高性能支付结算。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。