Math Show #007 – 深入浅出,如何确保你的 DeFi 资金安全

6月23日晚7点,麦子钱包举办了 Math Show 的第7期,有幸邀请了 NEST 社区开发者 YolkLi 和 安比实验室 郭宇,特邀主持人链闻研究总监 潘致雄,带大家“深入浅出,如何确保你的 DeFi 资金安全”,以下是当晚的精彩撰录。 主持人: 想必大家对最近 DeFi 最近的火热程度有目共睹,除了带了的财富效应之外,大家其实最核心还是最关注“DeFi 资金”的安全性,那么我们先请第一位嘉宾 NEST 社区开发者 YolkLi 给我们带来的分享。 YolkLi: 今晚和大家分享一下日常开发中的一些经验。 一、代码安全 智能合约的开发和传统的开发不同,因为区块链的操作消耗和去中心化特点,代码的质量和安全显得更为突出。大概有三点建议: 1、DeFi 是建立在区块链上的应用,公链(联盟链)底层逻辑或者机制的改变会对 DeFi 应用产生影响,比如 Gas 消耗由于某次改动上升了,导致某个 DeFi 的套利空间不存在了。我们需要关注区块链的发展,尤其是底层的升级对 DeFi 安全性的影响。 2、区块链上的操作是以交易的方式进行的,要保证交易的原子性,交易中所有的操作和影响都要在代码逻辑的覆盖范围内。 3、安全审计,DeFi 面向市场前必须要经过安全审计这步,这是对用户和投资者负责。NEST 目前也在和安比实验室进行 NEST3.0 的审计工作。 二、跨合约安全 很多业务场景需要用到其他的合约接口,前段时间也出现了很多问题,比如 ERC20 的假充值,ERC 777 重入攻击等。 合约的组合会破坏一笔交易的原子性。举个例子: 一张”竞猜”合约:转入1 ETH 参与竞猜,正确返回2 ETH ,错误1 ETH 就损失掉了。假设竞猜过程公平公正,代码也是安全的。我们理想的逻辑是调用者转入1 […]

Math Show #005 – 聚焦 Uniswap,是否能成为下一个风口

5月27日晚7点,麦子钱包举办了 Math Show 的第5期,有幸邀请了 DeBank 创始人 & DappPub 社区创始人汤洪波,主题为“聚焦 Uniswap,是否能成为下一个风口”,主持人是T,以下是当晚的精彩撰录。 汤洪波:  Uniswap 是18年底上线的 DeFi 项目,算是 DeFi 里面的明星项目了。它是做去中心化交易所,但是跟之前普通交易所里不一样的地方是,它的交易不基于订单簿,而是靠兑换池来做市。所以对普通用户来说,从表面看起来 Uniswap 更简单了,但是实际上兑换池有一些需要注意的地方,我们今天就主要针对兑换池的几个应用场景来介绍。  先说一下什么是兑换池,它其实指的就是一个资金池,而这个资金池里的通证比例和 Uniswap 的定价算法决定了最终用户交易的价格。 这样一个池子主要有四类参与者,首当其冲的是代币的项目方。 对于通证的项目方来说,将任意的 ERC20 token 和一定数量的 ETH 存入Uniswap 就可以创建出一个该 token 同 ETH 的兑换池,之后任意用户都可以通过这个兑换池进行这个 token 同 ETH 的交易。  当然,我们知道最近 Uniswap 升级了 V2 之后,其实已经支持创建任意 token 之间的兑换池,不再局限于 ETH。虽然目前看来 V2 里面大多数还是对 ETH 的交易对。 这是 Uniswap 里创建池子的截图。可以看到上面那个 ETH 是默认的选择,然后下面可以选你想要创建的交易对的代币。当兑换池创建好之后,交易的价格或者说交易汇率,就由兑换池中两个 […]

Math Show #004 – 波卡 Polkadot 要把 DOT 发行量放大100倍?

