从项目方的披露中我们可以了解攻击的流程。受到攻击的是 xFORCE Vault。这个合约负责 xFROCE 代币的生成和销毁。正常的逻辑是用户抵押 FORCE 代币,收到 xFORCE 代币。漏洞是没有校验 FORCE 代币的转账结果。这导致攻击者可以让 FORCE 代币转账失败,但仍旧收到 xFORCE 代币。
没有校验函数返回值是智能合约中很常见的问题。在此次事件中,攻击者就是利用了合约并没有处理 FORCE 代币 transferFrom 的返回值,凭空铸造了很多 xFORCE。然后将 xFORCE 销毁,换回 FORCE。合约认为 transferFrom 必定成功,即使用户并没有真的把 FORCE 转给智能合约。漏洞在ForceProfitSharing.sol L43 。
后续的分析也遇到不少问题。分析的思路很简单,首先把交易根据交易对进行分类,然后分析每个交易对的盈利情况。进一步分析就把交易对的交易记录详细分成单子。去寻找开仓和平仓的时候,然后分析这一个仓位的盈利情况。但在实际操作中会遇到各种各样的问题。比如用户不平仓,用户的交易对比较复杂,把不同的代币进行呼唤。又比如用户从其他钱包里收到了钱,然后进行交易。这些情况都使分析更加困难。或许用 Time Weighted Rate Of Return 或者 Dollar Weighted Rate Of Return 会更好。
☁️ BlenderCloudRender:用 VPS 或者免费的 Goolge Colab 来渲染自己的 3D 作品。那段时间我特别喜欢做一些 3D 的东西。但是 3D 的东西渲染又很慢。所以动手写了这样一个脚本可以把渲染放在云端。由于专业的渲染服务器太贵,我就选择了把渲染交给便宜的 VPS 或者免费的 Google Colab。
Dragonfly Capital 投资了很多区块链项目,团队成员以中国人为主,主管是冯波。在它的投资列表中可以找到很多熟悉的项目。在Dragonfly Capital 的研报中可以看见他们投资的新项目。 https://pic1.zhimg.com/80/v2-a6527926ff86de682628f686bb2d20ec_720w.jpg
游戏下载可以用 FunKiiU。只要输入需要游戏的 Title 和 Key 即可下载。在 这个网站 上可以查询到游戏的 Title 和 Key。注意!不要漏掉可能存在的补丁和 DLC。如果漏掉了补丁,可能会出现Your must perform a system update to play ***。这儿 有解决方法。
import numpy as np defsor(a,b,XO,omega,TOL,N): n=len(a) x=np.zeros(n+1) a = np.insert(a,0,0,axis=1) a = np.insert(a,0,0,axis=0) b = np.insert(b,0,0,axis=0) XO = [0.0]+XO # step 1 k=1 # step 2 while k<=N: # step 3 for i in np.arange(1,n+1): sum1=sum([a[i][j]*x[j] for j in np.arange(1,i)]) sum2=sum([a[i][j]*XO[j] for j in np.arange(i+1,n+1)]) x[i]=(1-omega)*XO[i]+1/a[i][i]*(omega*(np.negative(sum1)-sum2+b[i])) # step 4 ifmax(np.abs(b-np.dot(a,x)))<TOL: print(f'Number of Iterations: {k}') return x[1:] # step 5 k = k+1 # step 6 for i in np.arange(1,n+1): XO[i]=x[i] print('Maximum number of iterations exceed') return XO