Safe Network новини 🇧🇬 7.10.2021

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

Общ напредък

Няколко успешни отстранявания на грешки тази седмица. @Chriso постигна правилно работещи „CLI / API“ тестове, което означава, че комбинацията „sn_cli / sn_api / safe_network“ вече е повече или по-малко стабилна. Всъщност CLI-то и API-то вече са готови за обединяване в основното хранилище, което означава, че повече няма да има проблеми с комбинирането на съвместимите версии. :tada:

В тази връзка е фантастично да видим толкова много хора, които участват тестовете на общността. Браво на @josh за това, че го организира. Работеше за известно време, което е хубаво да се види, и най-важното, генерираните от него лог файлове са голяма помощ при намирането на грешки, така че благодарим за споделянето на актуализациите до тук!

@bochaco работи върху някои инструменти за отстраняване на грешки, които четат логовете на възлите, за да проверят дали всяко получено съобщение се обработва до завършване. При получаване на команда възелът трябва (а) да изпълнява инструкциите или (б) да връща грешка, но от време на време седи и не прави нищо, което (в) може да причини странни грешки или дори (г) ефективно да заключи възела. Използвайки този инструмент, ние проследихме и отстранихме някои възможни виновници и засега ситуацията изглежда много подобрена. Същият анализ може да се използва и за останалата част от търсенето на грешки в екипа, включително @yogesh и @qi_ma, които разследват подобни случаи на блокиране (безкрайни цикли), случващи се с вътрешни команди. Планираме да интегрираме този инструмент за проверка в процеса на CI.

Клиентът пише Разходната книга

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

В сегашните ни планове потокът изглежда така:

  • Клиентът създава запис в Разходната книга и го подписва с публичния си ключ
  • Клиентът изпраща подписания запис от Разходната книга до всичките 7 Старейшини в съответната секция
  • Старейшините записват този запис от Разходната книга в най-близките 3 Възрастни до неговия адрес
  • Седемте Старейшините от секцията подписват записа в Разходната книга със своя дял от BLS ключа и го връщат на клиента
  • При условие, че Клиентът получи поне 5 такива съобщения (свръх мнозинство), той комбинира частите на BLS ключовете, за да създаде Разходна книга, подписана с валиден ключ на секция. На този етап се нарича Spentproof
  • Клиентът вече може да поиска от старейшините (които също изпълняват ролята на монетни дворове) да преиздадат неговия DBC. Той изпраща DBC заедно с Spentproof обратно на Старейшините, които сега подписват преиздаването.

Този процес има много атрактивни характеристики: мрежата не участва в сложния процес за съхранение на състоянието (текуща информация за салдата по сметките и т.н.); Клиентът върши трудната работа; броят на съобщенията напред и назад е приемлив; и процесът трябва да бъде сравнително лесен за изпълнение без никакви големи реорганизации или преструктуриране.

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

Преводи:

: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/