През последните няколко седмици разглеждахме перспективата за актуализация на 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 контейнера тук.
Преводи:
English Russian ; German ; Spanish ; French
- Официален сайт на Safe Network
- Обобщено представяне на Safe Network
- Safe Network Фундаменти
- Карта на проекта
- Подробна информация може да намерите както винаги във форума на международната общност: Safe Network Forum
- Ако имате въпроси може да ги зададете във Facebook групата на българската Safe общност: Redirecting...
- Ако искате да следите последните новини заповядайте във Facebook страницата на Safe Network България: Safe Network България