以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > Polygon > Info

EOS REX 安全系列之從源碼開始玩轉 REX(二)_SEL:REX

Author:

Time:1900/1/1 0:00:00

BySlowMistTeam前言

上一篇文章粗略分析了整個買賣rex的流程,由于篇幅的原因,剩下有一些細節沒有分析到位。所以,這篇文章將在上一篇文章的基礎上對一些細節進行深入的分析。前情回顧

上一篇介紹了買賣rex的流程,涉及到了幾個函數,我們一起回顧下:1、deposit:用于充值,將EOS變成SEOS,也叫預備金。2、withdraw:用于提現,將SEOS換回EOS。3、buyrex:用于從用戶的預備金中扣除相應的份額,并用于rex的購買。4、sellrex:用于賣出已經結束鎖定的rex,并將本金連帶收益一起放進用戶的預備金賬戶中。5、add_to_rex_pool:用于將用戶購買的rex放進rex_pool中,并根據rex_pool中的相關信息計算出用戶能夠購買的rex的數量,被buyrex函數調用。6、fill_rex_order:處理用戶賣單,計算收益。以上幾個函數除了sell_rex和fill_rex_order其他函數都介紹得差不多了,本文將重點介紹這兩個函數的細節。sellrex函數

動態 | 1小時合約市場爆倉超1754萬美金 EOS爆倉超768萬美金:據合約帝行情統計報告顯示:過去1小時合約市場全網總計爆倉1754萬美元。其中爆倉量排名前三的幣種是EOS 768萬美元,BTC 515萬美元,BCH 352萬美元。[2020/2/25]

以上為sellrex函數的具體實現,從開頭開始一步一步進行分析。首先拋開runrex這個函數,這個函數并不屬于本次討論的范圍,runrex函數主要用于處理rex_pool的信息,包括處理到期的資源租賃訂單,回收用戶資源,處理用戶的rex賣單等,有興趣的同學可以先自行研究,以后的文章也會進行單獨的分析。接上篇分析,sellrex函數我們分析到了fill_rex_order函數就沒有繼續往下分析了,fill_rex_order函數也只是講了最核心的收益公式,這次我們來仔細進行分析。sellrex流程如下:1、經過了一系列的檢查之后,獲取用于已經解鎖的rex的數量,調用fill_rex_order獲取用戶的賣單。2、賣單攜帶著訂單的完成狀態,這是一個flag,分為成功和失敗兩種狀態,當狀態為失敗的時候,進入上文的if條件。2.1、訂單狀態成功訂單狀態成功的時候current_order.proceed的值大于0,這個時候通過update_rex_account將賣rex的所得轉至用戶的儲備金賬戶。用戶就可以直接進行提現或者繼續下一輪的購買了。2.2、訂單狀態為失敗這個時候創建一個order,我們這里為了不混淆,不說賣單,而是說為欠條,是一個REX平臺給你的借條。什么意思呢?打個比方,你去商店訂購商品,商品存貨不足,這時候怎么辦呢?這時候商店就會給你打一個單,這個單記錄了你是誰,你要買多少的商品,買的時間等信息,等有貨了就會根據這個單給你補上商品。REX也是同樣的道理,用戶在賣rex的時候,由于rex_pool中的資金不足以支付用戶的本金+收益,就會將用戶的訂單暫時掛起。這就是REX給你打的欠條,當REX資金充足的時候,就會把錢還你。當sellrex失敗的時候,這個借條記錄了以下信息:賣rex的用戶。要賣的rex的數量(記錄在rex_requested字段中)。用戶的收益,此時為0,因為rex沒有賣出去,收益是不存在的。抵押狀態,這個抵押狀態是由于buyrex的時候,根據購買的數量會產生的相應的票權。這個欠條創建的時間。3、最后,檢查掛起的金額有沒有超過已經解鎖的rex的數量。以上就把sellrex完整的講完了,但是還有一個疑問,就是為什么會存在資金不足的情況,以及如何判定資金不足?這些秘密都在fill_rex_order里面。下面就詳細的分析fill_rex_order函數。

動態 | EOS系統合約 v1.7.0已獲得超10個節點批準:EOS Laomao官方今日發推稱,EOS系統合約 v1.7.0已獲得超過10個節點批準。同時,EOS Laomao表示希望其他節點盡快審查相關提案,將系統合約 v1.7.0部署在EOS主網上。[2019/10/3]

