原文作者:Fairyproof
前兩天,Solana區塊鏈上出現了安全預警,有?篇?章指出?個名為
https://officialsolanarares.net/mint/釣??站在?戶批準之后,可以將?戶的原?代幣轉?。在該?章中提到了?點:
惡意合約在?戶批準(Approve)后,可以轉??戶的原?資產(這?是SOL),這點在以太坊上是不可能的,以太坊的授權釣?釣不?以太坊的原?資產(ETH),但可以釣?其上的Token。于是這?就存在“常識違背”現象,導致?戶容易掉以輕?。
其實該?章這?的說法是不甚準確的,混淆了批準交易和Solidity中ERC-20代幣授權這兩個不同的概念。
真實情況是通過Solana的簽名擴散機制,惡意合約直接盜取了?戶的SOL資產,和通常意義上的授權并沒有什么關聯。
跨鏈資產橋ChainSwap宣布將集成Solana和Cosmos:4月26日消息,跨鏈資產橋ChainSwap宣布將集成Solana和Cosmos。[2022/4/27 5:13:39]
1.以太坊中的授權
在以太坊中,通常意義上授權是指?戶調?代幣合約,向其它地址授權?定處理額度,這樣我們在和其它合約交易時,可以?便的?付ERC-20代幣。
在這?,授權是必須的,否則第三?合約?權處理?戶的代幣資產。同時,這種機制也伴?了?量的授權攻擊,只要你授權了惡意合約,惡意合約就可以轉?你的ERC-20代幣。
2.Solana中的授權
在Solana中,代幣?般為官?提供的spl-token合約,它模擬了ERC-20代幣的?為,因此也存在類似的ERC-20授權概念。同樣授權第三?合約后第三?合約可以處理?戶的代幣(注意不是原?幣SOL)。這點同以太坊是?致的,并沒有什么反常識。
Solana網絡中斷分析報告:套利機器人垃圾郵件導致:1月24日消息,Solana生態借貸協議Solend發布了一份網絡中斷分析報告,其中解釋了Solana在1月21日至22日遭受網絡不穩定和持續近30小時的中斷原因,本次事故是繼1月6日至1月12日服務中斷和性能下降之后本月的第二次網絡中斷。
根據Solend分析,本次中斷的根本原因是加密貨幣市場崩盤創造了大量套利機會,因此清算機器人和套利機器人開始提交大量交易,以贏得清算和交易,結果大量垃圾郵件被發送到Solana網絡上引發嚴重負載。另一方面,Solana區塊鏈本身也存在一些問題,比如其網絡沒有過濾重復交易的能力,導致數以千計的重復機器人交易也淹沒了合法的用戶交易。[2022/1/24 9:09:51]
3.Approve的涵義
公鏈Solana將于1月7日前后解鎖占總量近八成的代幣:據官方消息,根據高性能公鏈Solana代幣SOL的解鎖時間表,2021年1月7日前后將共解鎖分配給員工、服務商、所有SAFT投資者、創世團隊、社區以及基金會的共3.85億枚代幣,越占當前SOL總供應量的78.85%,其中,員工和服務商預計將獲得48,134,011枚SOL,并于2021年1月7日解鎖,所有SAFT投資者的176,949,616枚代幣都會在2021年1月7日前后解鎖。另外,創始團隊代幣的一半將會解鎖,預計1月7日前后解鎖的代幣數量為31,250,000,團隊剩余的一半代幣將在未來兩年內每月逐步解鎖。根據幣安研究院此前發布的Solana報告,1月份Solana還將解鎖解鎖社區代幣以及基金會的5220萬枚。根據Solana瀏覽器,截至目前,SOL總供應量為488,589,316枚,流通量為46,596,496枚,1月7日前后的解鎖量將為當前流通量的8倍以上。SOL現報價2.07USDT,是私募價格0.04美元的50倍。[2021/1/6 16:32:07]
不管在以太坊中還是在Solana中,我們習慣將Approve當作授權,因此?然?然的會認為是代幣授權。當我們使?MetaMask錢包時,如果是代幣授權交易會明確提示授權,并且所有交易彈出的是?個確認按鈕。然?在Solana的Phantom錢包?,彈出的是?個Approve按鈕,讓?很容易以為是授
Solana確認總流通量近2000萬 向做市商借出的1136萬SOL代幣不鎖定:金色財經報道,針對持幣人對公鏈項目Solana流通量的質疑,Solana團隊發布公告,確認Solana基金會已經向做市商借出1136萬枚代幣,向做市商借出的這些代幣“不鎖定”。Solana團隊還表示,過去談及該項目流通量時,未包括這1136萬枚代幣,但是未來提供流通量數據時,將會把這1136萬枚借給做市商的代幣包括在內。
此前Solana團隊公示Solana代幣總流通量約為826萬(包括Coinlist拍賣的800萬枚代幣和空投的26萬枚代幣),加上1136萬枚借給做市商的代幣之后,Solana目前準確的流通量應該在1962萬枚左右。[2020/4/28]
權交易。但真實情況是批準?次交易?并不是進?代幣授權。所以安全預警中出現的被盜?為,是?戶批準了?個未知交易,?不是?戶進?了SOL的授權操作,當然也就不能說是授權偷?了原?幣。
貨幣
交易轉?批準者的原?貨幣,例如SOL和ETH,是?常簡單的。在以太坊上的Solidity中,只要調??個payabletransfe的函數就可以轉?交易?戶的ETH;在Solana中,相應的,只要調?系統合約的戶的SOL資產,這和我們平常講的代幣授權概念是沒有任何關系的。
函數也能轉移?交易?不同的是,在Solidity中,ETH轉移發?在合約調?的時候,因此錢包可以提前知道要轉移的ETH數量并顯示出來,?在Solana中,轉移是發?在合約內部的,因此錢包?法提前知曉你會被轉?多少SOL,當然也會?法顯示。只要你簽名認同了這筆惡意交易,你就相當于簽名認同了這次SOL轉移,這正是這次Solana上釣?盜取的問題所在。
?段類似如下的代碼就可以在合約內部轉移user的SOL。
5.Solana中的簽名擴散機制
在Solana中,有?個簽名擴散機制。?戶調?合約A,此時合約A中?戶是簽名批準的。當合約A內部調?合約B時,?戶的簽名會隨著跨合約調??起擴散到合約B。因此,在合約B中,?戶也是簽名批準的。所以這?存在?個安全?險,當簽名?個惡意合約時,惡意合約就獲取了我們這個簽名,然?它可以拿我們這個簽名做任何事情!!!!!!!
在上述的偷盜事件中,?戶同惡意合約3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v進?交易,該合約直接調?系統合約轉移?戶的SOL,因為簽名隨著調??起擴散到了系統合約,因此系統合約認為該筆交易也是批準過的,是正常的,所以就轉?了?戶的資產。
https://explorer.solana.com/tx/4j33JSGRS6rD5irzW1cA9wjQAvAgVDAnBTrGRjqtqBBWXspTzU5HpEFwTeCC2uD9hH9eA2Pw5ddHyd5JyG6h6cNq
我們可以看到該交易涉及的輸?賬號:
這其中:
?戶賬號:4XF4wyjein7ZN4RPM6YK2mC2mC6T41cZAoKjJqpP19fR
SOL轉移賬號:BepccLHDcXqqHi6MfpTDo9Sfc5tmRjmSC1XY48Tb8HuY
惡意合約地址:3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v
從上可以看出,?戶賬號調?合約后轉移了1.2545SOL到轉移賬號。同時我們可以看到并沒有涉及到spl-token代幣合約,出產沒有通常意義上的授權這么回事。
其交易打印出的?志為:
從?志中也可以判斷,惡意合約僅是簡單的調?了系統合約轉?了?戶的SOL,因此?戶簽名批準了對惡意合約的交易,這個簽名也擴散到了系統合約,因此判定有效。
7.結論
在Solana中,不要輕易確認或者批準任何來歷不明的交易,因為它可以拿你的簽名代表你做任何事情。
親愛的BitMart用戶:由于系統無法兼容SHINTAMA的價格設置,我們此前已經停止了SHINTAMA在平臺上的所有功能.
1900/1/1 0:00:001LunaRush(LUS)TokenSaleResultTheGate.ioStartupLunaRush(LUS)saleresultisasfollows:LUSStartupSaleAm.
1900/1/1 0:00:00尊敬的XT.COM用戶:因CELO錢包升級維護,XT.COM現已暫停CELO充提業務。給您帶來的不便,請您諒解!MetaMask在Dapp中啟動“Bridge Aggregator”,支持Con.
1900/1/1 0:00:00Gate.ioAmbassador返傭計劃自2021年8月推出以來,已接到來自全球各地區上萬用戶的申請,在充分聆聽用戶建議,本著互利共贏協同發展的目標,現推出Ambassador全面升級方案.
1900/1/1 0:00:00Asweknow,BTCpricepredictionisanimperativeskillfortraderswhoperformgridtradinginBTCrelatedmarkets.
1900/1/1 0:00:002022年初,“模塊化”概念一度成為Crypto圈討論的熱點,與波卡并肩稱為跨鏈雙雄的Cosmos也引起市場的討論和關注.
1900/1/1 0:00:00