區(qū)塊鏈可以建立一種可信的位置服務(wù)
經(jīng)過(guò)了多次失敗才明白需求不可能被創(chuàng)造,只能被發(fā)現(xiàn),同樣我們不應(yīng)該問(wèn)區(qū)塊鏈可以做什么,應(yīng)該是什么業(yè)務(wù)更適合區(qū)塊鏈,先確定需求再找匹配的技術(shù)實(shí)現(xiàn)
近期去了趟藏區(qū),除了風(fēng)景和極端的氣候讓我印象深刻外,更多是微信上的朋友問(wèn)我在哪,我只好拍照截圖給他們看。這讓我產(chǎn)生了一個(gè)思考,拍照截圖,包括位置共享是否是一種可信的位置服務(wù)?
我們知道目前的位置服務(wù)主要依賴于GPS/AGPS等服務(wù),對(duì)于了解操作系統(tǒng)的人都知道,我們可以偽造一個(gè)本機(jī)GPS服務(wù)接口,輕易修改應(yīng)用程序獲得的位置數(shù)據(jù),以前有大量營(yíng)銷程序使用這一技術(shù),比如利用QQ和微信周邊的人,滿世界發(fā)廣告;通過(guò)偽造位置數(shù)據(jù),當(dāng)年網(wǎng)約車的刷單服務(wù)等。
那么有沒(méi)有可能建立一種可信的位置服務(wù)呢,我自然聯(lián)想到區(qū)塊鏈技術(shù)了,今天和朋友們做一個(gè)簡(jiǎn)單的探討,由于沒(méi)有系統(tǒng)的思考,所以頂多算一個(gè)頭腦風(fēng)暴。
我的思路是這樣的,首先不要考慮一定要去中心化硬往區(qū)塊鏈上靠,只考慮可信位置服務(wù)需要哪些要素。一般來(lái)講應(yīng)該包含以下兩點(diǎn):
1、服務(wù)端數(shù)據(jù)可信服務(wù)
2、客戶端數(shù)據(jù)不可篡改
以目前的GPS服務(wù)來(lái)講,需要接收到3顆衛(wèi)星數(shù)據(jù)可以定位經(jīng)緯度,4顆衛(wèi)星數(shù)據(jù)可以確定高度。我們可以考慮為每顆衛(wèi)星的廣播數(shù)據(jù)進(jìn)行簽名,以確定你接受的信號(hào)的確屬于這個(gè)衛(wèi)星發(fā)出,解決服務(wù)端數(shù)據(jù)可信問(wèn)題。
對(duì)于客戶端數(shù)據(jù)不可篡改問(wèn)題,應(yīng)當(dāng)分為兩部分來(lái)看,一部分是數(shù)據(jù)自用,這部分完全可以不考慮篡改問(wèn)題,因?yàn)閺臉I(yè)務(wù)上講沒(méi)有必要;另一部分就是前文說(shuō)到的當(dāng)客戶端需要分享當(dāng)前位置時(shí),我們需要防止數(shù)據(jù)篡改問(wèn)題,客戶端在分享數(shù)據(jù)時(shí)應(yīng)該將獲取到的原始衛(wèi)星信號(hào)同時(shí)分享出去,解決數(shù)據(jù)偽造問(wèn)題,獲得位置分享的接收方可以通過(guò)位置驗(yàn)證服務(wù)確認(rèn)信號(hào)的真實(shí)性。
下面我們就可以利用區(qū)塊鏈的時(shí)序特性了,當(dāng)客戶端共享位置數(shù)據(jù)時(shí)可以記錄到區(qū)塊鏈中,可信位置服務(wù)可以要求客戶端以小時(shí)為單位上傳一次位置數(shù)據(jù),由于人類的活動(dòng)區(qū)域受到物理限制,地面最大移動(dòng)距離目前不超過(guò)800公里/小時(shí)(商業(yè)航線速度),利用區(qū)塊鏈不可篡改和時(shí)序的特性,這樣我們得到一個(gè)客戶端連續(xù)位置鏈條,通過(guò)計(jì)算鏈上每個(gè)時(shí)序點(diǎn)的衛(wèi)星數(shù)據(jù)簽名和相鄰點(diǎn)之間的時(shí)序距離可以驗(yàn)證客戶端共享的數(shù)據(jù)是否被人為篡改,任何人可以通過(guò)公布的鏈上數(shù)據(jù)驗(yàn)證某個(gè)客戶端共享的數(shù)據(jù),這算不算一個(gè)誠(chéng)信社會(huì)的基礎(chǔ)服務(wù)呢?
由于時(shí)間有限,我只是把我簡(jiǎn)單的思考寫(xiě)了下來(lái)供朋友們品評(píng),寫(xiě)到這里的時(shí)候我覺(jué)得這個(gè)方法過(guò)于復(fù)雜了,復(fù)雜的方法肯定不是最好的解決方案,目前GPS廣播數(shù)據(jù)需要簽名工作量太大,可以先簡(jiǎn)單的把位置數(shù)據(jù)上傳到區(qū)塊鏈上,形成不可更改記錄,在通過(guò)位置距離和時(shí)間的關(guān)系進(jìn)行驗(yàn)證,簡(jiǎn)單實(shí)現(xiàn)數(shù)據(jù)篡改。
正如摘要所說(shuō),需求是無(wú)法被創(chuàng)造出來(lái)的,至于區(qū)塊鏈能干什么,首先要看你是否發(fā)現(xiàn)了未被滿足的需求,用技術(shù)導(dǎo)向業(yè)務(wù)會(huì)走向極端。