19 април 2024 г

Криптовалута GRAM в блокчейна на Telegram Open Network (TON)

Криптовалута GRAM в блокчейна на Telegram Open Network (TON)

Сергей Прилуцки, известен блокчейн експерт, ръководител на изследователския отдел в MixBytes и проекта SmartZпо време на Telegram Eventing сподели подробна информация за проекта на Павел Дуров TON.

Данните са получени след проучване на класифицирана информация за текущото състояние на развитието на TON и ще бъдат интересни не само за специалисти, но и за широк кръг потенциални инвеститори.

Публична информация

Финансирането за разработването на проекта TON бешесъбрани по време на два кръга на затворени ICO. Благодарение на това беше възможно да се съберат 1,7 милиарда долара инвестиции, минималният размер на дяла беше 20 милиона долара, около 100 инвеститори взеха участие в ICO, сред които беше Роман Абрамович.

Криптовалута GRAM в блокчейна на Telegram Open Network (TON)

</ P>

Целият обем на вътрешната криптовалута на проекта ще бъде издаден незабавно и ще възлиза на 5 милиарда GRAM монети. След стартирането на проекта, ICO жетони от инвеститори ще бъдат заменени за монети в съотношение 1 към 1.

Технически характеристики на блокчейн TON

В мрежата TON консенсусът се осигурява от специалнивалидаторски възли, които получават комисионна за своите услуги. Нещо подобно е реализирано в протокола Ripple. Автентичността на транзакцията се потвърждава с помощта на алгоритъма BFT (задача на византийските генерали).

Криптовалута GRAM в блокчейна на Telegram Open Network (TON)

</ P>

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

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

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

Разработчиците на TON нарекоха тази идея „Безкрайно нарязване“. Подобната структура на blockchain дава възможност не само за лесно споделяне на парчета, но и за автоматично поправяне на повредени зони.

Информация за изследване на екосистемата TON

Сергей Прилуцки проведе дълбокопроучване на проекта TON, по време на което се появиха интересни характеристики на новия проект. По-долу предлагаме да се запознаем с подробна информация за структурата и характеристиките на платформената платформа Telegram Open Network (TON).

Идеята за безкрайното заточване

Основната концепция на платформата TON е съобщението. Потребителят може да го изпрати извън блокчейна до адреса на всеки системен акаунт. Такава процедура причинява създаването на съобщение до други мрежови акаунти. Освен това състоянието на отделна сметка може да се представи под формата на собствена блокчейн (accountchain). По своята същност е хранилище на входящи и изходящи съобщения.

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

Много шейдърс се обединяват в работеща верига(Workchain), друга структура на блокчейн, поради същия префикс в неговия адрес. От своя страна всички работни вериги образуват една главна верига, която е общата блокчейна за TON мрежата. Нека се спрем по-подробно на тези структури.

Masterchain

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

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

Управлението на Masterchain се основава на системни интелигентни договори, които съдържат такива глобални параметри:

  • Общият брой и други характеристики на монетата GRAM.
  • Списък на валидаторните възли, параметри на техния дял, адрес на договора, чрез който се извършва месечен избор на нови валидатори.
  • Параметри TVM (TON Virtual Machine), неговата версия, минимални и максимални цени на газ - подобно на Ethereum.
  • Умни договори на допълнителни жетони и техния статус.

Важно е всички промени в глобалните параметри на TON да се приемат с консенсус на повече от 2/3 от всички валидатори в съответствие с BFT алгоритъма.

Workchain

Workchain е условен блокчейн, който комбинира един и същ тип chardchain. Идентификаторът му е префикс за идентификационния номер на парчетата, необходим е за точното маршрутизиране на съобщенията.

TON има достатъчно място замного работни вериги (2 ^ 32, което съответства на приблизително 4,3 милиарда работни вериги) и във всяка от тях можете да организирате своя собствена логика на съобщението. Например, едната работилница може да обслужва договори на Ethereum, а другата може да внедрява анонимни UTXO (неизхарчени монети), както се прави в ZCash.

Shardchain

Shardchayn е основната работна единица вTON мрежа. Shardchain е отделна верига от блокове, която изпраща и получава съобщения от други части, т.е. това е блокчейн, обслужващ неговия набор от акаунти.

