以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > ETH > Info

APP:區塊鏈錢包多平臺簽名方案

Author:

Time:1900/1/1 0:00:00

本篇技術文章源自于Nervos每周三舉辦的DevMeetup,作者為秘猿科技NervosAppChain技術總監段揚揚。---可能很多人都玩過區塊鏈DApp,如加密貓,當你看到一只特別可愛的貓,想要購買時,通常你會看到需要下載安裝MetaMask的提示。MetaMask是一款基于PC瀏覽器的插件錢包,要想下載安裝成功,你還需要懂一點科學上網的知識,安裝成功后,就可以通過喚起MetaMask插件錢包完成支付交易。

但是,如果你想在手機上玩加密貓,就會發現因為沒有MetaMask錢包而無法繼續游戲。或許你的手機里還有imToken等手機錢包,令人遺憾的是如果你通過手機瀏覽器打開加密貓游戲,依然是無法自動喚醒imToken等錢包進行簽名支付。多平臺簽名問題和痛點

所以你會發現,DApp有很多承載方式,有基于PC瀏覽器的應用,也有手機原生APP應用。同樣的,錢包也有很多承載方式,有諸如imToken手機客戶端錢包,也有諸如以太坊官方錢包那樣基于PC客戶端錢包,也有諸如MyEtherWallet的開源web版錢包,還有各種各樣的冷錢包。冷錢包很好理解,假設我的手機是一個沒有聯網的硬件,我需要簽名支付的話,只需要拿一根USB線和電腦連接一下,就可以簽名了,整個過程私鑰都不會暴露在聯網的環境中。也就是說如果你想在PC瀏覽器和手機上達到相同的DApp體驗效果,并且不用頻繁切換錢包賬號,更不用來回相互轉賬,目前來看是做不到的。在PC端你可以用MetaMask錢包,在手機端則需要你在手機錢包中打開才能體驗完整的DApp。想想支付寶和微信支付一站式的跨平臺體驗,你是否會有這樣的念頭,難道就沒有一款錢包可以解決一站式多平臺的簽名痛點嗎?更不幸的是MetaMask在自己的官方博客上提到,不建議用戶把大量的資金放到這類插件錢包中,插件錢包是不安全的。也許此刻你會苦笑,我只是一個普通的小白用戶,只想要一款可以多平臺簽名交易并且安全的錢包,難道這小小的要求都得不到滿足嗎?別急,我們不妨分析一下目前的現狀和可能的解決方案。如果能有一種錢包可以解決所有平臺DApp簽名問題的話,那么就可以保證體驗是一致的,而且移動端錢包的好處是私鑰永遠保存在手機本地,安全性比瀏覽器的錢包或插件錢包的安全性都要好;其次用戶不需要安裝各種各樣的錢包來處理來自不同平臺交易。所以如何平衡安全和易用性,以及全平臺一致的體驗,是多平臺簽名方案需要解決的問題。這是我們目前看到的行業訴求,于是我們開始調研并且嘗試給出我們的解決方案。手機端掃碼方案

數據:Avalanche區塊鏈網絡的質押率已達50.65%:3月14日消息,根據鏈上數據統計,當前Avalanche區塊鏈網絡的質押率已經達到50.65%。近期,Avalanche基金會啟動子網激勵計劃,預計未來質押率繼續升高。不過值得注意的是,當前網絡驗證者節點存在較為明顯的中心化問題,有50.3%的驗證者節點位于美國,有64.5%的驗證者節點是采用亞馬遜云服務。[2022/3/14 13:54:23]

現有的互聯網應用或許可以給我們提供一些借鑒思路,下圖左邊是手機端支付寶的支付頁面。對于支付寶我們都很熟悉,如果是在手機端用支付寶支付的話,應用會自動喚起支付寶,然后直接在支付寶完成支付流程就可以了。如果是電腦端淘寶網頁上支付的話,淘寶付款頁面會出現一個二維碼,只要打開手機支付寶,掃二維碼,在手機里完成支付,然后支付結果就會傳到淘寶網,整個支付過程就完成了,體驗非常好,而且也非常安全。