上一篇文章我們分析了核心的收益公式是怎么計算出來的。這次從11行開始,看看這個函數做了什么:1、首先獲取unlent_lower_bound的值,即最低未出租rex_pool中的EOS的數量。這個字段等于用戶從rex_pool中借用資源的總量,是以EOS為單位的。2、計算available_unlent的值,這個值有可能為負數,為什么呢?假設一個場景,你是一個投資經理,你手上有很多投資人的錢,然后你把投資人的錢拿出去放貸收取利息,那么請問,這個時候你手上的資金還有多少?答案自然是:投資人的錢-放貸資金+放貸收益。REX相當于這個投資經理,用戶可以用少量的成本(EOS)換取大量的貸款(資源),這個時候,REX的資金池中的資金就就變成了:用戶的資金-租用的金額+租用收益。根據前面的描述,用于租用資源的資金總是小于REX平臺出租出去的資金,也就是說在持續出租資源的時候,rex_pool中的資金總是不斷變少的(這里不討論系統收益的情況)。想清楚這一點,就能明白為什么available_unlent的值為負數了,當出租出去的資金大于rex_pool中當前資金+收益的時候,這個值就會為負數。3、判斷用戶出售的rex獲得的收益是否小于rex_pool中的剩余資金,相當于投資人想要回自己的錢,這個時候分兩種情況:3.1、如果資金不夠,那么這個訂單就會掛起,此時由sellrex函數創建一個欠條,這就是訂單失敗的由來。3.2、如果夠的話,則從rex_pool資金池中減去用戶收回的資金,更新相關的表字段,更新用戶的rex_balance賬戶,扣除相應的rex解鎖金額。那么到這里,整個sellrex的流程都講清楚了,流程圖是這樣子的:

動態 | EOS BetDice游戲存在DAU虛高問題 大多數玩家由10人控制:PeckShield 安全團隊數據顯示,BetDice 中存在大量的羊毛黨機器人賬號,EOS 生態中存在虛假的繁榮。BetDice 的最高日活為 3.5 萬 DAU,而去中心化交易所卻只有 1500DAU,甚至不如前 10 中的任何一個游戲。通過對 EOS BetDice 的智能合約數據以及參與合約的用戶數據進行分析,結果發現:參與 EOS BetDice DAPP 的玩家中,其賬號的創建者過于集中,有約 20000 個 EOS 賬號由 10 個 EOS 賬號創建(已去除 EOSIO 創世賬號等賬號生成工具)。這 10 個賬號創建的 20000 個二級賬號,占了該游戲總智能合約交易賬戶數量的 57%。關于機器人和羊毛黨從 BetDice 游戲撤出,可能與該游戲幣挖礦成本上漲有關。[2018/11/12]

安全性分析

EOS主網啟動團隊發布聯合聲明:安全性是首要考慮的任務:EOS主網啟動團隊發布聯合聲明,當前進入了安全測試階段, 為了更好地進行測試,目前同時存在兩條測試網絡用于安全測試,但最后只有一個名叫EOS的主網上線。

現階段,建立了主網的github代碼庫;檢驗確認了快照里的163,936份賬號的EOS數額的正確;確認了有效的系統賬戶和合約;產生了兩條候選主鏈。

安全性是EOS主網啟動團隊的首要任務。一支知名且廣受贊譽的專業安全團隊會聯合EOS主網安全啟動團隊,旨在實現備選出塊節點層次的安全實踐能夠實現標準化。

目前已經建立了一條供安全測試用的網絡,供有意參與的候選節點對自己的架構進行嚴苛的安全測試。這一測試網絡在啟動后會持續存在,以提供持續的安全支持。這一網絡是社區的共同資產。

請全體持幣人注意,務必保護好私鑰安全,在得到多個可信節點發布聯合通告聲明主網啟動之前,不要進行操作。在未來四十八小時之內,EOS主網啟動團隊發布一則新的聲明書來闡述屆時最新的啟動進展情況。

(注:EOS主網啟動團隊由EOS Core團隊(此前的Ghostbusters團隊)、BIOS BOOT Channel團隊、中國安全啟動團隊構成,全球至少有90個節點候選者加入其中。)[2018/6/6]

