📜 [專欄新文章] Solidity Weekly #17
✍️ mingderwang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
token special issue
ERC827 的資安問題探討
警告: ERC827 規格還在討論中, 且已經發現容易造成資安問題. 本文僅供技術探討參考, 請勿 prod 使用! (若錯誤使用造成任何損失, 個人與專欄皆無法負擔賠償責任)
Why ERC827 can make you vulnerable to reentrancy attacks — and how to prevent them
上面連結文章, 介紹 ERC827 寫法不對, 有可能造成 Reentrancy 攻擊.
ERC827 是一種 ERC20 的擴充, 它是希望 ERC20 介面以外, 再增加 approveAndCall(), transferAndCall(), 以及transferFromAndCall()三種介面. 讓該合約在呼叫相對應 ERC20 的 approve(), transfer() 或 transferFrom() 功能之後, 能順便再呼叫 _to 參數的另一個合約地址 with _data 參數. 以 transferAndCall 為例, 定義如下: (截圖來自 ERC827 規格)
規格裡已經強調不可以搭配 fallback functions 使用, 所以使用時要替別注記!!!
ltdr: 為何 ERC827 有問題, 我還要介紹呢? 因為它讓不用 Ether 也能交易變成可能 (在這篇文章裡有介紹 Do not pay transaction fees in Ethereum), 裡面的 Feeless (警告: 沒有 reentery 保護, 有資安問題, 勿用), 就是使用了 ERC827 協定, 但 Save on fees, lose your tokens (ChainSecurity 的 CTO, https://medium.com/@HRitzdorf) 就馬上給他打臉.
雖然有問題, 但 OpenZeppelin 還是有 implement, 且加上嚴重警告, 希望它能繼續改良, 用大眾的力量來解決這個問題. 也讓 ERC20 能更 powerful, 且更為廣泛使用.
後記:
由於內容挑選不易, 造成出刊頻率不一, 雖然叫 “Solidity Weekly” 週刊, 但偶而會變成 bi-weekly, 深感抱歉. 我知道台灣非常多人在寫 Smart Contracts, 使用 Solidity 或寫 DApps 經驗都比我豐富, 希望大家能共同編輯 “Solidity Weekly”. 讓出刊頻率能像 blockchain 一樣(每個 block 挖到的平均速度是 14秒), 我們平均每一個禮拜一期. 只要是跟 Smart Contract 相關, 都歡迎加入”Taipei Ethereum Meetup” 編輯群, 我們可以自由加 Solidity Weekly #{issue++}. 我們沒有主編, 不必審核 (只內容要不要太離譜就好). (期待, 有人自告奮勇寫下一 期的 Solidity Weekly #18)
BTW, 我們的 Taipei Ethereum Meetup 專欄文章, 雖然以中文為主, 但已經發現有外國文章(The Best Way to Start Coding in Solidity) refer 到我們的文章, https://medium.com/…/ethereum-dapp-tutorial-push-button-cae… , 非常難得, 深感欣慰. 大家的努力, 世界都在看!
Solidity Weekly #17 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
「bi weekly中文」的推薦目錄:
- 關於bi weekly中文 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於bi weekly中文 在 [求譯] 單週和雙週的英文- 看板Eng-Class - 批踢踢實業坊 的評價
- 關於bi weekly中文 在 跟著賽咪住飯店- #賽咪教英文#正式文件用詞要小心... - Facebook 的評價
- 關於bi weekly中文 在 bi-weekly-report/中文版.md at master - GitHub 的評價
- 關於bi weekly中文 在 Leetcode Bi-weekly 16 Screencast (Virtual contest, 带中文解说) 的評價
bi weekly中文 在 跟著賽咪住飯店- #賽咪教英文#正式文件用詞要小心... - Facebook 的推薦與評價
來個例句吧: Samuel, you need to attend this meeting biweekly. Due to the significant quality of this assignment, the ... <看更多>
bi weekly中文 在 bi-weekly-report/中文版.md at master - GitHub 的推薦與評價
let's write weekly report together. Contribute to nervos-community/bi-weekly-report development by creating an account on GitHub. ... <看更多>
bi weekly中文 在 [求譯] 單週和雙週的英文- 看板Eng-Class - 批踢踢實業坊 的推薦與評價
雖說知道隔週的英文是biweekly
但是不知道單週和雙週的英文該如何來表達,
還有請高手來告知,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 192.192.154.47
※ 文章網址: https://www.ptt.cc/bbs/Eng-Class/M.1409558278.A.575.html
... <看更多>