圖片右邊是網易郵箱的服務,以前在PC端瀏覽器上登陸網易郵箱時,需要輸入賬號和密碼,后來網易覺得這樣不是很安全,輸入賬號和密碼也比較繁瑣,并且萬一密碼丟失該怎么辦?考慮到每個人都有智能手機,而且手機相對個人來說是私密的,安全性很高,所以他們就在瀏覽器端登陸的時候給出一個二維碼,用手機端的郵箱APP掃一下二維碼,手機端完成驗證鑒權,然后PC瀏覽器上的網頁郵箱就自動登錄成功了。現有互聯網產品的解決思路是,既然在瀏覽器端無法解決保證更好的安全性,那就通過更安全的移動端掃碼的方式來彌補這個缺憾。順著這個思路往下想,假如你在PC瀏覽器上玩加密貓,現在想下單買一只可愛的貓,過去的方式是必須通過科學上網,安裝MetaMask,創建一個錢包賬號,然后從你的imToken或其他錢包轉一些ETH到MetaMask錢包,最后簽名支付才能購買。那有沒有一種方式,直接把加密貓的交易數據通過二維碼的方式呈現出來,手機錢包掃一下,在手機上完成整個簽名交易流程,然后再把交易數據發到鏈上,最后把交易結果回傳到瀏覽器網頁端,這樣整個體驗就會非常好。這個方案我們有想過,但是后來一想,有問題!什么問題呢?如果普通轉賬交易是沒問題,交易數據比較少,但如果是部署一個合約呢?這是一個普通的合約,功能就說簡單的存儲和讀取數據,data字段就這么多,換成二維碼,你會發現如此密集的二維碼,絕大部分的APP根本就掃不出來,顯然直接掃碼這條路是走不通的。

國家互聯網應急中心發布首個區塊鏈通用安全技術行業標準:日前國家互聯網應急中心牽頭推進的行業標準《區塊鏈技術架構安全要求》正式發布并實施,成為國內首個正式發布的區塊鏈通用安全技術行業標準。該標準規定了區塊鏈技術架構應滿足的安全要求,包括共識機制安全、智能合約安全、賬本安全等,適用于區塊鏈技術架構。(財聯社)[2020/10/28]

后來我們在公司內部的Hackathon嘗試了另一個方法,既然數據比較復雜且比較大,不能直接用二維碼掃描傳到手機,那么能不能用一個服務器作為中繼來轉發數據呢。還是原來的DApp,先把復雜的交易數據傳到中繼服務器上,然后返回給DApp一個請求接口,通過這個HTTP請求接口客戶端就可以訪問到完整的交易數據,DApp拿到請求接口地址后,將請求地址生成一個二維碼。錢包APP掃描二維碼,獲取到請求地址,并從這個請求地址上獲取交易數據,錢包用本地私鑰完成簽名并轉發到鏈上,最后再把區塊鏈返回的交易hash發送給中繼服務器,由于DApp和中繼服務端是長連接,DApp就可以獲取到交易hash,并根據交易hash處理后續的業務流程。這是一個不錯的想法,至少解決了一些問題,但是卻引申出了另外的問題。DApp的全稱是去中心化應用,如果加入中繼服務器,那么不管是DApp本身還是錢包都會非常依賴中繼服務器,一旦服務出現異常或者不可用,整個簽名過程就會受阻。一個去中心化應用反而要強依賴中心化服務器,這和區塊鏈的去中心化理念就出現了矛盾。手機錢包充當服務器方案

為了解決DApp和錢包強依賴中心服務器的問題,那么我們就想到了手機能不能成為服務器。如果手機和電腦在同一個局域網內,那么就可以通過IP相互直接訪問,既然電腦能成為server,手機也可以是server。手機作為一個server,DApp發交易就是給這個server直接發請求,手機拿到交易數據后簽名并轉發數據至區塊鏈,然后再把鏈返回的交易hash發送給DApp。這樣解決了中心化和去中心化的矛盾,但是有一個問題就是電腦和手機必須在同一個局域網里,要不然沒辦法無法請求數據。

動態 | 加密錢包BRD推出針對企業應用程序的區塊鏈工具:金色財經報道,Ripple支持的加密錢包BRD推出了針對企業應用程序的區塊鏈工具Blockset,允許編碼人員創建“企業級”區塊鏈應用程序。[2020/1/18]

手機作為一個server是一個不常見的方式,通常只有近距離快速傳送大文件的時候或者小范圍的點對點通信時會使用這種方式,這種方式不適合做擴展,手機換個局域網或者換成4G的時候,它的IP就會改變,那么DApp就需要頻繁更改連接的IP地址。當你沒有辦法做到好的兼容的時候,這也許是一個的不錯思路。WalletConnect

行業內有很多團隊也在嘗試解決這個問題,WalletConnect是其中一個比較有名的解決方案。它也是使用一個中繼服務,而且這個中繼服務做的事情比上文提到的要更多。簡單來說,首先,DApp和中繼服務器最初會有一次握手,并建立長時間的session連接通道,然后DApp會生成用于未來加密交易數據的對稱密鑰,DApp會把加密后的交易數據發送到中繼服務器上,并得到服務器返回的交易數據請求地址。