5月14日晚7点,麦子钱包举办了 Math Show 的第4期,有幸邀请了 Laminar CTO & Acala 基金会理事 陈锡亮分享关于「波卡 Polkadot 要把 DOT 发行量放大100倍?」,主持人是社区 MC 小工,以下是当晚的精彩撰录。 小工: 最近社区围绕“波卡Polkadot要把DOT发行量放大100倍”这个问题激烈讨论,如何了解背后的投票逻辑和系统性操作,我们请亮哥带我们深入了解。 陈锡亮: 最近波卡社区讨论最多的话题就是放大发行量一百倍的提案,我和大家详细讲解,以及借此机会介绍波卡先进的治理机制。 这个提案是由 Web3 基金会的 Logan 在5月7号发起的,在8号进入为期8天的公投阶段,将在16号结束投票。 先附上链接,英文好的可以看看: – 发起的交易 https://kusama.subscan.io/extrinsic/2208382-3 – 提案在链上的资料 https://kusama.subscan.io/referenda/52 – 提案在 polkassembly 上面的讨论 https://kusama.polkassembly.io/referendum/52 – 官方网页钱包治理页面 https://polkadot.js.org/apps/#/democracy – 波卡治理介绍 https://wiki.polkadot.network/docs/en/learn-governance 提案的内容是将 DOT 的发行量放大一百倍,1个变100个。具体怎么变呢,就要涉及到一些技术上的细节了,我给大家科普下。 熟悉以太坊或者比特币的可能知道,一个以太坊是1后面18个0,一个比特币是1后面8个0,这个多少个0是这个币的精度。 KSM 的精度是12位,DOT 预期也会是12位。这意味着以最小单位表示的话,1 000 000 000 000 plancks […]

Math Show #003 – 如何给区块链打上马赛克?

​5月8日晚7点,麦子钱包举办了 Math Show 的第三期,有幸邀请了 Phala 隐私网络 CEO Marvin 讲关于「如何给区块链打上马赛克?」,主持人是 PolkaWorld 联合发起人庞晓杰,以下是当晚的精彩撰录。 Marvin: 我们团队比较早期便加入波卡,在去年5月份经过姜老板介绍开始使用 Substrate,所以我们和 Acala、达尔文等波卡项目也都是好朋友,都是 ala 系列的。 Phala 的特殊之处在于 Phala 的落地产品以及如何分发代币。中本聪的思想被发扬光大后,就来到了2018年,那时候我还在打工,尹航刚刚完成了 BitcoinGold 的启动和研发,我们发现了区块链的问题。 大家都知道,比特币是第一个也是最广为人知的去信任通证,主要用区块链来解决双花问题。以太坊则是扩展交易脚本、执行任意的逻辑、去信任智能合约。但只要用了区块链,数据就要公开,这导致很多需要数据保密的应用无法上链。 因为全公开、透明,所以限制了很多应用场景,敏感信息不能上链,比如以下这几种就用不了:在以太坊开发一个人和人玩的网游、做一个策略保密的 defi 合约、想要用户在区块链上身份验证。所以到现在为止,区块链99.9% 的项目落地都很艰难。为了解决这个问题,我们开始寻找解决思路,现在有多种隐私保护技术,分别能实现不同程度的保护,我们常常给隐私保护技术分成三个世代。 第一代技术的典型代表 Zcash 和门罗币,他们通过零知识证明、环签名、保密转账等技术实现了交易的隐私保护,他们的技术可以保护原生币的交易隐私。 第二代技术的典型代表是 Aztec,一个以太坊上的隐私协议,采用和 Zcash 类似的技术,可以为任何 ERC20 代币实现交易隐私。第二代技术是第一代的扩展,不过他们都只能实现交易隐私,如果涉及到图灵完备的智能合约就无能为力了。 总结一下:基于零知识证明可以实现匿名交易、有点逻辑的转账的隐私化保护,但是这远远不够。 第三代技术,我们希望把“隐私保护”的概念拓展成“机密保护”,隐私不仅指用户的交易隐私,更应该能保护智能合约中的任何机密数据不被泄漏。目前的智能合约技术,所有数据都必须完全公开,而我们希望“机密智能合约”(Confidential Smart Contract)可以如同以太坊的图灵完备智能合约一样,可以进行通用的计算,但不必暴露机密数据。 目前机密智能合约技术可以通过多方计算(MPC)与可信执行环境(TEE)实现。前者基于同态加密、零知识证明等纯密码学技术,不依赖硬件,可以高效率地应用在一些特定领域,例如可验证随机数、分布式密钥生成等,但在通用计算上有平均一百万倍的性能损失。后者基于可信计算硬件(主要是 Intel 的 CPU),但已经可以实现非常高效率的通用计算。 Phala.Network 选择了可信计算方案,致力于实现保护机密数据的、通用的图灵完备智能合约。 TEE 是什么呢? 其实就是使用硬件设计,实现一个硬件的可信第三方(trusted third party,TTP),它能够接收来自多方的隐私数据输入,诚实的执行既定逻辑,再反馈结果。这个硬件方案已经被成千上万的设备所拥有了,这就是 CPU 的 TEE(可信执行环境)。 […]

