基於開放數據原則的信息環境

基於開放數據原則的信息環境

所提出的資訊環境是一種去中心化的社會網絡。但與許多現有解決方案不同的是,除了去中心化之外,該環境還具有許多有用的屬性,並且是在相當簡單和標準的技術解決方案(電子郵件、json、文字檔案和一點區塊鏈)的基礎上創建的。這使得任何具有基本程式設計知識的人都可以為此環境創建自己的服務。

通用ID

在任何線上環境中,使用者和物件識別碼是系統的關鍵元素之一。

在這種情況下,使用者識別碼是電子郵件,它實際上已成為網站和其他服務上授權的普遍接受的識別碼(jaber、openId)。

事實上,給定線上環境中的使用者識別碼是登入名稱+網域對,為了方便起見,以大多數人熟悉的形式編寫。同時,為了更大程度的去中心化,建議每個使用者擁有自己的網域。這接近 indieweb 的原則,其中使用網域作為使用者識別碼。在我們的例子中,使用者在他的網域中添加了一個暱稱,這允許他在一個網域上建立多個帳戶(例如,為朋友),並使尋址系統更加靈活。

此使用者 ID 格式不依賴任何網路。如果使用者將其資料放在 TOR 網路上,那麼他可以使用 .onion 區域中的網域;如果這是在區塊鏈上具有 DNS 系統的網絡,則可以使用 .bit 區域中的網域。因此,尋址使用者及其資料的格式不依賴傳輸它們的網路(到處都使用登入+網域組合)。對於想要使用比特幣/以太坊地址作為標識符的人,您可以修改系統以使用以下形式的偽電子郵件地址 [email protected]

尋址對象

這個線上環境實際上是一組以結構化、機器可讀形式描述的對象,引用其他對象並與特定使用者(電子郵件)或項目/組織(網域)相關聯。

urn:opendata 命名空間中的 urn 用作物件標識符。例如,使用者個人資料的地址如下:

urn:opendata:profile:[email protected]

用戶評論的地址如下:

urn:opendata:comment:[email protected]:08adbed93413782682fd25da77bd93c99dfd0548

其中 08adbed93413782682fd25da77bd93c99dfd0548 是充當物件 ID 的隨機 sha-1 哈希,並且 [電子郵件保護] — 該物件的擁有者。

使用者資料發布原理

控制自己的網域後,使用者可以輕鬆發布他的資料和內容。與 indiebeb 不同的是,這不需要創建具有內建語義資料的 html 頁面的網站。

例如,有關使用者的基本資訊位於文件 datarobots.txt 中,該文件位於以下地址

http://55334.ru/[email protected]/datarobots.txt

它有這樣的內容:

Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/[email protected]/delegete.txt

也就是說,實際上它是一組具有鍵->值形式的資料的字串,對於任何具​​有基本程式設計知識的人來說,解析這都是一個簡單的任務。如果您願意,您可以使用常規記事本編輯資料。

