everFinance、Go+ Security 和 Safeheron 从不同的角度解决风险问题, Web3 安全需要多方共同努力。
主持人:
易小点,Research DAO 发起人
嘉宾:
Outprog,everFinance 创始人兼 CEO;
Mike,Go+ Security 创始人兼 CEO;
Max,Safeheron 首席科学家;
Chelsea,Foresight Ventures 投资经理
特邀嘉宾:余弦,慢雾科技创始人
易小点:先请各位嘉宾做一下自我介绍。
Outprog: 我是 everFinance 创始人,以前在 imToken 进行 Dex 的开发。在 imToken 期间经历过很多安全事故,我认为安全问题的难点主要在用户体验和对于密钥的管理。我在 2020 年 7 月开始接触 Arweave,10 月份创建了 everPay Protocol,这个协议是在保证安全性的前提下,让用户能更简单地管理自己的资产和进行实时代币转账。我们的产品是构建在 Arweave 上的,Arweave 是一条存储型的区块链,它不具备资产代币的转账功能,我们在 Arweave 上创建了一个跨链的金融基础设施。目前 Arweave 已经支持了 4 条公链,本月我们也将再接入 2 条。另外,我们的 Permaswap 即将上线,它将是 Arweave 生态的首个跨链 Dex,并可能是未来很长一段时间唯一可以购买到 Arweave 生态代币的途径。
Mike:我是 Go+ Security 创始人 Mike,Go+ Security 是一个 to C 的专业服务公司。大家可能对于审计公司或 to B 的服务比较熟悉,但行业内,不管是防诈骗还是资产保管方面,真正面临风险的是用户。我们通过 API 的方式,为合作伙伴提供接入通道,帮助他们实现对自己用户的实时安全服务。
Max:我是 Safeheron 首席科学家 Max,主持密码学和可信计算技术的研究以及成果落地的工作。Safeheron 主要是是专注于数字资产安全存管解决方案的提供商,拥有 10 多年网络攻防的密码学经验。我们的经验主要集中在两个方向,一个是 MPC,也就是安全多方计算;还有一个是 TEE,也就是可信计算。 通过相对前沿的技术去提升安全问题,从技术上解决去中心化信任的架构问题。
Chelsea:我是 Chelsea,Foresight Ventures 投资经理。作为一个早期的投资者,我比较关注 Arweave 生态。很明显 Outprog 团队为 Arweave 做了很多基础设施,技术实力确实非常强,所以很荣幸早期参与了 everFinance 的投资。安全一直是 Foresight Ventures 关注的问题,最近也在看 TEE 和 MPC 在公链隐私方面的一些解决方案。
易小点: 我们可以看见不管熊市还是牛市,区块链安全的事件都是层次不穷,动辄高达几亿美元的金额。在 Web3 中我们一直说要把资产、数据、内容等主权都归还给用户。在这同时,安全就是一个不容忽视的问题。各位嘉宾可以谈谈对这方面的想法嘛?如何在把主权还给用户时,也能帮助他们管理好资产。
Outprog:我认为安全可以分两个方面,第一个是钱包以及区块链基础设施的助记词方面;第二方面就是智能合约以及产品方面的安全性。
助记词、密钥对于用户来说其实是非常难以管理的,教育成本很高。密钥的丢失会出现在很多场景,比如用户把密钥截图上传网络等。这种安全其实很难真正从技术层面解决,所以我认为智能合约钱包或无密钥钱包可能是未来钱包的一个方向。因此,我们在探索 everPay 的时候也做了这样的思考,做了一个去中心化社交钱包的 POC,用户以低成本创建一个去中心化的社交账户,让这个身份来管理所有的资产;而密钥的管理交给手机或 PC 这样的硬件,把用户的密钥绑定到手机的硬件芯片上,所以只有手机被破解或者丢失,才会存在一定的风险。如果硬件丢失,怎么保证账户的安全性?我们可能会采用社交的方式进行公钥的更换。我认为,将来用户直接简单地通过邮箱、指纹、扫脸等就可以实现私钥的管理,对于钱包的安全可能是一个更可行的模式。
第二点是关于合约的安全。不仅合约本身可能存在漏洞,也可能存在一种组合性的风险。我们在 2019 年的时候经历过一次丢币事件,当时有一个类似于 Compound 的去中心化市场,引入了 ERC-777 代币,一个黑客把资产在账目里越做越大,最终用少量的资金掏空了整个池子。所以,合约的安全需要很多的经验和探索,而区块链还处于一个很早期的阶段,未来会有不可避免的风险出现,只能通过专业的扫描和预判,逐渐减少风险。
我们在这方面对产品做了深度的考量,提出了使用存储方式开发的一种全新模式 Permaswap,用户无需将资产充值到任何智能合约,而是连接到去中心化的网络之后,对网络进行一个报价,所有的资产都保存在用户的个人账户里边,由原来的密钥进行管理。风险分散到了无数的个人节点,是一种真正的资产自托管的 DEX。这种模式在审计方面也会非常简单,只需按照最简单的「x*y」的公式进行报价,收到订单后,按照最简单的公式进行验证,再进行签名就可以了。
我们的系统是订单交易,需要所有转出方的签名,交易中只要有一笔失败,整个交易就会进行回滚,保证交易的原子性。Permaswap 的用户只需要关心我转出多少资金、能收到多少资金,进行签名就可以了。在网络中各方都是低信任或者去信任化的,不需要相信对方是否有资金。在安全性方面,在 Permaswap 这种去中心化的节点网络自托管系统中,用户只需按照自己的需求进行签署,就可以形成一个非常简单的去信任化的网络。
Mike:我更多的是从攻击上理解安全。安全就像一个漏斗,最顶部是覆盖面最广、用户量最大的 C 端安全,他们的风险场景是碎片化的;往下可能是开发者,需要考虑的是我代码实现问题和产品问题,中间的开发者相对用户肯定量级要少很多;再往下走可能是项目方,项目方需要完整的安全服务,从代码的开发、部署上线、业务运行,再到最后整个的风险追踪和风险预防。目前,大量的安全服务还是集中在漏斗的下部。对于普通用户和对于开发者来说,反而给予他们能使用到的安全服务并不多。
对于开发者很难用到审计服务,他需要的是一些快速的反馈。在 Web2 中心化里,开发者有一套完整的测试流程来把关,帮助他们不断反馈、完善到最终上线。但在 Web3 里,测试环节相对比较弱,缺少一个完善的自测流程,能用的工具、平台相对比较少。这对我们来讲是个机会。在自动化检测方面,虽然不能提供足够的安全深度,但却可以让开发者快速得到反馈,低成本得到安全服务,帮助更多的开发者快速成长。
对于用户量最大、最广泛的普通用户来说,他们能用的安全服务更少,面临的风险场景是碎片化的,还会遇到很多 Web2 的安全问题。C 端用户需要的安全服务要求更高,需要识别风险又快又准,覆盖要全。
因此,希望能有更多的合作伙伴参与进来,这不是一个人能解决的问题,我们希望可以做一些基础设施,比如数据的 API,把得到的数据结构化,输出给更多致力于 C 端安全的团队,和大家共同解决 C 端安全问题。
Max:Web3 安全问题覆盖所有用户,大致可以分成两类,一类是大机构用户,资产特别多;另一类是像小机构和个人。这些用户有一些区别,也有一些共性,我们简单聊一聊他们的差别。
对于某些用户,为了方便会直接让平台管理自己的资产,这种方式和 Web2 差不多,注册账户平台管理,明显的好处是便利,但风险也很明显,平台不稳定的时候,安全性也有很大的问题,这通常是小机构和个人面临比较多的问题。
另一种用户完全不信任平台,自己来掌控自己的数字资产,但是要面临私钥安全问题。大部分用户甚至某些大机构的用户,他们可能自己都没有办法保证自己的私钥是安全的,可能会遭到各种方式攻击、可能会被偷走甚至自己丢失,一旦出现这种情况,资产就也就丢失了。
在 Web3 里面安全是第一位的,最终追求应该是又安全又可用,否则发展是很难保持长远。未来我们如果希望越来越多的人参与到我们的事业中来,就必须在安全当中保持便利。
我们也在这个道路上不断探索,对于个人来说,基本的思路是,把一个单方的治理方式变成多方的治理方式。通过把私钥分片去中心化之后,实现安全多方计算的协议,从而解决数字资产管理领域的一些具体的安全问题;或者是通过硬件钱包加 APP,共同签名,达到安全和便利的平衡。
对于机构来说,合约的开发和部署过程当中的安全性也是一个非常重要的话题。因为合约的开发和部署是单个人控制的,很多设置也可能由单个人完成,风险很大。另外机构中安全的工作和审核流程也非常重要。
无论是机构还是个人,都是可以通过多方管理来把控安全问题,但在不同层面都实现多方方案是有困难的。比如比特币有一套自己的多签方案,以太坊和其他的公链都不相同,所以,如果要实现多方管理,就要针对所有的区块链都处理一次,这样的话工作量极大,而且出错的概率也会增大。这都是亟待解决的问题。我们试图为这些问题提供解决方案,让整个数字资产安全管理向既安全又便利的方向迈步。
易小点: 从投资机构的角度讲,Chelsea 你们更看重安全相关的哪些板块?
Chelsea:最近我们也看了很多安全相关的项目,比如 Mike 刚说到的自动化检测工具。
像 Max 讲的,用户分为机构用户和 C 端用户,他们对于安全的感知、安全的成本和代价是不一样的。我们在看很项目的时候,偏向审计的方案,它的用户目标是项目方,而且不是一种高频次的消费方式,大部分属于 B to B 的一种交易方式,因此,我们会考虑赛道的想象空间和它的盈利模式。
易小点:上个星期我们看见了 everPay 与 Safeheron 达成战略合作关系,everPay 会使用 Safeheron 通过打造 TSS-RSA( 基于 RSA 的门限签名方案)算法库进行资产的多签管理。ECC 和 RSA 都是广泛使用的非对称加密算法,在选取的时候从安全性和性能上有怎样的一个考量?以及基于 TEE 的 RSA 密钥分片服务的使用场景会有哪些?可以简单的给大家介绍一下吗?
Max:我非常高兴 everPay 与 Safeheron 达成战略合作关系,未来我们应该会有很大的合作空间。ECC 和 RSA 这两种算法是比较有名的密码学算法,RSA 是一个基于大整数分解难题来设计的加密和签名算法;ECC 主要是基于椭圆曲线上的密码学算法,涵盖范围也很广泛,也包括了加密的算法和签名算法。这两种算法也有各自的特点。
在签名的场景中,RSA 签名速度不快,但并不会影响它的性能,同时通过选择合理的公钥参数,可以保证非常快的验签速度,这个验签速度要比 ECC 快很多,这是它的一个特点,也是 Arweave 选择这个算法的原因。它的缺点是目前还没有一个特别有效的分布式私钥签名的方案。
ECC 的签名签名速度非常快,但验签速度相对 RSA 要慢很多,而且在不同的签名方案里面,实施的困难程度不同,有的比较方便,和 RSA 差不多,有些会比较麻烦,比如 ECDSA 实现就比较麻烦。但它有比较成熟的分布式密钥生成的多方协议。
在和 Arweave 合作中,我们提供了 TSS-RSA 算法,就是基于 RSA 的可信的私钥分片生成服务,这正好弥补了 RSA 的缺点。整个生成过程当中,它会在可信环境中生成一个分片,最终输出只要分片,因为受到可信环境的保护,保证私钥不被泄露。通过可信计算技术中的远程认证的技术,保证服务器在远端运行的时候在可信环境当中,使远端服务器没有办法读取它的内存;还能结合分片技术,保证原始的私钥没有任何人知道。
Outprog:我来补充一下,Arweave 用的密钥是 RSA,和以太坊不一样,密钥可以分片,但没有一个去中心化的管理方式,所以要持有 AR 代币,要用个人的钱包,这其实是非常危险的。以太坊是支持智能合约,由多个密钥去管理,但 Arweave 没有智能合约,在没有 Max 团队所做的贡献之前,Arweave 的资产其实是没有办法通过去中心化的方式去管理的。有了 Max 团队的方案后,各方之间就可以不需要相信任何一个节点,都可以拿到一个密钥分片,分布式地去管理 Arweave 上的所有的资产。
Chelsea:我想请教一下 Max,像 Fireblocks 采用的是 MPC 分片的解决方案,你们的方案和他们的有什么区别?
Max:这其实涉及到最开始主持人问的关于 ECC 和 RSA 的区别。目前区块链常见的共识签名算法有几种:Arweave 采用的 RSA,BTC 和 ETH 1.0 采用的是 ECDSA,还有一些新的项目采用的是 EdDSA,ETH 2.0 采用的是 BLS…… 这里面除了 Arweave 采用的 RSA 外,其他都可以归类为 ECC。这两类不同的共识算法,基于不同的安全多方计算协议,这两个方向我们团队都有涉猎。
可以切入的区块链有几十条上百条,但这些区块链的签名算法是有限的,所以,为了支持所有链上的多方资产管理方案,我们把相对的大概五、六种签名算法方案全部解决掉,就可以覆盖所有的区块链。如果 Arweave 后续想要切入到 ECC,我们也会有现成的解决方案。
Mike:我可以补充一下。Safeheron 的优势有三点,第一点是效率,在签名算法上实现效率快,包括中间有些关键节点用了硬件加密的方式,解决多签效率问题;第二个是在业务的定制化上,相比于采用 RSA 的 Safeheron,Fireblocks 是 MPC 托管产品,在业务定制化方面自由度非常低,对于整个业务流程的权限管理,包括权限管理的分离、修改都没有那么灵活,导致你只能配合 Fireblocks 定义好的流程去管理;第三个是便宜,Fireblocks 就比较贵,而 Safeheron 在技术和业务适用性上有优势的前提下,还提供一个比较友好的价格,优势很明显。
易小点:对于 everPay 来说,安全也是重中之重吧!在 SCP 的范式下如何更好地保护用户的资产。前段时间公布的 Permaswap 将在 SCP 的范式上建立,我们看见了许多和之前的 dex 的不同点,比如资产自托管等,outprog 可以给大家说说?
Outprog:everPay 这个产品是基于一个全新的存储共识范式开发的,这个范式是指,只要存储是不可追溯的,那么程序就是确定性的,确定性的程序加上确定性的数据,产生的最终结果一定是确定的。所以在 Arweave 上构建应用,也可以实现一种去中心化的应用。
我们的 everPay 就是基于 Arweave 这套技术,把所有用户的交易都批量的写到 Arweave 上,不管谁运行 everPay 节点,最终生成的共识都是确定的、不可篡改的,这是安全方面的低一点。
第二点,everPay 协议和其他链是分离的,它有点像是一个侧链或者跨链的应用,那么就涉及到资产的跨链问题,这里我们就会使用安全多方签名的方式去解决这个问题。之前 Arweave 上使用的算法需要 30 分钟才能计算出密钥分片,通过 Max 团队的优化之后,只需要 30 秒钟就可以实现。因此,未来 everPay 的多签跨链会变得非常灵活,可以通过 everPay 自己的代币,增加或减少这些节点,整个过程仅需要几十秒就可以完成,让整个跨链变得非常的去中心化和安全。因此,everPay 可以为普通用户提供实时的、超低费用的转账功能,比如进行 1,000 万笔转账只需要 4~5 个美金,在成本上是具备一个巨大的优势。大家可以用 everPay 进行打牌的时候转账小费,在 Web3 的各种应用论坛进行打赏,在 Discord 里发红包等等,所有过程都会和 Web2 的体验非常接近。everPay 协议是一个真正面向 Web3 的金融协议,让很普通用户可以更轻易地去使用区块链产品。
这种跨链签名是一个门限签名的资产托管,Arweave 不存在智能合约,所以它的资产要充到某个地址。这就需要门限签名的技术实现多密钥的分管,这些密钥的持有者就是我们的节点,通过我们业务的 POS 去选定这些节点,节点的退出和进入都可以使用一个高效的门限签名和分片的 MPC 技术,让多方之间实现快速的节点加入和退出。
这个可组合性非常高,Web3 的可组合性非常灵活。Conflux 用 everPay 进行实时 NFT 拍卖,Metaforo 一直在用我们的产品进行论坛的开发,和 Conflux 合作做 Web3 论坛。everPay 和 Conflux 进行了集成,也可以用 Conflux 代币在 Discord 和论坛里进行打赏。所以在 Web3 生态里,我们和所有的生态项目都存在一个可组合性。
有了 everPay 这个基础设施之后,我们就做了 Permaswap,它是一个兑换网络,里面分两种角色,Router 节点和 LP 节点。Router 节点负责聚合各方的价格,LP 节点让你用自己的密钥管理自己的资金,LP 就会把报价曲线给 Router,Router 会收集 LP 的报价曲线,Router 就可以根据这些报价信息生成一个最优的多对多的订单,个人用户只需要关注转出了多少和收到了多少,进行一个签名,多签的订单就可以完成。其他的 LP 检验价格在他们认可的合理范围内,根据他们的算法进行签署,最终再将订单交给 LP 进行一个实时的执行。这个过程听起来复杂,但是在 everPay 上只需要 0.2 秒。交易过程没有任何的 MEV。
易小点:我们看到 Go+ 在以太坊生态的安全方面已经做了很多,比如代币风险检测、恶意地址库和 DApp 合约安全检测等。Arweave 生态和以太坊生态在共识和机制方面有许多不同。那么 Go+ 在 Arweave 生态中可以在哪些方面帮助用户更简单的识别安全问题?这两个生态在安全方面各自有什么不同的挑战?
Mike:像 everFinance、Safeheron 还有 Go+ Security 都是从不同的角度解决安全问题,everFinance 通过建立一个更加去中心化的点对点交易网络,实现更好的交易安全;Safeheron 从资产保管角度,提供更好的多签解决方案;我们是从数据层,跟大家组合在一起形成更完整的安全服务。资产的安全,比如资产本身是否是攻击者设计的恶意资产,资产使用时的一些行为是否存在风险,这些都是 Go+ Security 需要考虑的事情,需要和应用层和其他的数据层共同努力,提高用户资产在不同场景里的安全性。
Arweare 和其他公链对于安全数据的需求是明确的,他们需要大量的用户安全数据收集,包括资产本身的安全性,和用户使用资产行为的安全性(比如在浏览器、钱包、交易所等场景里可能遇到的风险点),通过大量的用户数据反馈,完整地描述用户在实际使用当中面临的风险。我们把这些碎片化的数据组合起来,建立我们的模型,快速地进行风险识别。
在 Web3 应用里,我们的产品有很大的空间。Web3 应用需要为这些用户提供更好的安全服务,同时也帮助 Web3 的应用方剥离掉用户层面的风险,让 Web3 的应用更专注地去做自己的用户价值。
我们目前覆盖了很多公链,包括 Arweave、EVM 兼容链等,接下来回去覆盖更多的公链。
Chelsea:除了链上的数据,链下的比如钓鱼软件你们能监测到吗?
Mike:可以的。我们目前和一些主流的浏览器合作,预计会在 8 月份左右上线,把我们的数据接入到这些主流浏览器,除了链上的风险外,对于用户在 Web2 上的风险点的管理也在进一步的扩展。
现在的 Web3 还是在 Web2 的基础之上的,不能刨除 Web2,但很多 Web3 应用在 Web2 的风险管理能力还不是很健全,所以我们希望通过跟一些 Web2 主流浏览器和垂直服务合作,把用户的风险的问题管理起来。
Chelsea:对于钓鱼网站的识别,你们有没有考虑过激励用户去主动识别?
Mike:我们其实一直是这么做的,现在每天都能收到用户反馈的数据。用户在接入我们的安全服务时,是可以实现主动的数据反馈的。我们设立了主动提交的通道,引导用户更主动的去提交,客户的提交其实是能够帮我们在整个安全数据里面查缺补漏,发现新的风险和纠正错误,增加我们发现风险的能力。
易小点:在 SmartWeave 合约上进行开发时,开发者能从哪些方面更好的保证用户的资产安全?
Outprog:我们是 Arweave 生态的开发者,SmartWeave 是存储方式的一种模板,开发人员能够使用 JavaScript 构建智能合约应用程序,简单的说就是把 JavaScript 的源代码放到 Arweave 上,再加上和 JavaScript 代码有关的一些数据,最终就会聚合出一个合约的状态。所以,使用 SmartWeave 或者 SEP,开发者会更加灵活。在 Arweave 上,很多 Web2 的开发人员可以很轻松地切入进来。因为数据的共识才是整个区块链共识最基础的东西。可能 Web2 的一些审计方案或者开发经验,对于 Web3 或者 Arweave 的开发都会有一定的作用。
Mike:整个安全的数据其实最终是需要去中心化的。Web2 中 360 涵盖了很多用户方面的安全问题,由于中心化本身的问题,最终没有对开发者这一层的数据进行多方管理。
我们目前的方案和路线图都是基于 Arweave 来做的,比如数据的获取,以及数据处理之后的结果反馈,都通过链上确认的方式,让更多的人以更开放的方式参与进来。我们已经有了一个 demo 版本,把我们数据存储在 Arweave 上,让多方进行验证或评估。后面会跟更多的合作伙伴一起,实现一个去中心化安全目标。
Max:一个是关于合约和 DeFi 安全问题,开发合约的时候对外部数据的调用会带来体系化的风险,Go+ Security 对此有很好的解决方案。另一个是关于合约的开发部署方面,存在一个共性的问题,很多项目都没有采用多方治理,开发部署的相关资料都掌握在某一个人手上,屡屡有合约被偷、被盗、被篡改的问题,导致资产损失,这是我认为需要迫切解决的问题。
易小点:余弦在听了这么多分享后,有哪些新的想法和大家分享?
余弦:我刚才一直在听各位嘉宾关于安全上的见解,很多和我们都是有安全方面的合作,整个安全生态还需要各方合力来实现。慢雾有自己的业务重点,像 Safeheron、Go+ Security 等都有自己的安全业务重心,我希望大家可以合力让生态更安全。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。