LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > ForTube技术文章系列二|详解ForTube安全体系

ForTube技术文章系列二|详解ForTube安全体系

2020-06-03 TheForceProtocol 来源:区块链网络

目录

1? COFi

2? APEC

3? GEL

4? CALM

5? MAK

6? 无法作恶

自从第一个 DeFi 应用上线以来,数据和资产安全问题就始终是影响甚至毁灭 DeFi 应用的最关键因素之一。特别是不久之前的 Uniswap 漏洞和 Lendf.me 被黑事件,再次震动了整个业界。如何最大地提升 DeFi 应用的系统安全性,全力保护好用户资产,已经成为横亘在每一个 DeFi 开发运营团队面前的首要问题。

ForTube 团队从成立那天起,就一直把用户资产安全放置在开发运营的最高优先级。在经过了长期的思考规划和原型验证之后,提出并实现了具备完整逻辑闭环的应用安全体系,从各方向各层级保护应用数据和用户资产安全。

1.COFi

ForTube 团队提出了基于 DeFi 的升级理念,COFi,Crypto Open Finance,加密开放金融ForTube 团队认为,Decentralized,去中心化,只是包含于 COFi 应用中的一个组成部分,COFi 基于 DeFi 理念,但并不局限于 DeFi 的禁锢。

去中心化是核心,是基础,但并不是唯一和全部。一个具备良好可扩展性的,能够应对未来可能存在的千万数量级用户的,安全可靠具有完备风控能力的开放金融应用,如果仅仅依靠去中心化的基础设施,是不可能建设成功的。

作为 COFi 理念的首个实施项目,ForTube 平台的安全体系大胆地做出了一些突破和创新,我们并不知道它会给我们团队和整个行业带来什么,但我们已经做好了充分的准备,让它去迎接大家的思考品评和严酷的运营考验。

ForTube 的 COFi 安全哲学可以概括为层级防御理念的 COFi 安全三定律:

保护平台安全,不受攻击和入侵

如果受到入侵,保护资产安全

如果资产不再安全,把损失降到最低

2.APEC

APEC 即?Assets Protected Elastic Contracts,资产安全的弹性智能合约。

APEC 在整体上可分为3大模块,逻辑(Logic),数据(Data)和路由(Router)。

把经典合约中的数据分离出来,单独做成一个或一组数据合约,用于存储数据,只对外暴露必要的读写接口。逻辑合约就是纯粹的业务逻辑,不含业务数据。业务逻辑所需要读写的字段数据,可根据数据模块和字段名称从路由表中查询,再根据定位结果进行访问。

APEC 的目的是解决智能合约长久以来存在的关键问题,即如果合约出现漏洞,也无法紧急升级,只能让用户自行提出资产再重新部署新合约。如果漏洞不能采用其它方式解决,则合约一旦开放用户访问以提出资产,就会再次面临攻击,这就陷入了死亡螺旋。

APEC 把逻辑和数据相分离,如果逻辑合约发现漏洞,可以在全局紧急闭锁之后,替换有问题的逻辑合约,然后重新开放合约访问。这使得智能合约部分在整体上是一个弹性的,可伸缩可维护的架构,安全修复的成本很小。

3.GEL

GEL 即Global Emergency Lockdown,全局紧急闭锁。

在 ForTube 项目所有涉及到资产变动的智能合约接口上,都有全局紧急闭锁开关。如果合约出现问题,可以手动或自动触发紧急闭锁,禁止所有的出入账调用,保护合约内锁定的资产安全。

4.CALM

CALM 即Cooperative Automatic Lockdown Mechanism,协同自动闭锁机制。

CALM 是链下风控机制,采用金融级风控标准,使用独立的高可用主从热备集群,7x24 小时不间断运行。CALM 每 5 秒检查一次合约状态,对合约内所有的金融资产进行严格的记账和对账,一旦发现资产出现可能的风险,将立即自动触发全局紧急闭锁,禁止所有涉及到资产的出入账接口,把资产损失降至最低。同时通知管理人员,启动运营团队快速反应机制,人工介入和排查问题。

5.MAK

MAK 即Multisig Admin Keys,多重签名的管理员密钥。

COFi 采用管理员密钥机制,管理员可使用密钥设置各级权限,如合约路由的更新,预言机的喂价权限,全局闭锁标志位的设置权限,等等。管理员密钥可以添加、删除和更新下级权限,在下级权限密钥泄漏时,可迅速更换密钥。

为了规避管理员密钥被盗和遗失的风险,我们采用了多签机制。目前使用的是 3-2 多签,随着平台锁定资产的增加,我们还会逐步提升至 5-3 甚至 7-5 机制。

以 3-2 多签为例,合约中保存 3 个管理员密钥,在进行诸如更换管理员密钥等最高安全等级的操作时,必须使用至少 2 个管理员密钥,同时进行多重签名,该操作才可被执行。

管理员密钥的多签机制保证了:

4.1 如果某个管理员密钥泄漏,攻击者使用这个密钥也无法完成高权限等级的操作。而平台管理员可以使用多签机制将泄漏的密钥删除,使之失效。

4.2 如果某个管理员密钥遗失,可使用剩余的管理员密钥添加新的管理员密钥,并删除遗失的密钥。

4.3 管理员密钥多签才能生效的机制,使每一个高等级的权限操作都依赖于集体决策和执行,有效地防范了内控风险,进一步保护了资产安全。

6.无法作恶

去中心化的目的之一,就是 Can't Be Evil,无法作恶。而我们采用弹性合约,在合约可伸缩的前提下,仍然做到了无法作恶。合约资产被严密保护起来,即使是拥有管理员密钥的平台管理员,也无法触碰到任何合约锁定资产。

APEC 采用了职责分离的方式解决了在可伸缩架构下的合约资产安全问题。

业务合约虽然是可修改和升级的,但数据合约却秉承经典合约的理念,是不可修改升级的。每个数据合约一旦部署到链上即不可修改其代码逻辑。

数据合约会在内部维护一个用户地址和资产详情的映射表。该映射表在数据合约内部,只提供给用户资产的入账和出账两个接口,其它任何接口都无权写入和更新该资产表。

用户入账的交易,直接发往数据合约地址,调用其入账接口。用户资产锁入合约后,在资产映射表中记录该用户地址和其资产详情。

用户出账的交易,仍然是直接调用数据合约上的出账接口,合约将校验用户的地址是否存在于资产映射表中,如地址匹配,才可以完成资产转账。

任何不在资产映射表中的地址,出账接口将不响应其资产请求。在逻辑上保证了任何一份出账的资产,都属于当初入账的原始地址,确保了用户对投资资产的所有权和用户资产的安全。即使 ForTube 团队自己,也无法篡改和冒领用户的任何资产,更无法提取合约中的任何锁定资产。

通过数据合约严格的所有权约束,充分保证了用户资产的所有权和安全性,使得 APEC 的安全哲学秉承了区块链智能合约的一贯理念:超越了“不要作恶”(Don't Be Evil),实现了“无法作恶”(Can't Be Evil)。

COFi 是一个基于已有理念的升级和更新,它以可扩展性来保证当前的用户体验和未来的规模暴涨,以金融风控体系来保证应用资产安全,以技术制约机制来消除人性和管理风险。

ForTube 是 COFi 理念的首次尝试,ForTube 团队将结合实际运营情况,虚心接受同业者的各方意见,把我们的应用建设得更坚固,更安全。

—-

编译者/作者:TheForceProtocol

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...