Math Show #002 – 由点到面,深度了解Filecoin

​4月29日晚7点,麦子钱包举办了Math Show第二期,有幸邀请了Filecoin挖矿领域的知名矿机厂商1475联合创始人Andy与我们麦子钱包的联合创始人及CTO Eric 给我们讲「由点到面,深度了解Filecoin」,主持人是星际视界IPFSNEWS联合创始人Nancy,以下是当晚的精彩撰录。 Andy: 大家好,我是Andy,1475的联合创始人。我们1475成立于2018年5月,全称是天茹科技。在测试网期间,我们帮官方修复了一些bug,升级至一个稳定版本,最后官方在社区找了这个节点,随后在整个测试网期间,我们在算力和出块始终保持第一位,慢慢就更多人知道我们了。 Eric: 大家好,我是Eric,麦子钱包CTO。麦子钱包“可能”是目前支持公链最多的钱包,我们目前已经支持的公链有40多个,包括Filecoin的钱包支持也正在开发中。 我在16年的时候参与以太坊在上海办的DevCON2,第一次了解到IPFS,那个时候以太坊的Swarm分布式存储协议也挺火的。也是因此对区块链产生兴趣,加入到这个行业。 做麦子钱包是因为那时候每出一个新的公链,都需要下载一个单独的钱包,就想说能不能做一个用户体验统一的多链钱包,并整合打通这些公链的交互操作。 几年下来,麦子钱包也已经累积了近百万的用户,证明当初这个方向的选择还是正确的。 主持人: 作为一名行业比较老的IPFS媒体人,我今年一个非常深刻的感受就是Filecoin这个赛道非常火热,这个火热程度已经远远高出了去年,为什么今年这么火热?为什么Filecoin 赛道这么值得我们关注? Andy: 经历过17年的人应该都知道 Filecoin,它的愿景是真正实现底层分布式存储的商业应用,而且在非常短的时间内就完成了2.57亿美金的融资。这波比特币减半的行情是一个大的共识和预期,再加上Filecoin这样顶级的应用项目能够上线,下半年可能真的会带来一波更好的行情和机会。 Eric: 我们现在访问网站用的是 http:// 开头,也就是 HTTP 协议,IPFS协议访问则是通过 ipfs:// ,它同样能够访问网络上各种资源,而且因为它分布式的特性,加上FIlecoin提供的激励层,它的访问会更稳定、容错和保护隐私。 大方向上,IPFS是有可能取代HTTP协议的,也就是美剧《硅谷》中抛出的设想,一个P2P的网络世界,没有大公司,生态扁平化,每个人闲置的存储空间都可以租出去给别人使用。 这几年有很多对目前互联网的反思,目前互联网的趋势和状态是否有助于推动技术和人类文明进步?我们看到的是消费互联网巨头们的生态正在越来越封闭。 我之前一直使用印象笔记的微信插件保存我觉得不错的好文章,方便之后自己检索,但最近微信把这个第三方接口也停了,你只被允许分享给腾讯生态内部的产品。 从这个意义上,IPFS协议将使得互联网数据更加开放、更加结构化,使计算机能够深入理解和使用数据。如果DEFI是开放式金融的开始,那么IPFS/Filecoin会是开放式数据生态的开始。 主持人: Filecoin挖矿和其他项目相比有什么特点呢? Andy: 先来对比一下Filecoin和比特币挖矿的区别,那大家都应该知道,比特币挖矿是基于POW的共识机制,那它相当于是做一道计算题,当你的计算能力越强,你的计算次数越多,那你最终答对这道题的概率也就越大,也就是打包区块的概率越高。 Filecoin是一个基于存储的一个挖矿,但它又跟POC不一样,POC相当于是硬盘挖矿,当你的硬盘容量越大,你填充了一些数据,也就是所谓的P盘,你的硬盘容量越大,你可以挖矿的概率就越高;但是Filecoin的概念叫有效存储,当你存储的数据被网络验证之后,才能称之为有效存储。你的有效存储越多,最终出块的概率越高。 再从另外一个维度来看,绝大部分的挖矿其实都是基于共识挖矿,最终买单的是对这个币有信仰的人,而Filecoin的挖矿是基于商业价值,他的核心是在于有效存储,或者说是被网络验证的存储,存储越多出块率就越高。被网络验证存储其实就是你实实在在地帮别人存东西,这实现了它的商业价值,所以它的挖矿不仅仅有共识成分,还有商业价值成分。从某种维度上来说,它其实比其他的挖矿项目有更大的商业逻辑,而且形成了更好的商业闭环。 Eric: 在我来看,其它挖矿的项目,不管是POW还是POS,目的是给链提供持续的安全性,在链本身安全的基础上,再去发掘应用场景、商业模式。Filecoin挖矿属于天生自带应用场景,因为文件存储服务有现成的商业需求和商业模式存在。当然这种挖矿需要解决一些更具体的问题,比如矿工要证明自己的存储内容是有效的、可以被读取和复制、不是无效的刷量数据等。Filecoin针对这些方面有很多独特的设计,也是这个项目有趣的地方。 主持人: 我知道Andy的团队是从18年5月就开始研究Filecoin挖矿,到现在已经快两年时间,能不能给我们Math Show的小伙伴分享一下最近Filecoin开发和测试方面的一些进展? Andy: 测试网二阶段的时间定在了5月11号的那一周,主网上线时间会在7月21号到8月20号这个时间段,属于主网上线的窗口期,如果在二测阶段相对稳定,它就会进入代码审计,后期会再选择合适的时间点进行主网上线。 关于测试网二期有没有奖励,官方也是明确了只会拿出100万以上的Filecoin进行奖励,如果按照现在六月的期货将近50人民币左右的话,相当于拿出五千万人民币作为测试网奖励,这个数额在整个区块链行业来说还是比较大的,如果未来币价还会上升,那可能就是超过一个亿。 当然,跟随测试网二期的奖励,还有一部分的奖励是给到大矿工,因为官方做了一个叫5PB大矿工节点计划,我们也有参与了部分方案的设计。 这里的5PB指的是有效算力,也就是说真实被验证的存储达到5PB,而不是5PB的硬盘容量,估计行业内没有多少家能够真正达到,也就意味着能够进入5PB大矿工测试的也就是行业内的头部企业。那这个5PB大矿工测试是为了什么呢?因为官方其实之前更多的是在逻辑、代码层面去做一些验证,但是还没有做全面的压力测试,从技术的角度来说,在你没有达到量或者说压测的环境下,你是发现不了一些新bug的。 包括最近也发现一些新问题,当你的有效存储越来越大,或者Power越来越大的时候,你在每次做出块计算时,你的计算量会非常大,最终会遇到瓶颈,所以整个5PB大矿工的测试也会对于整个Filecoin项目起到一个关键作用,也是保驾护航的方式吧。 还有一个跟大家息息相关的经济模型,经济模型的框架也在上周进行了发布。目前它是框架化的,它可以通过调整参数去确定最后经济模型的数值。Filecoin的经济模型会比其他项目的经济模型复杂得多,因为这不仅仅是一个转账的事情,它涉及到真正的商业应用(存储),所以对于抵押、奖励、惩罚,或者说释放机制,它都有建立一套完整的模型架构。 随着各个模块的完善,测试网二期的上线日期应该不会有太大的变化,而且代码的完整度已经非常高了,可能在最后还会做一些调修,这也能让更多配置没那么高的硬件能够参与进来。 主持人: 刚才Andy跟我们分享1475这个编号的由来,是因为在测试网时找到了一些官方的bug而被熟知,那你们会在每一次测试都用1475这个编号吗? Andy: 首先说一下,这是一个偶然事件,因为在整个Filecoin的测试网期间,他用的是一种叫lotus的实现方式,在这里面你每次接入测试网的时候都需要先申请一个矿工编号,我们也只是随机拿到这个数。 后来我们帮助官方修复了一些bug,井且在社区里做了一些升级和优化,所以官方就在社群发言说要找到1475节点,想知道这个节点背后到底是谁。后来,也因为我们长期在榜单上排在前面,关注我们的人也越来越多。1475是一个偶然的编号,每一次更新时会有不同的编号,主网上线的时候会有四种实现方式,但不是最终都会以lotus方式去实现,但是这个不影响我们。 再补充一下,Filecoin是在去年的2月14号开源,井且同步上线了开发网,在那个网络里,每个人都可以给自己取一个名字,我们其实第一时间参与了那个开发网的测试,在大部分的版本中也都拿到了第一名的成绩,但是我们当时一直没有用我们公司的名字,像国庆期间,我们取名叫 I […]

