Safe Network новини 🇧🇬 9.11.2023

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

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

Плащането само на един възел също опростява роялти плащанията. Плащане на пет възела означава, че пет отделни съобщения за възнаграждения се излъчват за една и съща част, която след това трябва да бъде дедупликирана от получаващите възли. Това се усложнява от факта, че тези CashNoteRedemptions са криптирани. Използването на един възел опростява това много. В допълнение, тези клюкарски съобщения вече не е необходимо да бъдат криптирани (без загуба на сигурност), така че въвеждаме това сега.

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

На самия GossipSub направихме проверката по-строга за тестване. Вместо просто да очакваме минимален брой съобщения, сега проверяваме за точния им брой.

PR на @southside за подобряване на изходите за регистриране вече е в кодовата база. Благодарим и на @loziniak за PR за клониране на „ClientRegister“. :palms_up_together:

Сега оставяме на @anselme, за да ни преведе как работят плащанията.

Плащания в Safe мрежата

Това е обобщение на това как плащаме за данни в Safe мрежата, както и въведение в паричните преводи като цяло.

Трансфери

Преди да навлезем в плащанията за данни, нека първо разберем как работят основните трансфери. Всеки в Safe мрежата, както клиенти (приложения за портфейл, Safe CLI и т.н.), така и възли (съхранение на данни) имат двойка публични/частни ключове. Публичният ключ (известен още като „MainPublicKey“) се използва за получаване на токени. Това е еквивалентно на биткойн или ethereum адреси. Частният ключ (известен още като „MainSecretKey“) се използва за подписване на транзакции и доказване на собственост върху пари.

Ето как изглежда MainPublicKey:

93d01b3c6c0d41c4e50c855c753f906ba478f97a838415e6d74615a4b037a7101e724f935727bbf23d17293ab74a3027

Можете да получите свой собствен с командата: safe wallet address

Парите в портфейла се съхраняват като CashNotes. Те са като проверка за дадена стойност. Те съдържат цялата необходима информация за собственика, за да изразходва стойността в тях, но нямат стойност сами по себе си, тъй като са безполезни без частния ключ.

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

Вместо това подателят създава много малки CashNoteRedemptions, които съдържат минимално необходимата информация, от която получателят се нуждае, за да потвърди транзакцията и да създаде отново своя собствена CashNote от своя страна.

Тези „CashNoteRedemptions“ са криптирани и опаковани в превод, който се изпраща директно до получателя. След това получателят на превода може да го декриптира с помощта на своя MainSecretKey, да провери и изгради отново CashNotes, преди да ги добави към своя портфейл. В този момент прехвърлянето е завършено!

Можете да изпратите превод с: safe wallet send <amount> <to>

Пример: safe портфейл изпрати 42 93d01b3c6c0d41c4e50c855c753f906ba478f97a838415e6d74615a4b037a7101e724f935727bbf23d17293ab74a3027

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

Те могат да го получат с: safe wallet receive <transfer>

Плащания за данни

Данните в Safe мрежата се заплащат за съхранение от същите тези трансфери.

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

Възлите в мрежата също имат NetworkAddress. Данните се съхраняват на възлите, които имат най-близкия NetworkAddress до самите данни. Ето защо казваме, че данните са адресируеми по съдържание.

Чрез запитване до мрежата клиентът може да получи най-близките възли до NetworkAddress. След като ги знаем, първо изпълняваме заявка „StoreCost“, за да поискаме цената за съхранение на данни на това място. Цената зависи от капацитета за съхранение на възлите, който в крайна сметка зависи от търсенето.

След като знаем StoreCost, можем безопасно да изпратим данните заедно с трансфера, плащайки за тях. При получаване на данните възлите проверяват прехвърлянето, приемат плащането, проверяват самите данни и ги съхраняват.

safe files upload some_file

Заедно с този трансфер се изпраща още един малък трансфер: NetworkRoyalties, Те се изпращат до пул и помагат за поддържането на мрежата жива. Когато получават плащания за данни, възлите се уверяват, че тези „NetworkRoyalties“ също са валидни, преди да съхранят данните.

Всичко това се прави автоматично, когато качвате данни с помощта на CLI:

safe files upload some_file

Общ напредък

@chriso приключи работата по обещаващо WinSW разширение за мениджър на услуги, което да помогне с управлението на възли за Windows и изпрати PR за него.

@roland Изпрати PR за възобновяване на CLI качванията при множество изпълнения. Това съхранява парчета локално и ги премества/премахва, след като бъдат платени/проверени. Той също така преработи кодовата база, за да пусне RPC клиента като двоичен файл, за да коригира някои грешки при testnet внедряването.

Няколко членове на екипа проучват механизма за изплащане на авторски права на възли на Фондацията, както е описано по-горе, включително @bochaco, @bzee и @qi_ma.

@qi_ma също така създаде PR, за да избегне дублирана хеш работа, като се възползва максимално от последните промени в libp2p.

@jimcollinson разглежда какво е необходимо за MVP стартиране, с акцент върху on-ramps и off-ramps за мек старт.

И @joshuef изготвя списък с приоритети на оставащата техническа работа, преди да влезем в бета.


Преводи:

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

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