
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用于在巴塞尔大学的计算机科学学士学位和硕士学位上教授分布式编程概念和技能。
(请参阅各自的文件夹)