原文標題:《對DFINITY的去中心化身份、賬戶與錢包介紹 開發者能如何利用?》
6月3號,ICP League 聯合社區開發者舉辦了第二期的開發者電話會,探討了 DFINITY 的底層賬戶結構,以及上層去中心化身份認證的方式,介紹了兩者的聯系方式。點擊“閱讀原文”可以查看視頻回放。
本期亮點:
DFINITY 的賬戶與身份是兩個系統,其底層依然是加密原生的公鑰/私鑰/地址的賬戶,但在上層建立了去中心化身份系統;
身份與賬戶并不耦合,賬戶寫在鏈的底層,而身份是鏈上運行在 NNS 子網上的智能合約,通過合約與賬戶建立了聯系;
賬戶更像是銀行卡,而身份更像是綁定了銀行卡的支付寶,能方便地使用 DFINITY 的 dapp;
身份系統的目的是為了幫助用戶更好地管理賬戶,避免用戶直接接觸私鑰;
在使用 DFINITY 的身份登陸其他 DApps 時,如果 DApps 相關代碼更新,容易丟失對這個 DApps 的子賬戶信息;
開發者可以結合官方的命令行賬戶錢包實現客戶端/網頁錢包,或者基于互聯網身份系統實現 web 3 邏輯下的業務,比如個人存儲、鏈上分身、數據集市。
Dilation Effect對DeFi借貸協議Prime Protocol發出安全警告:5月24日消息,Web3安全研究公司Dilation Effect對DeFi借貸協議Prime Protocol發出安全警告。該協議有一個獨特的功能,允許其他人代表用戶完成存款操作。這意味著一旦用戶授權了合約,任何人都可以訪問用戶地址中的授權資產并將其存入借貸池,而無需進一步的許可。雖然這還沒有導致安全漏洞,但如果Prime Protocol遭到黑客攻擊,攻擊者可以將所有授權用戶資產轉移到借貸池中。
Prime Protocol于2022年3月完成275萬美元種子輪融資,Jump Capital、Arrington Capital和Framework Ventures領投,目前其鎖倉總價值 (TVL) 超過160萬美元。(fxstreet)[2023/5/24 15:22:01]
一般用戶在互聯網身份的包裝下并沒有接觸到轉賬地址,但 DFINITY 作為區塊鏈系統具備與比特幣/以太坊類似的賬戶,賬戶驗證的主要機制是經典的數字簽名方案。即從種子派生公私鑰對,并將公鑰匙處理編碼為字符串地址,通過私鑰簽名發送交易,使用公鑰驗證鑒別交易。
在選取的算法上,DFINITY 的賬戶與比特幣更相似, 以 Python ECDSA 和 secp256k1 為主,如果使用已有的比特幣賬戶在 DFINITY 上能生成一樣的公鑰,但在地址表現形式上有所不同。
加密資產金融公司高管:比特幣是對DeFi真正的定義:12月17日消息,加密金融服務公司Unchained Capital業務發展主管Parker Lewis在Lightning Labs高管Ryan Gentry所發表的“真正的DeFi”下回復表示,比特幣是對DeFi真正的定義。[2020/12/17 15:30:08]
DFINITY 的賬戶地址的長度為64個字符,這種格式只用于表示普通賬戶,DFINITY 容器(合約)使用專門的23位的容器 ID 表示,并5個字符串一組,用“-”隔開,如“h5aet-waaaa-aaaab-qaamq-cai.raw”,加上“https”與“.ic0.app”后可以在瀏覽器直接訪問,如“https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/”。這是其與以太坊賬戶體系一個很大的不同。
在 nns.ic0.app 下的 Accounts 下能看到這些賬戶地址,可以直接用于 ICP 的轉賬,但目前還沒有易用的加密原生錢包。
但官方其實開源了這類錢包的實現方法, 在 keysmith 庫(https://github.com/dfinity/keysmith)中實現了一個命令行錢包
隱私瀏覽器Tor正在研究匿名代幣以應對DoS攻擊:隱私瀏覽器Tor開發人員對此前使用匿名代幣(AnonymousTokens)來應對DoS攻擊的想法進行進一步闡述,使用匿名代幣可用來區分正常流量和不良流量,并避免通過部署用戶帳戶來識別流量和不良行為者。Tor開發人員GeorgeKadianakis設想,洋蔥服務(OnionService)可以發行代幣提供給可信賴的客戶端,還可用于設計安全的域名系統,以及獲取專用網橋和出口節點。(CoinDesk)[2020/11/19 21:17:57]
DFINITY 在賬戶系統外又開發了一套身份系統稱之為“互聯網身份(Internet Identity)”,以下簡稱 II。II 是部署在 DFINITY 的一個智能合約,智能合約的狀態存儲中對地址與身份建立了映射。
注意的是,身份和錢包賬戶是兩回事。以太坊上錢包地址就是你使用應用的身份,但是在 DFINITY 中,身份是與錢包賬戶分開,兩者不耦合的,但來自同一源頭的公私鑰對,而且可以互相演化的。
在使用 II 時,用戶會獲得名為“user number”的一串數字,這其實是 II 合約內部的一個索引。這串數字來自一個63位的字符串,一般五個一組用“-”隔開,被稱為“Principal ID”。
火幣預計在區塊高度1248328完成對DOT代幣1:100的面額拆分:據火幣全球站公告,現已開放DOT (Polkadot) 的映射、充幣和提幣業務。DOT將于區塊高度1,248,328時進行1:100的面額拆分,火幣全球站的DOT拆分時間安排如下:
1、2020年8月21日13:00 (GMT+8),暫停DOT的映射、充幣和提幣業務。
2、2020年8月21日14:00 (GMT+8),暫停DOT交易,已在DOT/USDT和DOT/BTC交易對掛單的用戶,系統將自動為您撤單,并將相關資產退回至您的幣幣賬戶3、區塊高度1,248,328時(根據當前出塊速度估算,預計拆分時間為2020年8月22日01:15 (GMT+8)),火幣全球站將基于DOT智能合約升級進度,自動完成對DOT代幣1:100的面額拆分,拆分后所有持幣用戶的持幣量變為原持幣量的100倍,但不會影響用戶DOT持倉的總價值。
4、交易、映射、充幣和提幣業務具體恢復時間將以公告形式另行通知。注意事項:暫停交易期間,因無法通過行情端獲取DOT實時價格,DOT估值暫不展示(幣幣賬戶總資產折合暫不包含DOT),實際資產不受影響。DOT交易恢復后將正常展示。[2020/8/19]
用戶身份其實是 II 智能合約中的一個實例化對象,II 是 DFINITY 推動的標準,目前 DFINITY 上的應用都可以通過引入幾行代碼,來允許用戶使用 II 標準登陸應用。II 是一種中心化身份的標注,使用了具備高度安全性的雙要素驗證;并能在使用不同 dapp 時為用戶創建衍生身份,來保護用戶隱私防止被跨應用追蹤賬戶;并能更方便的管理多賬戶,無需賬戶密碼,也無需基礎學習門檻高的私鑰,通過面部識別、指紋掃描或 YubiKey 等安全終端輕松地使用。
USDC地址被拉黑引發業內對DeFi行業發展的擔憂:7月10日消息,USDC地址被拉黑一事引發了加密領域對當前正蓬勃發展的DeFi行業的擔憂。DeFi借貸協議Aave首席執行官Stani Kulechov表示,想象一下,如果現在有USDC正放在Maker Vault中,那么可能發生的情況是,CENTRE Consortium使用黑名單功能,將資金鎖定在Vault庫內,這樣就破壞了DAI與美元的錨定匯率。與此同時,一些業內人士認為,盡管DAI作為一種美元掛鉤穩定幣可以很好地抵御金融風險沖擊,但如果抵押品可以被列入黑名單,那么意味著DeFi協議底層有可能受到影響并遭到破壞。注:Maker Vault是MakerDAO的托管兌換服務,用戶將加密貨幣放入其中就會生成DAI代幣。(Decrypto)[2020/7/10]
首先介紹一下 WebAuthn,符合了 W3C(萬維網聯盟)的 Web 驗證的標準,也就是除去賬戶密碼/私鑰驗證之外,還需要安全硬件的驗證,這是為了避免釣魚網站與惡意軟件的侵害。因此在使用 II 時,用戶必須具備安全硬件,這也是困擾早期用戶的一個門檻,但目前我們的大部分手機、筆記本都裝載了安全芯片,也可以外接 YubiKey。
WebAuthn 驗證流程:
用戶啟動登錄過程后,DFINITY 的 II 智能合約將生成一個隨機質詢并將其發送到用戶的瀏覽器;
然后瀏覽器將質詢轉發到安全設備,用戶在安全設備上進行交互驗證,如指紋解鎖、面部識別或輕觸 YubiKey;
完成驗證,使用保存在安全設備中的私鑰簽名;
然后將驗證后簽名的質詢發送回 II 智能合約,II 智能合約進行驗證,完成登陸。
在我們使用 II 授權登陸一個 DApp 時,II 會自動產生一個子身份專門用于使用該 DApp。這為用戶創建了多個鏈上分身,防止其身份被追蹤;同時 DFINITY 對不同容器交互時都需要分別進行驗證,一個容器無法盜用其授權權限與其他容器交互,來轉走代幣,而這種事曾在以太坊上發生過。
同時,II 合約也對身份進行了一個抽象,因此即使你的私鑰只存儲在設備的安全芯片中,并不傳輸,但你能把多個設備綁定在一個主賬戶下,使用多個設備直接登陸主賬戶發送任意操作。這是一種對權限的管理,具體需要官方公布更多細節。
DFINITY 在賬戶系統外又開發了一套身份系統稱之為“互聯網身份(Internet Identity)”,以下簡稱“II”。II 是部署在 DFINITY 的一個智能合約。
原始 ID 的產出:
首先對隨機數 Rand 進行 Bip39,然后產出種子文件,再推斷出私鑰;
通過私鑰產出一個 DER 格式的公鑰,長度為65字節;
對公鑰進行sha224得到28字節的字符串,然后加上一個字節判斷其類型,產出29字節的原始 ID 以下稱“blob”;
這里添加了一個字節可以表示其的類型,“0x01”為系統保留,“0x02”代表了這是主要 ID,即用戶創建的;“0x03”表示該共鑰是從主要 ID 派生的,一個主要 ID 具備一個空間,可以注冊很多個派生 ID,去使用不同的 DApp;“0x04”為匿名 ID,不用簽名也可以發送請求。
此時,對 blob 的兩種處理方式分別產出了用于 II 合約的63字節的“Principal ID”,和32字節的錢包賬戶“Account ID”。
Principal ID 的產出:
對 blob 添加4個字節小大的 CRC-32 的糾錯碼(error detection code);
使用Base32對結果進行編碼,每組五個字符,用“-”隔開;
也可以使用 ASCII 表示,最大 63 個字符。
Account ID 的產出:
在 blob 前加入 Account 類型的特定字符串,后面加上序號;
對這個字符串計算 sha224,得到 28 字節結果;
對結果添加 4字節大小的 CRC-32 的糾錯碼,得到 32 字節結果;
轉化為64個字符的字符串。
Account ID 就是我們在交易所中使用的轉賬地址,而 Account ID 也可以衍生出多個子地址,之需要修改 blob 后的序號即可,被哈希后就能得出不同的地址,這個過程與之前的派生是有區別的。
目前 DFINITY 官方鼓勵開發者使用 II 去登陸 DApp,而 II 對身份與地址的衍生與存儲都運行在智能合約中。
而在 DFINITY 的合約中 Persistent 狀態是允許被更新的,因此合約可以被升級,但這并不是一個持久化的狀態,因此有可能會在更新中損失數據。這就意味著,在 II 合約自身,或者 DApp 合約更新后,可能會損失數據,導致過去使用 DApp 的身份丟失。
這是所有開發者在使用 II 時需要注意的風險,但是這種情況往往是在使用 DApp 時會遇到的,而你持有的 ICP 代幣不會受到影響。
目前 DFINITY 的體驗與加密原生用戶中間有一個斷層,II 對現在的加密原生用戶的使用習慣來是超前的,因此大家很難接受。消除這個斷層,改進這個機制是非常重要的一個工作,比如為 keysmith 命令行錢包做可視化頁面等。
還可以在登陸機制上進行探索,目前的 WebAuthn 登陸有一定硬件門檻,不是所有人都能很輕松的使用。比如使用 metamask 登陸,比如通過郵箱去做密碼學驗證。
在開發 DFINITY 錢包時可以更好的去結合加密原生的賬戶地址與 DFINITY 的多身份系統。做一個比喻,賬戶地址像是銀行卡賬戶,DFINITY 的 II 是微信的賬戶,也可以使用這個微信賬戶去登陸不同的應用,每個應用你都具備一個身份。
因此將 MetaMask 還不足夠,DFINITY 的體驗與 Web3 中描述的“用錢包去完成所有的登錄的操作”不同了,應用的連接感更像傳統互聯網的“一鍵登錄”。
同時,在不同的公鏈或平臺上都有去中心化身份的項目,而因為沒有深度耦合, DFINITY 官方推出的 II 也可以早期的身份項目,開發者可以著手去改進它,或者實現一個全新的更好的身份系統。
同時也可以在 II 的上層搭建更多應用,比如為每一個賬戶建立獨立的存儲空間,作為數據確權的中心,或者去優化多身份系統,從多身份中衍生出交互的多樣性。
6月17日,一個被稱為Iron Finance的部分抵押品穩定幣項目牽動著無數人的注意力。在昨天,這個項目憑借24億美元的TVL登頂Polygon鎖倉榜第二位,超過SushiSwap,直逼Aav.
1900/1/1 0:00:00核財經APP深核報道?6月18日,據一份文件顯示,四川省發改委及能源局發布了關于清理關停虛擬貨幣“挖礦”項目的通知,水電大省四川正式叫停比特幣挖礦.
1900/1/1 0:00:002021年6月18日四川省有關部門正式下發通知,要求發電企業自查自糾,立即停止向虛擬貨幣“挖礦”項目供電,不折不扣落實國家清理要求.
1900/1/1 0:00:00通過錢包轉賬 ETH 或是 ERC-20 Token 時,我們知道這個轉賬需要付手續費。那么,轉賬的手續費是怎么算的呢?如果轉賬的同時還去“刻字”,是不是需要收取更高的手續費呢?今天,大白就給大.
1900/1/1 0:00:006月3日,“2021(第四屆)中國產業區塊鏈峰會”在湖南省長沙市成功召開。 會上,中國物流與采購聯合會區塊鏈應用分會執行秘書長潘海洪以《全國產業區塊鏈發展狀況與趨勢報告》為題進行了行業報告.
1900/1/1 0:00:00金色財經報道,據6月25日消息,薩爾瓦多國會當地時間周三批準了總統有關比特幣的提案,該國將成為世界首個將比特幣作為法定貨幣的國家.
1900/1/1 0:00:00