Jump to content
Sign in to follow this  
a4j

Etherium токены

Recommended Posts

Категорически приветствую :)

 

Подскажите, я правильно понимаю, что токены - это просто некая "табличка" в контракте - типа "Адрес владельца -> Количество токенов" ?
И "перевод" токенов - это исправление циферок в этой табличке? Реально больше ни какие данные никуда не отправляются? 
Т.е. на кошельке, который "Адрес владельца" - реально ничего не хранится касательно токенов? 
И чтобы узнать баланс токенов на этом кошельке, мы обращается к контракту и смотрим что записано в ячейке для этого адреса?
Т.е. по сути, контракт может как хочет сам переводить туда-сюда токены просто меняя чиселки в табличке?

 

И вторая часть вопроса - загрузить контракт - платная процедура,  а обращения к контракту - это же тоже транзакция, и тоже платная?

 

Третья часть вопроса - код и данные контракта где хранятся? Также у всех-всех-всех?

 

Благодарю.

Share this post


Link to post
Share on other sites

1. Да вы все правильно поняли. Токены это просто словарь где ключ это адрес, а значение это баланс. Данный словарь хранится в сторадже контракта. На адресах ничего не храниться.

   Для выяснения баланса, да надо обратиться к контракту.

2. Сам контракт может переводить только в пределах той логике которая в нем заложена. Если вы ведете речь об самом популярном ERC20, то там переводить свои токены может только хозяин адреса.

3. Для внесения изменений процедура платная, надо отправить транзакцию. Для чтения, бесплатно достаточно сделать вызов к ноде.

4. Храниться в блокчейне, то есть у всех-всех-всех😊

Share this post


Link to post
Share on other sites

Ага, Благодарю. Ещё несколько уточнений:

Вот контракт - это же просто по сути набор функций и набор его данных.  Это вот получается, раз он хранится у всех-всех - каждый к себе скачивает этот, ну назовём его, программный модуль.. так ведь? Когда делается запрос к этому контракту - где именно он будет исполнен? На той ноде где к нему обратились? А если его нет ещё на этой ноде? Пока не синхронизуется - не сможем обратиться к контракту? И сам контракт - он физически как хранится? В плане возможно ли его подменить. Как вот (было в новостях то) - удалили контракт. Если в блокчейне всё  хранится "навечно" - как смогли контракт удалить? И если в этом контракте была табличка с токенами - получается что токены тоже изчезли? Ведь теперь негде посмотреть сколько их было у каждого владельца.. Я правильно понимаю?

Share this post


Link to post
Share on other sites

Контракт появляется только на тех нодах которые синхронизированы до того блока где он был задеплоен. То есть если у ноды нет данного блока то вызвать контракт не удастся.

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

Удалили контракт  - это история в новостях когда в контракте был вызов self destruct, то есть само уничтожиться. И данный метод кто то не прикрыл и сделал public. Любой мог дернуть его и уничтожить контракт.

 

И он не удалился из истории он стал не активным. Все таблички и перемещения токенов можно глянуть в истории блоков.

 

И да контракт /вызов к контракту исполняется тоже у всех-всех-всех

 

Edited by 4_tochka

Share this post


Link to post
Share on other sites

Понятно, значит в целом правильно понял. Благодарю!

 

Хотя..  Ещё один момент меня мучает - А если какая-то часть сети была временно отрезана от мира, в мире в это время тот самый контракт "удалили", а эта, отрезанная часть, ничего об этом не знала, и какие-то другие операции в контракте выполняла и думала что всё хорошо.. Что произойдет тогда связь восстановиться?

 

 

Share this post


Link to post
Share on other sites

Когда связь восстановиться начнет синхронизироваться цепочка блоков а она явно не сойдется. И тут та часть что была меньшей будет иметь неверную копию реальности и будет отброшена. (ну это вкратце без подробностей, основная идея такая)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...