由于本次沒有拓展新的函數,所以安全結論是和上篇是一樣的,但是這次我們可以對上次說的安全問題有更深的了解。在原先版本的rex合約中,是沒有check(pending_sell_order.amount<=bitr->matured_rex,"insufficientfundsforcurrentandscheduledorders")這一個校驗的,這會導致什么呢?我們知道,當資金池中的資金不足以支付用于的賣單的時候,將跳過if判斷下的所有步驟,直接由sellrex函數掛起訂單,在這種情況下,惡意用戶在系統資金池資金不足的時候,就可以一直賣rex,疊加掛起訂單的rex金額,直到資金池有足夠的資金支付,出售比購買rex數量更多的rex。但是這樣操作還是會賣不出去,因為最后更改用戶rex_balance的時候由于asset結構體自帶的溢出檢測,是不能成功賣出去的。但是這就會讓這個訂單成為一筆壞賬,在這種情況下,因為有未完成的sellrexorder,整個REX系統將停止運行。具體原因是什么可以自己去發現,答案會在下一篇文章揭曉。文章可能有說得不對或說得不夠好的地方,歡迎討論交流。詳情參考:https://eosauthority.com/blog/REX_progress_with_testing_and_implementation_details往期文章

數字資管集團Tokenmania為Kcash定制的數字貨幣增值服務“幣生幣”,3萬個EOS的額度于80分鐘售罄:數字資管集團Tokenmania為Kcash定制的第二期數字貨幣增值服務“幣生幣”今日上線,3萬個EOS的額度于80分鐘售罄。據了解,Tokenmania為樓霽月聯合數位資深從業者共同創立的數字資管集團,管理規模超過40,000BTC,提供超過150個幣種的數字資產管理方案。[2018/4/28]

EOSREX安全系列之從源碼開始玩轉REX(一)聲明

本文僅用作技術參考,不構成任何投資建議。投資者應在充分了解相關風險的基礎上進行理性投資。

Tags:REXEOSSELORDTREX價格DEOSselfkey幣如何挖The Red Order

Polygon
數據揭秘 IEO 亂象,投資者需精選平臺_APH:APH幣

摘要:本文選擇Huobi、Binance、OKEx、Gate.io四家國內知名交易所已發「IEO」項目進行分析和比對,幫助投資者精選優質項目及發行平臺.

1900/1/1 0:00:00
風起企業區塊鏈_聯盟鏈:BIT

文|王澤龍編輯|Tong來源|PANews近期,各方在企業區塊鏈方面動作頻出:三星SDS推出更新版的企業級區塊鏈平臺NexledgerUniversal;唯鏈Vechain推出ToolChain.

1900/1/1 0:00:00
一周爆倉40多億,“空頭軍”慘遭“屠城”_BTC:ETHU價格

文|Dave運營|蓋遙編輯|梁辰出品|Odaily星球日報連續10日出現大幅上漲的比特幣至截稿時維持8100美元左右.

1900/1/1 0:00:00
領先的加密公司、DeFi機構、金融科技如何構建不同的社區_區塊鏈:去中心化金融defi入門分析與理解

前言:DeFi是金融發展的新階段。它發展還很早期,但它對未來的金融會產生重大影響。就社區參與方面,它跟傳統的銀行和金融科技會有什么不同?它有哪些優勢和不足?本文作者是StevenEhrlich,

1900/1/1 0:00:00
科普園地25 | 區塊鏈的應用場景有哪些?_KEN:imtoken中文官網

區塊鏈到底有什么用,哪些是我們真正看得見、摸得著的應用場景,今天我們就為大家介紹一下。區塊鏈有哪些應用場景?先說結論,區塊鏈主要有以下這么幾個應用場景:一、數字貨幣二、通證三、區塊鏈+各行各業一.

1900/1/1 0:00:00
比特幣突破8000美元,現在上車還來得及嗎?_USD:btc交易平臺騙局

經歷了一年多公認的熊市之后,比特幣終于迎來了反轉。從今年2月至今,比特幣迎來了長達3個月的持續上漲,從4月底至今的13天內更是迎來13連漲,創2017年以來最長連漲周期.

1900/1/1 0:00:00
ads