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