IOTA 區域碼 — 一個能讓交易附帶地理資訊的提案

IOTA 是一個非常有彈性的協議(protocol),也因為這個原因它可以被應用到許多用途上。最常見的應用就是用 IOTA 原生的貨幣進行價值的交換(也就是拿 IOTA 進行交易)。然而,IOTA 可以很簡單的透過在底層協議上建立其他標準,去拓展它的用途。像 掩碼認證消息(MAM) 和 閃電頻道(Flash Channels) 就是兩個最好的例子。

今天,我們要提出另一個新的標準,這個標準可以讓基於 IOTA 的應用能夠根據地理位置去被架構。

介紹 IOTA 區域碼 (IACs,IOTA Area Codes)

簡單來說 IACs 是以三進位編碼的地區編碼(location codes),這個地區編碼可以被用在標記或者取得相關特定地點的 IOTA 交易。IACs 通常是 10 個 trytes 的長度,其所能代表的是一個 13.5x13.5 平方公尺大小在赤道的區域。然而 IACs 也可以是 11 個 trytes 的長度,這可以代表 2.8x3.5 平方公尺的方格。

IACs 是直接複製 Open Location Codes 也被稱作 Plus Codes,這是 Google Zurich 在 2014 年所提出的。但還是有做稍許的更動讓他能夠和 IOTA 的編碼相容。

為什麼這編碼很強大?

當發布消息在 IOTA 上時(透過交易),現在並沒有可以簡單驗證交易所在的地理位置的方法。但這些交易可能包含了在地服務的廣告、感測器資料或者其他各種資料。

為了要讓交易能夠地點有關(交易中包含位置訊息),使用者必須透過中心化服務比如說像資料市集(data marketplace)發布交易,這種服務會收集位置資料並且提供給服務使用者。

IACs 在 IOTA 交易的 tag (標籤)欄位 27 tryte 的前 11 tryte。透過使用 IACs 我們可以把 IOTA 交易定位在 2.8x3.5 平方公尺的區域內。這讓人們可以找到在一個小的地區內所發布的交易。然而這個系統的實際值,會取決絕於查詢大範圍地區相關交易的能力。

查詢大面積資料

原始的 Open Location Codes 協議能夠透過 5 對字元準確的代表地球上的地點。每一對字元代表 400 倍精度的放大。地區編碼必須用一串字元對表示,而不是一個唯一的編碼,有一個另外的作用,我們能夠調整定位精度透過由右至左移調字元對。這讓我們能用更有效率的方式儲存和查詢資料。

所以如果查詢符合 IAC格式 tag 的前 4 個 tryte,我們可以將交易定位在 100x100 平方公里的範圍內。

例子: 透過查詢所有 NPHT 開頭的 tag ,我們可以查到涵蓋柏林和一部份波茨坦的 100x100 平方公里區域。接著用這 6 個 tryteNPHTQO ,我們可以看到一些柏林中間和北邊的交易。

例子

今天我們已經發布了可以編碼和解碼地理資料的函式庫。跟著函式庫憶起發布的是 Martyn Janes 做的一個完善的展示。這個展示允許你做下面這幾件事情:

  • 創造和轉換 IACs
  • 在 Devnet 上發布 IAC 訊息
  • 用萬用字元(wildcard)搜尋所有在 Devnet 上的 IAC 交易
  • 及時監聽地圖上的 IAC 交易

示範應用: https://iota-poc-area-codes.dag.sh/

GitHub 函式庫: https://github.com/iotaledger/iota-area-codes

NPM Repo: https://www.npmjs.com/package/@iota/area-codes

下一步是什麼?

IACs 是為了成為社群的催化劑。這個現行格式的標準雖然已經可以使用了但是還是可以進行改善。我們歡迎您逛逛 Github,並且協助我們改善程式碼,或者提供範例。

翻譯自:https://blog.iota.org/iota-area-codes-a-proposal-to-geo-tag-iota-transactions-d3c457d1df1b

专栏作者:杨皓

个人简介:我共发表了 2 篇文章,总计被阅读了1,149 次,共获得了 17 个赞。

作者邮箱 作者主页 Ta的文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注