Дэцэнтралізаванае сховішча LF пераведзена на адкрытую ліцэнзію

Даступны выпуск LF 1.1.0, дэцэнтралізаванага рэплікаванага сховішчы дадзеных у фармаце ключ/значэнне. Праект развіваецца кампаніяй ZeroTier, якая распрацоўвае віртуальны Ethernet-камутатар, які дазваляе аб'яднаць размешчаныя ў розных правайдэраў хасты і віртуальныя машыны ў адной віртуальнай лакальнай сеткі, удзельнікі якой абменьваюцца дадзенымі ў рэжыме P2P. Код праекту напісаны на мове Сі. Новы выпуск адметны пераходам на вольную ліцэнзію MPL 2.0 (Mozilla Public License).

Раней код LF быў даступны пад ліцэнзіяй BSL (Business Source License), якая не з'яўляецца свабоднай з-за дыскрымінацыі асобных катэгорый карыстальнікаў. Ліцэнзія BSL была прапанавана сузаснавальнікамі MySQL у якасці альтэрнатывы мадэлі Open Core. Сутнасць BSL у тым, што код пашыранай функцыянальнасці першапачаткова даступны для ўнясення змен, але на працягу нейкага часу можа прымяняцца бясплатна толькі пры выкананні дадатковых умоў, для абыходу якіх патрабуецца набыццё камерцыйнай ліцэнзіі.

LF з'яўляецца цалкам дэцэнтралізаванай сістэмай і дазваляе разгарнуць па-над адвольным лікам вузлоў адзінае сховішча дадзеных у фармаце ключ-значэнне. На ўсіх вузлах дадзеныя захоўваюцца ў сінхранізаваным стане, а ўсе змены цалкам рэпліцыруюцца паміж усімі вузламі. Усе вузлы ў LF роўныя паміж сабой. Адсутнасць асобных вузлоў, якія каардынуюць працу сховішча, дазваляе пазбавіцца ад адзінага пункта адмовы, а наяўнасць поўнай копіі дадзеных на кожным вузле выключае страту інфармацыі пры выхадзе са строю або адключэнні асобных вузлоў.

Для падлучэння да сеткі новага вузла не патрабуецца атрыманне асобных паўнамоцтваў - любы ахвочы можа запусціць свой вузел. Мадэль дадзеных у LF пабудавана на аснове арыентаванага ацыклічнага графа (DAG), які спрашчае сінхранізацыю і дазваляе ўжываць розныя стратэгіі дазволу канфліктаў і забеспячэння бяспекі. У адрозненне ад сістэм на аснове размеркаваных хэш-табліц (DHT), архітэктура IF першапачаткова разлічана на выкарыстанне ў ненадзейных сетках, сталая даступнасць вузлоў у якіх не гарантуецца. У якасці абласцей прымянення LF згадваецца стварэнне максімальна жывучых сістэм захоўвання, у якіх захоўваецца адносна невялікія аб'ёмы крытычна важных дадзеных, якія рэдка мяняюцца. Напрыклад, LF падыходзіць для сховішчаў ключоў, сертыфікатаў, параметраў ідэнтыфікацыі, файлаў канфігурацыі, хэшаў і даменных імёнаў.

Для абароны ад перагрузкі і злоўжыванняў прымяняецца абмежаванне інтэнсіўнасці аперацый запісу ў агульнае сховішча, рэалізаванае на аснове доказу выканання працы (proof of work) - каб атрымаць магчымасць захавання дадзеных удзельнік сеткі захоўвання павінен выканаць пэўную задачу, якая лёгка правяраецца, але патрабуе вялікіх рэсурсаў пры вылічэнні (аналагічна арганізацыі пашырэння сістэм на аснове блокчейна і CRDT). Вылічаныя значэнні таксама прымяняюцца ў якасці прыкметы пры вырашэнні канфліктаў.

У якасці альтэрнатывы ў сетцы можа быць запушчаны які сведчыць цэнтр для выдачы ўдзельнікам крыптаграфічных сертыфікатаў, якія даюць права даданні запісаў без пацверджання працай і падаюць прыярытэт пры дазволе канфліктаў. Па змаўчанні сховішча даступна без абмежаванняў для падлучэння любых удзельнікаў, але апцыянальна на аснове сістэмы сертыфікатаў могуць стварацца адгароджаныя прыватныя сховішчы, удзельнікамі якіх могуць стаць толькі вузлы, завераныя ўладальнікам сеткі.

Асноўныя асаблівасці LF:

  • Прастата разгортвання свайго сховішча і падлучэнні да існых публічных сетак захоўвання.
  • Адсутнасць адзінага пункта адмовы і магчымасць уцягвання ў падтрыманне сховішча ўсіх жадаючых.
  • Высокая хуткасць доступу да ўсіх дадзеных і магчымасць звароту да дадзеных, якія застаюцца на сваім вузле, нават пасля парушэння сеткавай складнасці.
  • Універсальная мадэль бяспекі, якая дазваляе камбінаваць розныя механізмы вырашэння канфліктаў (лакальная эўрыстыка, вага на аснове выкананай працы, улік узроўню даверу іншых вузлоў, сертыфікаты).
  • Гнуткі API для запыту дадзеных, які дапускае ўказанне некалькіх укладзеных ключоў або дыяпазонаў значэнняў. Магчымасць прывязкі некалькіх значэнняў да аднаго ключа.
  • Усе дадзеныя захоўваюцца ў зашыфраваным выглядзе, уключаючы ключы, і верыфікуюцца. Сістэма можа выкарыстоўвацца для арганізацыі захоўвання канфідэнцыйных дадзеных не вартыя даверу вузлах. Запісы, ключы да якіх не вядомыя, не могуць быць вызначаны метадам перабору (не ведаючы ключ немагчыма атрымаць злучаныя з ім дадзеныя).

З абмежаванняў адзначаецца арыентацыя на захоўванне невялікіх рэдка зменлівых дадзеных, адсутнасць блакаванняў і гарантаванай узгодненасці дадзеных, высокія патрабаванні да CPU, памяці, дыскавай прасторы і прапускной здольнасці, сталае павелічэнне памеру сховішчы са часам.

Крыніца: opennet.ru

Дадаць каментар