買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

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簽名問題的話,那么就可以保證體驗是一致的,而且移動端錢包的好處是私鑰永遠保存在手機本地,安全性比瀏覽器的錢包或插件錢包的安全性都要好;其次用戶不需要安裝各種各樣的錢包來處理來自不同平臺交易。所以如何平衡安全和易用性,以及全平臺一致的體驗,是多平臺簽名方案需要解決的問題。這是我們目前看到的行業訴求,于是我們開始調研并且嘗試給出我們的解決方案。手機端掃碼方案

美股區塊鏈板塊普跌:美股區塊鏈板塊普跌。嘉楠科技跌超6%,Marathon Patent、Riot Blockchain跌超4%,Coinbase、Square跌超2%。[2021/6/26 0:07:06]

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

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

深市核心指數樣本股調整,神州信息被納入區塊鏈50指數:深圳證券交易所發布公告稱,根據指數編制規則,深圳證券交易所和深圳證券信息有限公司決定于2020年12月14日對深證成指、創業板指、深證100等指數實施樣本股定期調整。其中,以神州信息為代表的科技企業正式被納入“區塊鏈50指數”。(證券日報網)[2020/12/6 14:22:06]

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

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

動態 | 唐河污水庫污染治理與生態修復二期工程招標,項目內容需以區塊鏈等為基礎:金色財經報道,近日,中國雄安集團招標采購管理平臺發布了《唐河污水庫污染治理與生態修復二期工程施工招標資格預審公告(代招標公告)》。項目內容需充分考慮數字化、智能化的要求,以大數據和區塊鏈為基礎:全過程中產生的建筑信息模型(BIM)數據需統一接入新區城市信息模型(CIM)管理平臺;通過區塊鏈資金管理平臺進行本項目的全過程資金管理。[2020/1/22]

手機作為一個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

聲音 | 百度尹世明:區塊鏈等新的架構賦予了我們新的能力:由中央網信辦、工信部、部共同指導,廈門市人民政府主辦的中國人工智能峰會召開,百度尹世明表示,ABC+X的新型架構將會來帶新的應用,“所謂的 ABC+X ,A是人工智能、B是大數據、C是算力,X則是目前一些最熱的技術,比如邊緣計算、5G、IOT、區塊鏈。這個新的架構賦予了我們新的能力,把算力、數據、算法綜合在一起,整合X,提供了全新的應用開發平臺。基于此,可以有各種各樣的應用得以重新的開發,重新的設計,帶來新的效能。”(人民網)[2019/8/13]

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

聲音 | 海南省工信廳:重點培育區塊鏈等前瞻性業態:據海南日報消息,記者昨日獲悉,海南省工信廳將以更加開放化、國際化的思維,謀劃中國特色自貿港背景下的數字經濟發展方案,支持落戶的龍頭企業盡快壯大,形成集群,重點培育區塊鏈等前瞻性業態,早日把互聯網產業培育成 “千億元產業”。[2018/11/16]

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

依然在路上

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

Tags:APPDAPPDAP區塊鏈APPLEB價格Dapperdap幣是什么幣區塊鏈專業方向好就業嗎

比特幣價格
比特幣:印度監管趨緊,首個加密貨幣ATM遭突擊檢查_musiccoin

據Bangaloremirror消息,印度首個加密貨幣ATM服務亭在本周二受到的搜查,目前已經停止運營.

1900/1/1 0:00:00
比特幣:區塊鏈如何激勵非理性人類?是時候引入行為經濟學了_MIT

編者按:本文來自碳鏈價值,作者:EladVerbin、AlEsmail,編譯:MorphoHawkes、Diana,星球日報經授權發布.

1900/1/1 0:00:00
區塊鏈:高曉松談區塊鏈:人類最開始貨幣就是虛擬的_REALLIQ Token

可能看《曉說》的觀眾對高曉松的認知還停留在見多識廣的文化人、知識分子層面上,人們佩服他的才華。但實際上,無論是文化界,還是知識分子圈層,高曉松對前沿技術的觀察和思考,早就走到了大多數人的前面.

1900/1/1 0:00:00
加密貨幣:數字貨幣市場亟需托管破局_OIN

本文來自 鏈捕手, 作者:Frank、Joe,編輯:潘宇波,Odaily星球日報經授權轉載。資產托管對于一個規范化的金融市場重要性是不言而喻的,但在加密貨幣市場,大部分人都沒有充分意識到托管的重.

1900/1/1 0:00:00
穩定幣:干貨 | 從入門到精通教你寫出最牛白皮書_區塊鏈的四大核心技術

編者按:本文來自TritonPartners,作者:TritonPartners,Odaily星球日報經授權發布。代幣銷售,或者通常所說的首次代幣發行,正在成為數字經濟中越來越重要的一部分.

1900/1/1 0:00:00
APP:DAPP趨勢榜:像素大師涼了,占近9成交易額_eos幣柚子已經確定跑路

編者按:本文來自區塊律動BlockBeats,作者:0x2,Odaily星球日報經授權發布。從本周開始區塊律動BlockBeats恢復中斷數個月的DAPP排行榜的報道,報道將以周為單位,回顧過去.

1900/1/1 0:00:00
ads