關於 ArcBlock Token Swap 服務發布延期的說明

ArcBlock 使用者及開發者社群密切關注的 Token Swap(通證互換)服務研發遭遇困難、發布一再延期,ArcBlock 創辦人兼執行長冒志鴻特撰本文致歉並說明具體情況。
ArcBlock Token Swap 服務發布一再延期,這是我們在開發過程中首次遭遇如此長時間、並影響發布的延誤。為此,我們決定公開透明地分享並討論整件事的發展、原因和解決方案。
事件發展時間表:
- 2019 年 5 月:雙向 Token Swap 計畫開始概念設計和高階需求分析;
- 2019 年 7 月:Token Swap 專案正式啟動。考量專案的重要性,由 ArcBlock 研發副總裁陳天親自進行系統設計和主要開發實作,原計畫約 8 週完成,預計 8 月底完成程式碼,並於 9 月中旬「上海之巔 創見未來」活動發布 Beta 版;
- 2019 年 9 月:評估認為 Token Swap 進度落後,無法在 9 月 16 日活動發布,改為計畫於 10 月初 Ethereum Devcon 5 期間發布測試版;
- 2019 年 10 月:在Ethereum 開發者大會 Devcon 5期間就測試版徵詢專家意見並討論,取得許多回饋,其中尤其指出設計存在理論上的安全問題。我們高度重視這些問題,決定整改後再發布,初步延至 10 月底或 11 月初;
- 2019 年 11 月:初步決定 12 月 8 日發布改進版 Token Swap,後推遲至聖誕節前;此前先發布 Forge SDK 1.0 和錢包 2.0;
- 2019 年 12 月初:評估發現原 Token Swap 設計的安全性仍未達理論要求;若按原計畫實作,將存在嚴重安全隱患並需要龐大的人工營運負荷,ArcBlock 團隊也無法承擔,因此不能發布。除非重新設計整改,原方案無法達到 ArcBlock 的產品品質標準;
- 2019 年 12 月 11 日:ArcBlock 決定重新設計 Token Swap,充分利用原專案累積的程式碼與經驗教訓,以更新方案快速迭代,力爭 12 月底完成程式碼並於 2020 年 1 月上線。
經過仔細復盤,我們檢討出以下問題:
- 低估了專案工程實作的複雜度,以及雙向 Swap 設計帶來的新安全要求;
- 設計過於複雜,造成大量工作,也讓發現問題後的修改調整相當困難;
- 未能從設計和實作之初就充分考慮自動化與高等級安全設計,而期待透過人工維運和傳統網路安全手段處理安全問題,導致解決問題需付出高昂工程和維運代價,也難以有足夠信心發布安全產品;
- 我本人未能在專案幾度延期時及時介入分析問題本質,只簡單認為增加工時就能完成任務。
為了更好地解決問題,我們決定:
- 開誠布公地報告專案進度與問題,誠懇致歉,讓使用者和開發者社群了解究竟發生了什麼、為何一再延後。外界也許會發現,以技術工程見長的 ArcBlock 團隊同樣會遭遇許多挑戰。在創新的道路上,曲折難免。
- 同時全力投入工作:1)全公司進入全天候工作模式(過去一直採彈性工時),在解決問題前也只好向大家「痛恨」的 996 致敬 :(;西雅圖團隊原定的聖誕至元旦假期因此取消(法定假日除外),我也取消半年前安排的家庭聖誕假期,與團隊全心投入;2)修改專案設計,從新角度重新設計,把安全性和自動化營運作為最重要的基礎需求,同時盡量重用既有程式碼;3)總結延期的深層原因,形成指導未來專案管理的原則。
直接負責此專案的陳天在反省教訓時表示:
「在 Token Swap 專案中,我們高估了團隊能力和可用人力,大幅低估了實作難度,導致一再延期。從開發角度看,Token Swap 的複雜度與刪除 order book 和 match maker 的交易所相近,涉及非常細緻的內外部安全和繁雜風控流程。
「一開始,我們朝能互換任意 Token 的彈性架構出發,建構三層子網,逐層保護儲存私鑰的 Vault。使用者如同使用交易所 App,把 Token 匯入我們分配的受控帳戶;Sweeper 服務監聽 Ethereum 網路轉帳,發現收款方為受控帳戶時,再由 Token Swap 服務後續處理。這個方案開發耗時很久,直到內部整合測試,結果仍不理想:流程可能出問題的環節太多,需要大量人工介入;介入時不可避免要存取不同層級私鑰,最終內部風險曝險過大,讓我們無法放心發布。
「我對此負主要責任——沒有妥善安排 Token Swap 與其他專案的優先級,也沒有找到更易實作、風險更低的技術方案。目前我們已找到更好的內部安全處理方案,專案重新回到最高優先級。我們有信心經過努力,最終讓 Token Swap 上線。」
藉此機會,我們也將對 Token Swap 進行技術說明,詳細探討 ArcBlock Token Swap 究竟是什麼、為何需要、我們的設計與過往實作有何不同、初版設計為何一再拖延,以及為何我們相信新設計能解決此前問題。
即將發布,敬請期待。
本頁涉及
術語
-
區塊鏈
透過密碼學連接記錄,並按共同的驗證與共識規則確定交易歷史的分散式帳本。