Safe Network новини 🇧🇬 2.9.2021

През последните няколко седмици разглеждахме перспективата за актуализация на Safe икономиката и имаме удоволствието да ви представим преглед на сегашното си мислене относно сертификатите за цифрови носители (DBC). Все още има няколко топки във въздуха с надписи „еднократни ключове“ и „деноминации“, но определено се насочваме към работещо решение, което ще бъде бързо, лична собственост и сигурно.

Както при много други Safe иновации, целите на DBC са опростеността и принуждаването на клиента да свърши работата, когато е възможно - което обикновено е едно и също нещо. Искаме да избегнем необходимостта от съхраняване на състоянието (например салда по сметки) в мрежата, или да прибегнем до условна логика, защото и двете създават сложност. Вместо това въвеждаме Анти-Ентропия (АЕ) в много комуникации, където потокът е: try -> success (carry on) | fail (retry), докато следенето на състоянието е работа на клиента.

Знаем, че всички искаме да изцапаме ръцете си отново с нова тестова мрежа, но за да си заслужава, искаме да се уверим, че мрежата е стабилна с множество секции и че AE работи правилно навсякъде.

Общ напредък

Опитваме се да намерим прекъсващ проблем, при който виждаме различни Старейшини в секция да получават различни съобщения от един и същ възел (това не трябва да се случва) и/или избираме различни Възрастни за съхранение на една и съща част. Също така Старейшините понякога записват данни, което е работа на Възрастните. @Qi_Ma и @lionel.faber разглеждат тези аномалии в съобщенията.

Натиснахме внедряването на AE към клиента, като @bochaco и @yogesh водят в тази задача. Все още има някои неприятни проблеми и @lionel.faber помага с отстраняването на грешки в AE на клиента и вече е идентифицирал една от причините за аномалното поведение, при което Старейшини имат различни ключове за секциите.

@oetyng завърши преструктурирането на самокриптирането (което сега е обединено в общия клон) и също така работи върху преструктурирането на начина, по който се обработват парчетата данни.

И @danda разглежда въпроса за деноминациите на DBC: при избора на деноминации за нашата валута, какви стойности трябва да изберем и защо? Това, което изглежда достатъчно прост въпрос, всъщност включва някои интересни компромиси между ефективността на мрежата и използваемостта за хората.

Преглед на DBC

DBC е уникален „цифров ваучер“, който има стойност поради факта, че е доказано издаден от доверен монетен двор като част от икономическа система. За да похарчите DBC, трябва да го преиздадете от монетен двор. Монетният двор може да вземе вашия DBC и да го преиздаде като два или повече нови DBC, ако желаете (напр. плащате в магазин, а рестото се връща към вас), а множество DBC могат да бъдат преиздадени като един единствен DBC.

Важното за нас е, че DBC осигуряват бърз, безопасен и гъвкав начин за извършване на плащания, който е съвместим с криптографията с множество подписи и може да се използва онлайн и офлайн. Те опростяват много аспекти на икономиката на Safe мрежата.

Текущото състояние на нещата

Понастоящем нашата DBC система включва следното:

Разделяне (Sharding): Монетния двор е разделен на части, така че всяка секция е отговорна за преиздаване само на определени DBC, определени от името/id-то на DBC.

Децентрализирани монетни възли: В рамките на секция отделни възли от монетния двор (Старейшини) работят автономно, без координация. Клиент, изпълняващ операция за преиздаване, трябва да получи ReissueShare от свръх мнозинство от възли за преиздаване (поне 5 от 7). Всеки ReissueShare съдържа BLS SignatureShare. Клиентът комбинира тези SignatureShare, за да получи пълен подпис. Клиентът добавя този Подпис към съдържанието на DBC, за да образува цялостен DBC, готов за харчене.

Собственост на DBC: Всеки DBC има собственик, идентифициран с PublicKey. Това позволява на DBC да се съхраняват и прехвърлят в чист текст, без никой да ги открадне. Монетният двор проверява дали собственикът е подписал правилно всеки входен DBC, когато той се изразходва (преиздава се).

Скриване на суми: Сумите в DBC са скрити, така че само изпращачът и получателят могат да ги знаят. Дори възлите от монетния двор не могат да видят сумата. И все пак монетният двор може да провери дали сумата на входните DBC съвпада със сумата на изходните DBC чрез използването на поети Pedersen ангажименти и защитни обхвати (бронезащитни).

Разходна книга: Всеки възел в монетния двор записва в Разходна книга. По време на всяко преиздаване възелът на монетния двор първо ще провери дали всички входни DBC не са вече в Разходната книга (не са изразходвани) и че всички подписи и изходи са правилни. След това той записва всеки вход като изразходван в Разходната книга. В идеалния случай искаме да преместим тази работа към клиента, вижте по-долу.

Бъдещи подобрения

Все още търсим къде можем да подобрим DBC системата и обмисляме следното:

Еднократни ключове: Монетните възли ще наложат, че всеки публичен ключ може да се използва само в една транзакция за повторно издаване. Това може да помогне за поверителността, тъй като предотвратява използването на ключове при множество транзакции.

Клиентът пише в Разходната книга: При тази настройка клиентът ще напише записи в Разходната книга, преди да се свърже с монетарния двор. Ползата от това е, че извикването за преиздаване става идемпотентно, което означава, че клиентът може да направи едно и също повикване за преиздаване много пъти и всеки път да получава един и същ отговор.

Слепи подписи: Това ще ни донесе истински сертификат за „приносител“ без собственик. Или иначе казано чиста форма на непроследим дигитален кеш.

Публична разходна книга: Публичното обявяването на разходната книга се счита за желателно/необходимо за обществеността да извърши одит на паричните наличности, т.е. да провери дали не са създадени допълнителни пари чрез измама/кражба, или поради бъгове/грешки.

За всеки, който се интересува от по-задълбочена информация, нашият DBC код е в sn_dbc контейнера тук.

Преводи:

:uk: English :ru: Russian ; :de: German ; :es: Spanish ; :fr: French

  • Подробна информация може да намерите както винаги във форума на международната общност: Safe Network Forum
  • Ако имате въпроси може да ги зададете във Facebook групата на българската Safe общност: https://www.facebook.com/groups/SafeNetworkBulgaria/
  • Ако искате да следите последните новини заповядайте във Facebook страницата на Safe Network България: https://www.facebook.com/SafeNetworkBulgaria/