Всеки валидатор съдържа пълен списъктехните парчета и само част от блоковете от съседни. Валидаторът произвежда нови блокове в своя шардчин, като изпраща и получава съобщения от други части. На това ниво вече е възможно да се разделят и обединяват вериги от блокове от осколки. Схематично изглежда като DAG (насочена ациклична графика), където всеки блок има няколко родители, които са последните блокове на присъединените shardchains.

Блокове от твърди частици

Всеки блок от шрифтове трябва да съдържа определен необходим набор от данни, т.нар неделима част. Тя включва:

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

Accountchain

Веригата на акаунта е блокчейн TON за входно ниво. Всеки идентификатор на акаунт е 256-битов ключ + идентификатор на работна верига. Например, адресът на интелигентен договор ще изглежда така:

1: 81525a3672b55678d4139b993b542c5c9735ac41b653d963a42855c9834b6921a4.

И адресът на потребителския акаунт е такъв:

Ef + BVndfdQ45nUdlsfsmv68KBHGSgBJsfsv58dG2SE4oPMgs4.

Самият акаунт получава и получава съобщения (естествено това не са съобщения от Telegram). Те могат да съдържат GRAM маркери, да бъдат интелигентни обаждания по договор, да представляват всякакви други данни и т.н.

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

сметка

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

Сметката съдържа информация за салдотоGRAM жетони, код на договора или хеш, време, прекарано в мрежата, като се започне с появата на кореновата клетка, статистика за използването на хранилището на данни (например до момента на последното плащане на съхранението), официално описание на интерфейса.

Съхранение на ниско ниво, клетки

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

Всяка клетка съдържа 1023 бита информация и до4 връзки към съседните клетки. Съществуват 256 различни типа клетки, които се различават по начина на реализиране и по броя на връзките към други клетки. Всички те се комбинират в дърво с броя на връзките за всеки елемент от 0 до 4. Клетките се използват за унифицирано съхранение и детерминирана работа в блокчейн хранилището.

Вътрешни алгоритми на TON

Вече сме се запознали със структурата на блокчейна TON и основните му елементи. Сега е ред на принципите на тяхната работа и техните основни концепции.

Логично време

Както научихме по-рано, структурата на данните в TONТова е DAG, както по принцип, в 90% от другите криптовалути, включително биткойн. За да се фиксира фактът на предаване на съобщение или събитие в blockchain, по време на операции с тях се използва монотонен брояч и всяко такова съобщение съдържа свое време.

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

съобщение

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

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

Незабавно маршрутизиране на хиперкуба

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

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

Активирането на опашката за съобщения в блокове е новорешение в blockchain технологията. Благодарение на този подход състоянието на съобщението може да бъде проследено веднага на блокчейна. В световен мащаб целият масив от изпратени съобщения между парчетата е сложен многоизмерен насочен ацикличен график (DAG). В момента обаче няма окончателна яснота относно функционирането на гаранциите за предаване на съобщение на адресата в такъв DAG.

Умни договори

В TON създаването на интелигентен договор или акаунт е едно и също нещо. В случай на изпращане на GRAM маркери на несъществуващ адрес, той се създава като празен договор с баланс, различен от 0.

Както споменахме по-рано, всяка сметка, нещосъхраняване в blockchain, плаща комисионна за съхранение. Следователно, когато създавате интелигентен договор, трябва да му осигурите баланс в GRAM, за да платите за място за съхранение или дори първо да осигурите баланс и след това да поставите кода на смарт договора.

Криптовалута GRAM в блокчейна на Telegram Open Network (TON)

</ P>

В главната верига има и готови библиотеки за интелигентни договори. Всеки договор има следните свойства:

  • Договорът може да създаде нов договор.
  • Можете да поставите хеша от кода на смарт договора и едва след това да го демонстрирате.
  • Кодът на интелигентния договор може да бъде променен, но това трябва да бъде предвидено в кода на първоначалния смарт договор.
  • Не можете да съхранявате интелигентния код на договора в blockchain, но тогава само входящите съобщения ще бъдат достъпни за акаунта. Кодът и данните ще се съхраняват извън блокчейна.
  • Код и състояние на „умиращия“ смарт договор(чийто баланс е близък до 0) се заменя с хеш на кода му. С помощта на хеш интелигентният договор все още може да бъде възстановен при условие, че балансът се възстановява, в противен случай хешът също ще бъде изтрит след няколко месеца.