更複雜的資料(個人資料、評論、貼文等)有自己的 urn,使用標準 API (http://opendatahub.org/api_1.0?lang=ru) 作為 JSON 物件發送,這可以位於使用者的網域以及使用者委託儲存、發布和編輯其資料的第三方網站上(在datarobots.txt 檔案的Services-Enabled 行中)。此類第三方服務如下所述。

簡單本體和 JSON

與產業知識庫的本體相比,通訊環境的本體相對簡單。由於在通訊環境中存在相對較小的一組標準物件(貼文、留言、按讚、個人資料、評論)以及相對較小的屬性集。

因此,在這樣的環境下描述對象,使用 JSON 就足夠了,而不是使用結構和解析更複雜的 XML(重要的是不要忘記需要較低的入門門檻和可擴展性)。

若要取得已知 urn 的對象,我們需要聯絡使用者的網域或使用者已委託管理其資料的第三方服務。

在此線上環境中,存在線上服務的每個網域也有自己的 datarobots.txt,位於 example.com/datarobots.txt 等位址,具有類似的內容:

Object: service
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0

從中我們可以了解到,我們可以取得有關地址處的物件的數據,例如:

http://newethnos.ru/api?urn=urn:opendata:profile:[電子郵件保護]

JSON 物件具有以下結構:

{
    "urn": "urn:opendata:profile:[email protected]",
    "status": 1,
    "message": "Ok",
    "timestamp": 1596429631,
    "service": "example.com",
    "data": {
        "name": "John",
        "surname": "Gald",
        "gender": "male",
        "city": "Moscow",
        "img": "http://domain.com/image.jpg",
        "birthtime": 332467200,
        "community_friends": {
            "[email protected]": "1",
            "[email protected]": "0.5",
            "[email protected]": "0.7"
        },
        "interests_tags": "cars,cats,cinema",
        "mental_cards": {
            "no_alcohol@main": 8,
            "data_accumulation@main": 8,
            "open_data@main": 8
        }
    }
}

服務架構

第三方服務對於簡化最終用戶發布和搜尋資料的過程是必要的。

上面提到的是幫助用戶在網路上發布其資料的服務類型之一。可能有許多類似的服務,每個服務都為使用者提供了一個方便的介面來編輯一種類型的資料(論壇、部落格、問答等)。如果使用者不信任第三方服務,那麼他可以在自己的網域上安裝資料服務腳本或自行開發。

除了允許用戶發布/編輯資料的服務之外,線上環境還提供了許多其他服務,這些服務執行相對複雜的任務,而這些任務在最終用戶節點上實現起來相當困難。

此類服務的一種類型是資料中心( opendatahub.org/ru - 範例),充當網路存檔,收集所有公共機器可讀使用者資料並透過 API 提供對其的存取。

在這樣一個開放、去中心化的線上環境中提供服務,大大降低了使用者的進入門檻,因為無需安裝和配置自己的節點。同時,使用者仍然可以控制他的資料(他可以隨時更改資料發布所委託的服務或建立自己的節點)。

如果使用者對擁有自己的資料根本不感興趣,並且沒有自己的網域或熟悉該網域的人,那麼預設情況下,他的資料由 opendatahub.org 管理。

這一切的代價是誰的?

也許幾乎所有此類去中心化項目的主要問題是無法將其貨幣化到足以穩定發展和支持的水平。

捐贈 + 代幣用於支付此線上環境中的開發和行銷成本。

使用者對內部項目/服務的所有捐贈都是公開的、機器可讀的並連結到電子郵件。這使得它們可以被考慮在內,例如,在計算線上社交評級並在使用者頁面上發佈時。當捐款不再是匿名時,實際上使用者不再捐款,而是「捐款」以支持一般資訊環境。就像人們捐錢修理公共區域一樣,以適當的態度對待那些拒絕捐錢的人。

除了捐款之外,為了籌集資金,還使用了限量發行的代幣(400.000 萬個),這些代幣獎勵給所有向主要基金(民族起源)捐款的人。

額外的代幣功能

每個令牌都是存取此線上環境的「鑰匙」。也就是說,只有當您擁有至少 1 個與電子郵件綁定的令牌時,您才可以使用服務並成為線上環境的一部分。

由於其有限的性質,令牌是一個很好的垃圾郵件過濾器。系統中的使用者越多,獲得代幣就越困難,創建機器人的成本也越高。

人、他們的數據和社交關係比科技更重要

所描述的線上環境在技術上是一個相對原始的解決方案。但其中更重要的並不是技術,而是在人以及環境中創造的社會連結和數據(內容)。

創建的社交社區,其成員擁有自己的通用標識符(電子郵件和自己的域名)和結構化數據(具有URN地址、本體和JSON對象),當出現更好的技術解決方案時,可以將所有這些資料轉移到另一個線上環境,同時保持已形成的聯繫(收視率、收視率)和內容。

這篇文章描述了網路自組織社群的要素之一,除了去中心化的線上環境之外,還包括許多線下區域,這些區域增加了線上環境的好處,並且是在很大程度上決定其功能的“客戶”。但這些是與 IT 和技術不直接相關的其他文章的主題。

來源: www.habr.com

添加評論