logo

1024致敬開源精神 imtoken開放多項源碼

瀏覽數

4

開宗明義,imToken今天正式宣布開源!

爲什麽 imToken 選擇開源?

截止至 2018 年 10 月,imToken 在全球 200 多個國家和地區擁有超過 700 萬用戶,錢包已經成爲加密貨幣世界裏重要的基礎設施,但這個快速發展的新興行業卻沒有所謂的“標准”可言。

imToken 2.0 作爲多鏈錢包,已經支持以太坊,比特幣及 EOS,非常多優秀的公鏈和 DApp 希望通過我們接觸到更廣泛的用戶。

imToken 是一家公司,如果想要完成某項功能(支持某個公鏈/DApp),我們選擇自己開發可能更快更有效;但我們清晰的意識到:一個人,可以走得快;但是一群人,才能走得更遠。

我們需要更多優秀的區塊鏈開發者的支持,我們希望能獲得來自社區的貢獻,吸引更多公鏈可以與 imToken 共同參與開發錢包。

更重要的是,作爲區塊鏈應用的先行者,imToken 真心希望能夠將已有的經驗分享,讓這個行業的開發者少走彎路,共同制定行業技術標准。

我們開源了哪些有價值的代碼?

在此之前我們實際上已經開放了以下功能的源碼

EOS 投票工具 StakeVote

去中心化交易所功能的 Tokenlon SDK

本次開源的部分我們稱爲 TokenCore;屬于在 imToken 應用中對錢包私鑰進行管理維護的部分。這部分代碼的可靠和穩定性已經在生産環境上獲得超過 700 萬用戶的檢驗,包含 iOS 和 Android 兩個平台的原生代碼,目前這部分代碼已經開放在 Github。

作爲去中心化錢包,錢包私鑰只存儲在用戶客戶端本地。私鑰由隨機數産生,並使用用戶輸入的密碼進行加強保護,加密後的 Keystore(私鑰存儲文件) 存儲在沙盒文件系統。只有私鑰簽名的場景下 Keystore 才會配合密碼的輸入解開得到對應私鑰。

TokenCore 中包含具體功能模塊列表如下

加密的私鑰存儲

來自以太坊社區的單私鑰存儲規範 V3 格式

可以存儲助記詞的自研加密格式

ETH

V3 Keystore

基于助記詞的私鑰推導

交易簽名

BTC

基于助記詞的私鑰推導

傳統及隔離見證模式的簽名

EOS

基于助記詞的私鑰推導

交易簽名

Identity

多鏈賬戶私鑰的推導體系

虛擬身份維護個人數據,並存儲至 IPFS

不同區塊鏈的序列化方式

在開源之前,我們反複做好安全代碼審計

Given enough eyeballs, all bugs are shallow. -- Linus’s Law

秉著對用戶負責,對代碼質量負責的角度,我們已經邀請國內的慢霧團隊以及國外的 Cure53 團隊進行多輪代碼安全審計。並在多個安全平台上發布了 Bug Bounty 獎勵計劃。

Cure53 的審計報告: 

https://cure53.de/pentest-report_imtoken.pdf

慢霧區上的 Bug Bounty Program: 

https://slowmist.io/en/imtoken/index.html?utm_source=index&utm_medium=cpc&utm_campaign=imtoken

任何安全從業者或用戶如果發現漏洞,可以通過漏洞平台或郵件的方式給予反饋,我們會給予豐厚的獎勵;除此以外,imToken 將入駐更多的世界級安全平台,包括 Hackerone,接受來自全球開發者和白帽子的“檢驗”。

區塊鏈是天生開放的行業,希望開源能夠降低門檻,吸引更多的開發者和公司能夠利用這套核心代碼,找到更多加密貨幣的應用場景,加入 imToken 生態,也歡迎大家參與到 imToken 的開發者社區中。

致謝

CoreBitcoin

bitcoinj

ashchan

1024,致敬所有爲此做出貢獻的創造者,以此貢獻給更多的創造者

1024,Let’s make blockchain happen

Ben & imToken 團隊