Math Show #001 – DeFi 应用如何抵挡黑客攻击

4月23日晚7点,麦子钱包举办了Math Show的第一期,有幸邀请了慢雾科技创始人余弦给我们讲关于「DeFi应用如何抵挡黑客攻击」,主持人是链闻的刘锋,以下是当晚的精彩撰录。 ▼▼▼ 刘锋:近几天余弦参与处理Lendf.me 被盗资金(近 2500 万美金)的追讨,可以和我们讲讲这几十个小时的经历吗? 余弦:第一步,快速定位威胁情况和攻击细节,这样可以快速给出最正确的漏洞原因,比如这次事件中,本质问题是 Lendf.Me 的核心代码中存在重入攻击漏洞,而这个漏洞又需要结合基于 ERC777 代币的组合才能发生。知道漏洞本质及攻击手法后,在链上是很容易知道攻击者具体盗走多少资产。 第二步,思考如何追回。在4月19日下午,dForce、星火与 imToken 安全团队在线下集结,并与慢雾安全团队远程连线成立“临时安全团队”,开始进行资产追回。因为信息量巨大且杂乱,集中讨论可以快速的信息对称,加快速度。 4月20日,基于黑客在攻击前后留下的痕迹,“临时安全团队”成功确定了准确的黑客画像,并开始与国内外各方资源进行交叉对比,获得突破性线索,离黑客越来越近。4 月 21 日下午,在黄金48小时内,黑客在重重压力下,与 dForce 主动沟通,并开始归还部分资产。继续沟通后,所有资产被成功找回,这是攻击发生后的第三天。这个过程不仅是“临时安全团队”发挥了关键作用,还得到了非常多加密社区朋友直接与间接的帮助。 刘锋:对于这次 Lendf.me 被攻击事件,大家应该吸取什么教训? 余弦:任何新事物在进化过程中都会有安全风险,这是进化法则,越早期这种风险越大,最终要么死亡,要么就会趋于某种比较稳定的平衡。 基于这种心理准备,我们来看 DeFi,有几个比较重要的风险:技术安全风险、业务安全风险、合规安全风险,我们简单展开(以以太坊为例): 1. 技术安全 首先看公链本身是否久经考验,足够安全,以太坊基本满足这点;然后看智能合约的设计是否足够安全,Solidity 并不太满足;再看相关的标准(如 ERC20, 223, 721, 777 等等)实现是否足够安全,这里最大的问题在于很多时候一个“特性”会变成一种“缺陷”;再看基于标准的成熟框架是否安全,如 OpenZeppelin 就很优秀;最后看项目方开发出来的是否真的严格安全实践,这个就非常不好说了,很明显,开发的质量是参差不齐的。 2. 业务安全 业务决定于 DeFi 的设计,比如抵押借贷、闪贷、交易等等。业务需要特别考虑的是安全风控,比如暴跌暴涨怎么办?突然出现的大额转币如何处理?如何解决第三方安全风险(如:接入第三方代币、和第三方联动等)? 3. 合规安全 如果是一个灰色或黑色边界的 DeFi,一不小心被一些国家的执法机构打掉或自己跑路了,怎么办? 另外特别补充一些和用户角度有关的判断: 1. 项目方内部有实力不错的安全团队或有丰富安全经验的核心人物把关 2. 项目方近半年内被第三方专业安全机构安全审计并公开安全审计结果 3. 项目方有长期持续紧密合作的第三方专业安全机构 4. […]