然后DApp將請求地址、對稱密鑰和sessionID打包并生成二維碼,手機錢包掃描二維碼并提取其中的數據請求地址和對稱密鑰,然后錢包從該接口地址上獲取交易數據密文,并用對稱密鑰解密得到交易數據明文。進而在手機錢包內完成交易確認、簽名和轉發,最后將從鏈上得到交易hash發給中繼服務器。由于DApp和中繼服務器是長連接,所以中繼服務器在拿到交易hash后,會推送給DApp,然后DApp就可以根據交易hash到區塊鏈上查詢交易的執行情況。WalletConnect和上文討論的做法思路是一致的,只不過它更近一步,通過對稱密鑰對交易數據加密,安全性更好,中繼服務器就是一個交易數據轉發的地方,二維碼則是DApp與手機錢包的信息溝通媒介,承載更輕量級的數據。這個方案中可能還有一個服務器,叫做Push服務。如果有Push服務,那么DApp后續再發送交易數據給中繼服務器,就不需要再通過二維碼掃描,而是直接將數據推給至Push服務,然后由Push服務推送消息給手機錢包,手機錢包再去簽名并發送至鏈上,并把交易hash告知中繼服務。當然如果沒有Push服務器,整個流程同樣是可以走通的,只不過需要手機錢包掃碼觸發獲取交易數據請求,然后再完成后續流程。需要說明的是WalletConnect并不提供公共的Push服務,只提供公共的中繼服務,對于DApp或者錢包運營方來說,需要維護一個中心化的Push服務器,雖然體驗和安全非常好,但是解決思路有點麻煩。WalletConnect向以太坊基金會提出了希望將這一套數據規范做成EIP協議,目前協議還在討論中,還沒有定下來。AppLink

動態 | 中國平安將借助區塊鏈等科技提供智能化服務:據長沙晚報消息,中國平安持續深化“金融+科技” 雙輪驅動戰略,借助智能認知、人工智能、區塊鏈、云技術等創新科技,從客戶、用戶的健康、出行、理財三大生活場景出發,用“科技創新”和“服務速度”為用戶提供智能化的服務。[2018/10/18]

還有一個方法,要比上一個方案稍微簡單一些。做過移動端開發的朋友可能都知道DeepLink,或者簡單說是AppLink。我們都知道在瀏覽器上打開一個網站鏈接地址就可以跳轉到想要的網頁,但是對于智能手機而言,每個App都是一個信息孤島,相互之間是沒有一個簡單的通訊機制。舉個簡單的例子,淘寶和微信相互屏蔽,在百度上搜不到微信里的東西。App之間的信息是割裂狀態。因此,Google和蘋果作為操作系統提供方,就希望從操作系統層面上解決這個問題,于是就有了AppLink。任何一個App只要在AppLink服務上按一定的協議規范注冊,那么其他App就可以通過AppLink服務與之連接并通信。比如,我在PC瀏覽器上想要買一只貓,購買頁面會呈現出一個交易二維碼,我用iPhone的系統相機掃描這個二維碼,只要這個二維碼內容是在我的操作系統AppLink中注冊過的,那么就可以喚起手機錢包頁面,完成后續的簽名支付流程。但是這個服務并沒有被廣泛使用,原因有很多,最重要的原因是App之間不愿共享數據,它們更希望用戶一直留在App內部,增加用戶的使用黏性。而且安卓的碎片化比較嚴重,國內很多手機廠商更改了操作系統底層代碼,這樣就沒有辦法提供很好的一致體驗。所以該方案在一些比較小的場景內是可以實現的,不適合所有的場景。這個數據協議也被提交到了以太坊基金會,希望可以建立一個ERC標準,目前處于草案過程,并沒有達成共識。MyEtherWallet

游久游戲再次澄清主營業務與區塊鏈業務無關:近日,游久游戲發現仍有媒體將公司股票納入區塊鏈板塊,公司再次澄清目前主營業務與區塊鏈業務無關。[2018/1/16]