Като цяло можем да заключим, че поведението и свойствата на акаунти в TON са сходни едновременно с Bitcoin и Ethereum.

TVM (виртуална машина TON)

TON Virtual Machine представя новоразвитие в областта на интелигентните договори. Той е детерминиран и подреждащ се. Следователно, той е лесно мащабируем и върши отлична работа с пакетирането на данни в клетки. На TVM е удобно да следите разходите на GRAM за изпълнение на интелигентни договори и е много лесно да възстановите интелигентните договори.

Моделът на ограничение в TVM е изграден на газ, а елиптичната криптография е внедрена на кривата ed25519, защитена.

Умен език на договора

TON използва ниско ниво и изключителнодетерминиран език Fift, прототипът на който беше езикът FORTH (което вероятно е причината да изберат името Fift). Това е свързан, подлежащ на подреждане език за микроконтролери. За съжаление, за писане на интелигентни договори с детерминизъм и максимална ефективност на разходите бяха измислени само две опции: EVM (Ethereum Virtual Machine) и WASM (WebAssembly).

Fift е силно набран; в него има дузина и половина, включително сложни (Tuple, List, Odject).

Цялата идея на този език е изградена наоколо„Думи“ на операторите: има много различни думи за манипулиране на стека, функции, логически блокове, променливи - всичко това е подчинено на централната концепция на „word“ оператор.

Например така изглежда кодът за извеждане на две числа на Фибоначи с големи 1000:

{ 1 0 rot { -rot над + swap rot 2dup &gt;= } до изпускане } : fib-gtr

1000 fib-gtr

тук:

  • доп (xx x), дублира стойността на горната част на стека. Ако стекът е празен, той хвърля грешка при изключение.
  • спад (x), изтрива стойността на горната част на стека.
  • суап (xyyx)разменя двете стойности най-близо до върха на стека.
  • гниене (xyzyzx), завърта трите стойности най-близо до върха на стека.
  • -rot (xyzzxy), инвертира трите стойности, най-близо до върха на стека, в обратна посока. Еквивалентно на гниене на гниене.
  • над (ксиксикс), създава копие на втората стойност в стека и го поставя отгоре на стека.
  • туш (xyyxy), еквивалентно на размяна.
  • шип (xyy), премахва втората стойност от горната част на стека. Еквивалент на суап капка.
  • 2дуп (xy-xyxy), еквивалентен на над.

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

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

TON Общи впечатления

Като цяло изграждането на екосистемата TON прави добро впечатление. Сред предимствата трябва да се отбележи:

  • Ново, рентабилно изпълнение на съхранението на данни. Това показва сериозен подход към проблема с размера на блокчейн.
  • Примитивна система за съобщения, подобна на тази, използвана в GO.
  • Обработвайки верига за съобщения, пул от памет на блокчейна, почти цялата информация за транзакциите се взема от блокчейн, а не от външни източници.
  • Работна верига за твърди вилици или радикални променив консенсус, криптография, виртуална машина за интелигентни договори. Това ви позволява теоретично да свържете блокчейн Bitcoin, Ethereum или EOS към TON като нова работна верига.

Управлението на TON с интелигентни договори е добре установен метод. Например в Ethereum, EOS, Polkadot и т.н.

От гледна точка на разработчика, възелът TON представлява няколко блокчейна: главна верига, работна верига, шейд верига.

Интелигентните договорни интерфейси се съхраняват до интелигентните договори, което е много удобно за dApp, като осигурява най-простото взаимодействие с тях.

Всички ресурси на blockchain се заплащат честно, включително и под наем на склад за данни. Няма отстъпки за големи притежатели или валидатори на GRAM.

Единственото, което бих искал да променя, е наличието на по-разбираем механизъм за прилагане на официално доказателство за изпращане на съобщения. Особено като се има предвид разнообразието от възможности за мрежова топология

заключение

Проектът WhitePaper създава впечатлението, черазработчиците взеха най-добрите модели на работа от много модерни проекти и за всеки от тях направиха нещо различно. Има части, които работят като UTXO bitcoin (съобщения, акаунти), има като EVM (интелигентни договори, управление), има нови индивидуални разработки (парчета, маршрутизация) и има адаптиране на стари решения към вашия проект (език на интелигентни договори, клетки съхранение).

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

</ P>