
Tinyssb是安全ScuttleButt(SSB)https://scuttlebutt.nz/的一種變體,這是實施分佈式應用程序的根本分散方法。簡而言之,使用SSB,我們獲得了“無服務器的社交媒體”。 TINYSSB具有相同的作用,但由於其微小的數據包的大小為120B,因此能夠在約束環境中工作。
SSB的核心是單身人工附加的日誌,這些日誌在隨意和最佳基礎上複製。最終,對日誌的所有更新都將觸及有關各方,他們可以驗證每個更新的真實性和完整性。這也適用於輔助逆轉器,使任何SSB感知實體都具有轉發鏈中的潛在鏈接。任何復制方式都是可以的,可以是藍牙低能,互聯網協議,USB棒或在紙上打印的數據,集中收集和派遣,或者簡單地使用八卦協議:一切順利!
每個僅附加日誌都是無瑣事的無衝突複製數據類型(CRDT)。一組僅附錄日誌也是CRDT。最好將CRDT理解為虛擬的(因為分佈式)數據,其中本地站點保留副本並可以對此副本採取行動。 CRDT的設計使得任何局部修改都會導致發送給其他復製品的更新消息中的任何更新消息:如果正確攝入這些更新,所有副本將收斂到相同的共享狀態,而無需任何中央實體,都必須介入或幫助。用CRDT編寫分佈式應用程序需要仔細的設計,但在無限制的寬恕性方面具有巨大的獎勵,在設備離線時繼續工作的應用程序中,因為所有更新在設備重新連接時都無縫合併到其他復製品中。去分散!
TINYSSB繼承了經典SSB的核心概念,即具有簽名條目的僅附加日誌,加密套件等。 Tinyssb的新穎性在於其
數據包格式已經非常小,即120個字節。關鍵是要在稀缺的帶寬和存儲資源的挑戰環境中使用TINYSSB。
TINYSSB在藍牙低能(BLE),遠程無線電(LORA)上運行,甚至將來甚至在業餘無線電頻段的短波上奔跑,從電離層彈跳。嵌入式設備的功能足夠強大,可以處理這些數據包,並且可以很好地服務於廉價的轉發器。
在更高級別上,Tinyssb和SSB上的分佈式應用程序的設計是相同的 - 這是一個CRDT世界。
Tinyssb用於在巴塞爾大學的計算機科學學士學位和碩士學位上教授分佈式編程概念和技能。
(請參閱各自的文件夾)