最后一個案例很有意思,有個網頁版錢包叫MyEtherWallet,提出了一種通過建立P2P安全通道完成簽名交易的方案。過去在MyEtherWallet上創建一個錢包,私鑰、助記詞等信息都是由錢包生成,并存在瀏覽器存儲空間中。但是私鑰存在網頁端其實是不安全的,網頁雖然本身有一定的存儲功能,但是安全性和手機比還是弱很多,那如何解決這個安全問題呢?MyEtherWallet最近出了一個手機APP叫NEWconnect,前段時間開始公測了。他們開發了一個手機端錢包NEWconnect,它雖然有錢包的很多功能,但是不作為一個獨立的錢包角色,而是和網頁版錢包配合使用。例如用戶在網頁端要轉一筆1.5eth的帳,用戶在網頁端生成交易,手機端通過P2P的方式直接與網頁點對點連接,并自動彈出確認交易頁面,手機端完成簽名交易后,將結果通過P2P通信通道回傳給網頁端,網頁端更新并顯示交易處理后的數據。這個方案的體驗很好,也很安全。由于是私密的P2P通信通道,交易數據不會輕易被盜取,能夠完美地解決上面提到的問題。但是該方案同樣存在擴展困難的問題,只能在封閉系統中流轉數據。P2P本身就是點對點通信,如果擴展開來,則需要一整套通道建立流程和加密機制,但是這種思路確實值得借鑒。

依然在路上

整個行業到現在也還沒有最終的解決方案,我們也在做各種調研和嘗試,即使在Hackathon上做了一個初級的解決方案,但還不能盡善盡美。行業的訴求和痛點很多人都發現了,并且在嘗試積極解決,但是目前整個行業還未達成共識方案。現在很多區塊鏈服務和互聯網服務在體驗上還有很多差距,互聯網服務是中心化的,有很多中心化的方式去解決體驗和安全的問題。而區塊鏈應用是去中心化的,錢包和DApp也是去中心化的,如果我們用中繼服務去做,就相當于把去中心化的問題用一種中心化的方式來解決,我們先不討論好與不好,至少不會是最優的解決方案。安全性也是需要重點考慮的,二維碼呈現的交易數據很容易被篡改,中繼服務提供的交易請求也很容易被攔截,如果是互聯網應用的話,可以通過中心化的方式校驗數據,但是對于去中心化的應用,如何做到安全和去中心化的平衡,還需要進一步討論。我們可以在GooglePlay和AppStore上發現大量的錢包軟件,彼此之間的體驗千差萬別,但是始終沒有能做到像支付寶那樣解決多平臺的簽名支付問題。為此我們也還在調研和做MVP驗證,希望未來可以有一套兼顧安全、體驗和去中心化的解決方案。

Tags:APPDAPDAPP區塊鏈超級魔術師推幣機appdapp幣交易Adappter Token區塊鏈證據保全怎么操作的

ETH
TOKEN:有人要全球直播51%算力攻擊,這事真像吃個飯一樣容易么?

本文來自:白話區塊鏈,作者:飛魚,星球日報經授權轉發。在區塊鏈世界中,發起51%算力攻擊無疑是對Token最致命的打擊.

1900/1/1 0:00:00
XRP:為防止稅務欺詐,西班牙財政部將檢查1.5萬名加密納稅人

據西班牙最大的西班牙語報紙《國家報》11月19日報道,西班牙財政部(Hacienda)將對去年與加密貨幣進行交易的1.5萬名納稅人實行監督.

1900/1/1 0:00:00
ATA:ASIC 礦機中心化太嚴重?我們設計了一種對抗“礦霸”的算法

編者按:本文來自QuarkChain,作者:QuarkChain團隊,星球日報經授權轉載。我們寫作這篇文章的目的,主要是想通過展示我們關于這個主題的一些初步想法,來和同行進行討論,歡迎大家提意見.

1900/1/1 0:00:00
區塊鏈:“2018 Odaily星球日報星球獎”評選

“深窺自己的心,而后發覺一切的奇跡在你自己。”——弗朗西斯·培根圣杯一直就在每個人的心里,只是被各種妄念和幻想遮擋在內心深處,掃除一切顛倒幻象,自然就能看清自我.

1900/1/1 0:00:00
APP:此地無人生還:區塊鏈隨機數的原罪與救贖

本文來自:碳鏈價值,作者:李畫,星球日報經授權轉發。生成隨機數不是應該留給人類來做的任務。——MadsHaahr區塊鏈的世界沒有真正的隨機數,但隨機數卻是區塊鏈游戲之魂,至少在目前階段.

1900/1/1 0:00:00
OIN:比特大陸現僅控制 2.78%BCH 全網算力,未“站隊”礦池或決定礦戰生死

對于那些推動比特幣現金加密貨幣供應的全球礦工網絡而言,在本周四進行的硬分叉之前,可能會采取不同的選擇.

1900/1/1 0:00:00
ads