撰文:WeBlockCTOAbbaGarba翻譯:HAO
區塊鏈是一種新型的分布式系統體系,它使用P2P對等網絡通信,區塊存儲,分布式算法共識和加密算法來防止篡改。從本質上講,區塊鏈可以看作是由所有網絡節點共同維護的分布式數據庫。與傳統的分布式數據庫相比,區塊鏈由于具有完整的數據備份,開放透明的網絡,無法篡改,完整的信息可追溯性和弱信任模型,因此更適合對分散式信任有明確要求的應用場景。特別是典型的區塊鏈應用場景包括數字支付,產品可追溯性,版權保護,供應鏈財務等。在區塊鏈系統中,智能合約在實施分散式應用部署和擴展應用的功能方面發揮著極其重要的作用。區塊鏈系統與傳統應用程序相比,在區塊鏈系統架構上運行的智能合約具有開放性和透明性,執行性,不可篡改且不依賴第三方的特點,可以滿足各種去中心化應用場景的需求,包括近年來發展迅速的去中心化金融項目。截至2021年1月15日,去中心化金融以超過45億美元的資本成為了成功的金融范例,它利用基于區塊鏈的智能合約來確保其完整性和安全性,。去中心化金融是一個新的發展領域,用于交換,借出或借用令牌。通常,這些指令由智能合約調節和/或由多方,分散式治理機制控制的``收益''或收入流。去中心化金融—在現有區塊鏈平臺之上逐漸興起。這個新領域的組成部分包括那些與貸款,資產交易和衍生品市場有關的部分。作為去中心化的應用,智能合約管理著大量的數字資產,從而也使其容易受到各種攻擊。本文將從三個維度具體闡述了智能合約安全性問題:首先,由于以太坊體系結構每一層的漏洞導致的智能合約安全性。其次,也會探討DeFi和智能合約近期出現的各種攻擊。最后還將探討現有的可行性工具以及來其他的有效實踐如何最大限度地減少此類攻擊。以太坊架構概述
在探討智能合約漏洞之前,我們先簡單概述下有關以太坊智能合約架構。區塊鏈網絡能部署并自動執行編程腳本任務。這些程序稱為智能合約,用于定義在交易期間調用的自定義功能和規則。基于智能合約的區塊鏈技術已被應用到各種行業中,例如金融,供應鏈管理,醫療保健能源和政府服務。只有特定的區塊鏈平臺支持智能合約:以太坊是第一個支持智能合約的。其他區塊鏈平臺兼容于部署和執行智能合約。一種稱為Solidity的腳本類型語言用于在以太坊平臺中開發智能合約。在這一部分中,我們介紹了以太坊平臺上智能合約實施的相關安全漏洞。智能合約可以持有和管理相應的功能Credit{可能價值數千美元的大量虛擬貨幣。因此,對手不斷嘗試操縱智能合約的執行以支持其活動。本質上,智能合約在分布式和無權限網絡上運行,該網絡繼承了許多漏洞。在傳統的系統中,可以重新開發或修補這一小部分的中心化應用程序。相反,在去中心化的區塊鏈網絡中,除非采取極端措施,否則無法在實時網絡中修改或升級已部署的智能合約。智能合約的一成不變特征是其安全方面的優勢也是劣勢。由于這種不變性,黑客無法為自己的利益進行更改或修改合約。但是,部署后開發人員也無法修改智能合約應用程序。他們可以取消或終止合約并創建新的智能合約,然后再次部署它。因此,出于安全性考慮,在部署智能合約之前,應對智能合約進行大范圍的測試。我們重點介紹了以太坊智能合約架構的基本構建模塊,如圖1所示,其中包括以太坊的架構。
Circle撥出1040萬美元以解決SEC關于Poloniex的案件:7月21日消息,加密貨幣運營商Circle Internet Financial Ltd.表示,根據一份監管文件,它已經撥出1040萬美元來解決美國證券交易委員會對Poloniex LLC(其已停止的加密貨幣交易所業務)提起的案件.根據本月早些時候提交給SEC的監管文件,Circle本月宣布將以45億美元的特殊目的收購公司合并上市。
前一年,Circle收購Poloniex后,于2019年將其出售,并損失了1.568億美元。Circle表示此次出售是為了 \"從與投機性加密貨幣交易有關的業務中剝離\",并使其業務與所提供的產品 \"更好地保持一致\"。根據該文件,SEC于2017年12月對Poloniex提出投訴,涉及 \"可能被定性為證券的加密貨幣交易\"。
3月,Poloniex提出以1,040萬美元的價格解決此案。此外,在文件中,Circle還披露它正在接受美國財政部外國資產控制辦公室對其已停止的Poloniex業務的調查。(華爾街日報)[2021/7/21 1:06:42]
圖1:用于運行以太坊區塊鏈的環境是通過一個Web用戶界面與以太坊體系結構服務的四層進行交互,應用層,用于存儲區塊鏈數據的數據庫,用于支持共識協議的加密機制以及用于網絡層的Internet服務。a.應用層:以太坊客戶端在EVM中執行智能合約,其中智能合約與以太坊賬戶相關聯。以太坊支持兩種類型的賬戶:外部擁有賬戶和合約賬戶。EOA用于將用戶資金存放在Wei中,Wei是Ether的最小子面額,價值10-18Ether。EOA與公鑰相關聯并由公鑰解決;通過顯示相應私鑰的所有權來驗證對EOA的訪問。相反,合約帳戶與一段可執行的字節碼相關聯,它定義了一些令人感興趣的業務邏輯。智能合約是DApp的基石。DApp通常將用戶界面作為其前端,并將一些智能合約作為其后端。一些DApp會發行自己的稱為令牌的加密貨幣,用于初始代幣發行和交易所。基于以太坊的令牌是一種特殊的智能合約。智能合約在EVM中執行,這些EVM是使用基于堆棧的體系結構的準圖靈完整機器。術語“quasi”是指執行受交易提供的gas限制。在以太坊應用層中,發生各種漏洞,導致許多攻擊,如應用層中的圖所示。b.數據層:包含區塊鏈數據結構。交易是EOA與另一個EOA或合約帳戶之間的交互。交易由以下方式指定:nonce,它是用于跟蹤發送方已發起的交易總數的計數器;收件人,該收件人指定了交易的目標EOA或合約帳戶;價值,即從發件人向收款人轉移的金額;輸入,是與交易目的相對應的字節碼或數據;gasPrice和gasLimit,分別指定發送方愿意向包含交易的區塊的獲勝礦工支付的單價和最大天然氣量;,它是發送者的橢圓曲線數字簽名算法簽名。執行交易會更新所涉及帳戶的狀態,從而更新區塊鏈。c.共識層:確保區塊鏈的狀態一致。在撰寫本文時,以太坊大約需要12-14秒來創建一個區塊,這意味著多個礦工可以同時創建有效的區塊,并且可能有許多區塊。以太坊使用GHOST共識協議的變體來選擇“最重”分支作為主鏈,其中“heaviest”分支是根植于所討論的分叉的子樹,并且具有最高的累積區塊難度,同時注意到陳舊區塊不在主鏈上。但注意,以太坊用權益證明替代其當前使用的工作量證明。d.網絡層:管理節點或客戶端的以太坊點對點網絡,以使節點始終可以從某些活動節點獲取區塊鏈的更新狀態。以太坊網絡是一個結構化的P2P網絡,其中每個節點存儲整個區塊鏈的副本。為了進行節點發現和路由,每個節點維護一個動態路由表,其中包含160個存儲桶,每個存儲桶最多包含16個其他節點的ID,IP地址,UDP/TCP端口條目。以太坊使用RLPx協議發現目標客戶端,并使用以太坊有線協議來促進客戶端之間以太坊區塊鏈信息的交換。e.以太坊區塊鏈環境:運行在如下四層的環境中:用戶與以太坊區塊鏈進行交互的Web界面;以太坊客戶的數據庫,用于存儲區塊鏈數據;出于安全目的的加密機制;以及支持以太坊節點之間的區塊鏈通信的互聯網基礎設施。我們將以太坊區塊鏈架構與環境區分開來,因為針對以太坊區塊鏈的攻擊可能來自環境,并且這些攻擊可能在環境中得到更好的解決,而不是由以太坊解決。1.以太坊智能合約漏洞
Filecoin關于允許V1證明扇區擴展到540天的FIP-0014提案已獲通過,將于4月13日實施:據官方消息,Filecoin關于允許V1證明扇區最多擴展到540天的改進提案FIP-0014已獲得通過,將于4月13日6:00實施。本次提案投票共有200多名礦工進行參與,其中1.19EiB(98%)的礦工批準,以壓倒性多數投票通過。
FIP-0014提案允許V1扇區可擴展至540天,2020年11月27日之前封裝的扇區(網絡升級前使用V1證明密封的扇區),扇區的生命周期可延期為540天,包括已經運行的天數。[2021/3/31 19:32:31]
重點介紹了以太坊體系每一層的智能合約漏洞,如圖2所示。
圖2:以太坊各層漏洞的分類1.1以太坊應用層:重入性:此漏洞最初是從DAO攻擊中發現的,當外部被調用方合約在用方合約完成之前在調用方合約中回調函數時,會發生此漏洞。這使攻擊者可以繞開適當的有效性檢查,直到調用者合約被耗盡以太幣或交易用完為止。委托呼叫注入:首先從對Parity錢包的攻擊中發現了此漏洞。為了促使代碼重用,EVM提供了一個操作碼委托調用,用于將被調用方合約的字節碼插入到調用方合約的字節碼中。結果惡意的被調用方合約可以直接修改調用方合約的狀態變量。此漏洞是由于被調用方合約可以更新調用方合約的狀態變量而導致的。聲明旨在通過委托調用作為庫共享的無狀態合約,可完全防此漏洞。凍結以太:首次從對Parity錢包的攻擊中發現了此漏洞。該漏洞產生由于用戶無法將錢存入其合約帳戶,而無法從這些帳戶中支出資金,從而有效凍結了他們的資金。升級合約:引入合約升級的思想是為了緩解智能合約一旦部署后就無法修改的問題,即使以后發現它們存在漏洞。為了允許合約升級,有兩種方法:將合約分為代理合約和邏輯合約,以使開發人員可以升級后者而不是前者;使用注冊管理機構合約來保存更新后的合約。這些方法雖然有效,但卻引入了一個新的漏洞:當合約開發者變得惡意時,更新的合約可能是惡意的。此漏洞仍然是一個未解決的問題。具有意外還原的DoS:發生這種情況的原因是,由于主叫方合約遇到外部呼叫失敗而導致事務被還原,或者被叫方合約故意執行還原操作以中斷主叫方合約的執行。此漏洞是由執行被調用方合約還原的調用方合約引起的。通過使接收者調用交易來“提取”發件人為接收者預留的資金,可以防止此漏洞,從而有效地防止了發件人的交易被還原。整數上溢和下溢:首次從針對BEC令牌的攻擊中發現了此漏洞。當運算的結果超出了Solidity數據類型的范圍時,就會發生這種情況,例如導致對攻擊者的余額或其他狀態變量進行未經授權的操縱。該漏洞是由Solidity源代碼未在數字輸入上執行正確的驗證引起的,并且Solidity編譯器和EVM均未提供整數上溢/下溢檢測。可以通過使用SafeMath庫來防止此漏洞處理這些問題。https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol操縱余額:當合約的控制流決策依賴于此值時,會發生此漏洞。平衡或解決平衡,攻擊者可以利用它使自己成為唯一可以獲取金錢的人。可以通過不使用任何條件聲明中的合約余額來防止此漏洞。通過tx.origin進行身份驗證:tx.origin是Solidity中的全局變量,它指的是發起有問題交易的原始EOA。當合約使用tx.origin進行授權時會發生此漏洞,這可能會受到網絡釣魚攻擊的危害。通過使用msg.sender而不是tx.origin進行身份驗證,可以防止此漏洞,因為msg.sender返回導致該消息的帳戶。錯誤的可見性:錯誤地指定功能的可見性,從而允許未經授權的訪問。無保護的自殺:合約的所有者可以使用自殺或自毀方法銷毀合約。取消合約時,將刪除其關聯的字節碼和存儲。該漏洞是由合約強制執行的身份驗證不足引起的。可以通過強制執行例如多因素身份驗證來緩解此漏洞,這意味著自殺操作必須得到多方的批準。將以太幣泄漏到任意地址:當任意調用方都可以提取合約的資金時,該漏洞就不會發生,該調用方既不是合約的所有者,也不是向合約存入資金的投資者。此漏洞是由調用者調用將以太幣發送到任意地址的功能時無法檢查呼叫者的身份引起的。通過對發送資金的功能進行適當的身份驗證,可以防止此漏洞。機密性失效:在區塊鏈中,由于區塊鏈的公共性質,限制變量或函數的可見性并不能確保變量或函數是機密的。防止此漏洞的一種可能解決方案是使用加密技術,例如定時承諾。簽名信息不足:當數字簽名對多個交易有效時,就會發生此漏洞,當一個發件人通過代理合約向多個收件人匯款時,可能會發生此漏洞。此漏洞最初是在針對智能合約的重播攻擊中利用的。通過在每條消息中合并適當的信息可以防止此漏洞。具有不受限制的操作的DoS:此漏洞首先從GovernMental合約中觀察到。未經檢查的呼叫返回值:此漏洞也稱為處理錯誤的異常。它有兩個變體,稱為gas-less發送和unchecked發送。當不檢查低級調用的返回值時會出現這種情況,即使函數調用拋出錯誤,執行也可能會繼續。未初始化的存儲指針:回顧下,在Solidity中,合約狀態變量始終從插槽0開始連續放置在存儲中。對于復合局部變量,將引用分配給未占用的對象存儲中的插槽以指向狀態變量。錯誤的構造函數名稱:此漏洞最初是從Rubixi合約中觀察到的,該構造函數的名稱不正確,它使任何人都可以成為合約的所有者。在Solidity0.4.22版之前,聲明與合約名稱相同的函數被視為合約構造函數,該函數僅在創建合約時執行。類型轉換:此漏洞最早在中發現。以Solidity語言編寫的合約可以通過直接引用被調用方合約的實例來調用另一個合約。過時的編譯器版本:當合約使用過時的編譯器時會發生,其中包含錯誤,因此使已編譯的合約易受攻擊。通過使用最新的編譯器可以防止此漏洞。簡短地址:此漏洞最早在中實現,并進行了廣泛討論。以太幣丟失給孤立地址:以太幣失去到孤立發生在匯款時,以太坊僅檢查接收者地址的長度不超過160位,而不檢查接收者地址的有效性。如果將錢發送到一個不存在的孤立地址,則以太坊會自動注冊該地址,而不是終止交易。由于該地址未與任何EOA或合約帳戶相關聯,因此沒有人可以提取已轉移的資金,這實際上是丟失的。此漏洞是由EVM不能孤立保護引起的。在撰寫本文時,只能通過手動確保收件人地址的正確性來防止此漏洞。調用堆棧深度限制:此漏洞是由EVM的執行模型不足引起的,并且已被EIP-150的硬分叉所消除,該硬叉重新定義了外部調用的耗油量規則,使其不可能達到1,024in調用堆棧深度。低估操作碼:首先從兩次DoS攻擊中發現了此漏洞。交易順序依賴:這是指并發性問題,即區塊鏈的即將到來的狀態取決于交易的執行順序,但是由礦工決定。時間依賴關系:當合約在執行關鍵操作時將block.timestamp用作觸發條件的一部分或作為可由惡意礦工操縱的隨機性來源時,會發生此漏洞。該漏洞是由以太坊引起的,它只要求時間戳大于其母塊的時間戳并且在當前時鐘的900秒以內。產生隨機性:例如,許多賭博和彩票合約都是隨機選擇中獎者,通常的做法是根據一些初始私有種子生成偽隨機數。但是,這些種子由礦工完全控制,這意味著惡意礦工可以操縱這些變量使自己成為贏家。此漏洞是由可操縱的entropy源引起的。2.數據層漏洞
動態 | 重慶市發布關于防范假借區塊鏈名義非法集資的風險提示:近日,重慶市互聯網金融風險專項整治工作領導小組辦公室、重慶市打擊非法活動領導小組辦公室聯合發出風險提示, 近期,“虛擬貨幣”炒作有抬頭的跡象,一些不法分子借機炒作區塊鏈概念,以所謂“虛擬貨幣”“區塊鏈商城”“區塊鏈游戲”等名義非法吸收公眾資金,侵害公眾權益。希望廣大投資者提高風險意識,對非法金融活動保持警惕,及時舉報相關違法犯罪線索,謹防上當受騙。(重慶商報)[2019/12/25]
難以分辨的鏈:當以太坊分為ETH和ETC兩條鏈時,首先從跨鏈重放攻擊中觀察到此漏洞。回想一下,以太坊使用ECDSA簽署交易。在進行EIP-155硬分叉之前,每筆交易都包含六個字段。但是,數字簽名不是特定于鏈的,因為那時甚至還不知道特定于鏈的信息。結果,為一個鏈創建的事務可被另一鏈重用。通過將chainID合并到字段中,已消除了此漏洞。StateTrie中的“空帳戶”:此漏洞首先從參考文獻中報告的DoS攻擊中發現的。3.共識層的漏洞
可外包的難題:回想以太坊采用了名為Ethash的PoW難題,該難題旨在抵御ASIC,并能夠限制并行計算的使用。但是,狡猾的礦工仍然可以將搜索難題解決方案的任務劃分為多個較小的任務,然后將其外包。該漏洞是由Ethash造成的,它僅使拼圖解決方案在原圖像搜索中部分順序,而不是依賴順序PoW。概率最終性:此漏洞是由以太坊區塊鏈偏愛可用性而非一致性的設計引起的,這是根據CAP定理選擇的。帶有塊填充的DoS:首次從Fomo3D合約中觀察到此漏洞。該漏洞僅導致攻擊者的交易包含在新開采的區塊中,而其他交易則被礦工放棄一段時間。當攻擊者提供更高的gasPrice以激勵礦工選擇攻擊者的交易時,可能會發生這種情況。此漏洞是由貪婪的采礦激勵機制引起的。在撰寫本文時,尚無解決方案來防止此漏洞。誠實的采礦設想:此漏洞是由共識協議引起的,因為它與激勵不兼容,請參見。在撰寫本文時,此漏洞仍然是一個未解決的問題。出塊獎勵:它是指出塊獎勵機制,用于應對由于快速生成塊而導致的陳舊區塊增加。但是,這種機制有一個副作用,即允許自私的礦工將陳舊的區塊變成出塊并獲得獎勵,從而有效地激勵了自私的采礦和雙重支出。驗證者的困境:此漏洞最早在參考文獻中報道,指的是當驗證新交易需要不費吹灰之力的計算時,無論礦工是否選擇驗證交易,都將受到攻擊。如果礦工驗證了計算量大的交易,那么他們將花費大量時間,并在下一個區塊的競爭中為攻擊者提供優勢;如果礦工未經驗證接受交易,則區塊鏈可能包含不正確的交易。此漏洞是由以太坊中驗證資源需求交易的高昂成本引起的。可以通過限制驗證塊中所有事務所需的計算量來緩解此漏洞。但是,尚不清楚如何消除此漏洞。4.網絡層的漏洞
Upbit發布關于開展GTO活動的公告:為了慶祝GTO在Upbit上市,Upbit將進行兩個活動。第一是針對持有1000個以上GTO的用戶,從中抽取117名用戶發送加密貨幣GTO。第二是持有加密貨幣GTO數量TOP100發放虛擬貨幣。其活動時間是從4月27日至5月4日。[2018/4/27]
4.1無限節點的創建:此漏洞是針對Geth客戶端1.8之前的版本。在以太坊網絡中,每個節點都由唯一的ID標識,該ID是64字節的ECDSA公鑰。攻擊者可以在一臺計算機上創建無限數量的節點,然后使用這些節點壟斷某些受害者節點的傳入和傳出連接,從而有效地將受害者與網絡中的其他對等節點隔離開來。此漏洞是由對節點生成過程的弱限制引起的。通過使用IP地址和公鑰的組合作為節點ID,可以消除此漏洞。格斯開發人員尚未采用這種對策,他們認為這對客戶端的可用性有負面影響。4.2不受限制的傳入連接:此漏洞在版本1.8之前的Geth客戶端中。每個節點在任何時間點可以具有總數為maxpeers的連接,并且可以與其他節點發起多達1/2?個出站TCP連接。但是,其他節點啟動的傳入TCP連接的數量沒有上限。通過為maxpeers建立與沒有出站連接的受害節點的許多傳入連接,攻擊者有機會使受害者黯然失色。在Gethv1.8中,通過對到節點的傳入TCP連接的數量實施上限,默認值為?maxpeers/3?=8,消除了此漏洞。4.3公共對等體選擇:在Geth客戶端1.8之前的版本中檢測到此漏洞。4.4對等體選擇:該漏洞指的是Geth客戶端在從其路由表中選擇節點以建立出站連接時,總是獲取隨機選擇的桶的頭部。由于每個存儲桶中的節點都是按活動排序的,因此攻擊者可以通過定期向Geth客戶端發送消息來使其節點始終位于其他節點之前。通過在路由表中所有節點的集合中隨機選擇統一的節點,而不是僅從每個存儲桶的頭中隨機選擇節點,在Gethv1.9中已消除了此漏洞。4.5獨立塊同步:它允許攻擊者對以太坊P2P網絡進行分區,而不會壟斷受害者客戶端的連接。回想一下,每個塊標題都包含一個難度字段,該字段記錄了該塊的挖掘難度。區塊鏈的總難度用totalDifficulty表示,是直到當前區塊的難度之和。4.6RPCAPI暴露:此漏洞最初是通過對Geth和Parity客戶端的攻擊發現的。
BTC.com關于4月10日UBTC硬分叉事件的處理公告:BTC.com 發布公告稱,由于UBTC開發團隊在4月10日18:47:31.0(北京時間)于區塊高度506400處悄無聲息地執行了硬分叉,導致UBTC塊收益發生變更。為避免進一步損失,礦池已將UBTC挖礦的用戶統一切換去挖BTC。目前礦池正在積極進行節點升級工作,預計需要持續一段時間。對于UBTC開發團隊此次分叉行為,BTC.com承諾不會讓礦池用戶收益受損。對分叉前已在礦池挖UBTC的用戶,在UBTC舊鏈上挖礦所得收益,礦池將根據后臺記錄以新幣完成等額數量的收益發放;對分叉后受礦池錯誤數據影響而誤切的用戶(19:48后),發放新UBTC,并同時根據切入、切出時間,結合平均算力,統計出該時間段內的BTC理論收益,予以補償。此外,因礦池打款錢包節點需要同步,UBTC挖礦收益及BTC補償發放均會在三個工作日內完成。此次事故對于其他幣種挖礦沒有影響。[2018/4/11]
引用:https://www.coindesk.com/https://www.freecodecamp.org/https://medium.com/https://nvd.nist.gov/https://medium.com/https://eprint.iacr.org/2016/1007.pdfhttps://www.reddit.com/https://github.com/https://medium.com/https://medium.com/https://medium.com/https://blog.ethereum.org/https://blog.comae.io/https://dl.acm.org/doi/10.1145/3149.214121https://medium.com/https://dl.acm.org/doi/10.1145/3212998https://dl.acm.org/doi/10.1145/2810103.2813659https://ljk.imag.fr/membres/Jean-Guillaume.Dumas/Enseignements/ProjetsCrypto/Ethereum/236.pdfhttps://mp.weixin.qq.com/s/ia9nBhmqVEXiiQdFrjzmyghttps://dl.acm.org/doi/fullHtml/10.1145/3391195
大家好,我是佩佩,不知道是不是受隔壁鼓市影響,周一的行情又有點撲朔迷離,不過最近挖礦又火爆起來,特別是以太上,上個周末一個BDP通過流動性挖礦來發行代幣,2天內吸引了60多億美金入池.
1900/1/1 0:00:00編者按:本文來自Cointelegraph中文,Odaily星球日報經授權轉載。如果你一直在關注加密行業,你可能已經注意到圍繞著非同質化代幣的活躍氣氛,除非你去年被鎖在防NFT的地堡里.
1900/1/1 0:00:00吳說作者|談叔本期編輯|ColinWuNFT徹底出圈,大型拍賣行的首件NFT拍出4.5億人民幣的天價。這對于加密貨幣“出圈”、吸引高端人群以及以太坊生態而言,無疑是重大利好.
1900/1/1 0:00:00近期,加密貨幣社群中對NFT的討論度越來越高。繼去年下半年延續至今的DeFi板塊之后,業內普遍認為NFT會成為2021年整個幣圈新一輪爆發的增長點.
1900/1/1 0:00:00編者按:本文來自加密谷Live,作者:KarimHelmy,OriginalResearch,翻譯:李翰博,Odaily星球日報經授權轉載。以太坊和礦工以太坊社區與礦工的關系一直有些緊張.
1900/1/1 0:00:00整理|秦曉峰編輯|郝方舟出品|Odaily星球日報 傳統金融市場,有一個非常重要的業務,那便是「主經紀商業務」.
1900/1/1 0:00:00