Раз мы исключили транзакции из блокчейна, то именно в асинхронную таблицу данных мы и должны их добавить.
Для начала я бы хотел, для лучшего понимания, показать структуру таблицы данных:
/дата и время
/адрес владельца
/хеш или хеш-контейнер (в нем будут в виде хеша прописываются хеш всей транзакции, хеш смарт-контракта или хеш уникального цифрового актива)
/уничтоженный адрес (этот адрес заносится в блэк-лист всех подписывающих нод и они контролируют, чтобы он больше не использовался в этом блоке)
В сети будут только 2 типа устройств: ноды содержащие весь блокчейн или его большую часть и клиенты.
Начнем с простого, с клиента. Это могут быть и сотовые телефоны. Для проведения транзакции Вы всегда должны хранить у себя, все данные блока блокчейна, при котором произошла последняя транзакции. Причем неважно на приём или получения денег она происходила. Также информация, которая раскрывает хеш-контейнер, который храниться в таблице у ноды напротив данного адреса. И список подписей, которые заверили данную транзакцию. И все.
Примерная структура транзакции:
/дата и время
/номер блока
/адрес отправителя
/сумма перевода
/адрес получателя
/хеш всей транзакции (это будет храниться в таблице данных у нод, условно это и есть хеш-контейнер)
/электронная подпись отправителя
/подписи участников блока во время которого была проведена данная транзакция и голосов не меньше 55% от сети (это именно те самые ноды, что проголосовали за текущий блок и из их количества в этом блоке и набираются подписи)
Хочу внести изменения в структуру асинхронной таблицы данных. Суть в том, что мы оперируем счетами, это плохо, так как появляется не очень хорошая ситуация, по уже отработанным счетам на которых были деньги. Условно представим себе ситуацию, когда какая-либо нода предъявляет старые данные из предыдущего блока, где на данном счете были деньги.
У ноды уже не будет информации по этому счету, так как деньги от туда были переведены, а информация по аккаунту в асинхронной таблице будет удалена и ноде придется запрашивать информацию у других нод, у других её тоже не будет. В итоге мы получаем неоднозначную ситуацию, где не понятно: либо информации вообще нет у нод, они ведь могут быть не постоянно онлайн и части информации не будет (в итоге хоть транзакция может быть и верной, но информации нет) и вторая ситуация когда на данном счете уже нет денег, но раньше были (у части нод вообще может быть старая информация и они сделают вывод о верной транзакции).
В общем ситуация вносит огромную путаницу, так как нет синхронности по блокам, как у биткоина.
Решить данную ситуацию достаточно просто, надо просто ввести номера для каждой монеты и оперировать связкой: номер монеты - текущий владелец.
В итоге путаницы уже не получиться, так как будет однозначно определено после транзакции, кто текущий хозяин монеты и это подтвердили 55% голосов сети, при этом также отпадает и возможность следить за уже отработавшими счетами, что значительно упрощает всё дело.
Таким образом я вношу следующие изменения:
Раз мы исключили транзакции из блокчейна, то именно в асинхронную таблицу данных мы и должны их добавить.
Для начала я бы хотел, для лучшего понимания, показать структуру таблицы данных:
/дата и время
/номер блока
/номер монеты или хеш номера монеты
/адрес владельца или же получателя, который становится текущим владельцем
/хеш или хеш-контейнер (в нем будут в виде хеша прописываются хеш всей транзакции, хеш смарт-контракта или хеш уникального цифрового актива)
/адрес отправителя
/электронная подпись отправителя
В сети будут только 2 типа устройств: ноды содержащие весь блокчейн или его большую часть и клиенты.
Начнем с простого, с клиента. Это могут быть и сотовые телефоны. Для проведения транзакции Вы всегда должны хранить у себя, все данные блока блокчейна, при котором произошла последняя транзакции. Причем неважно на приём или получения денег она происходила. Также информация, которая раскрывает хеш-контейнер, который храниться в таблице у ноды напротив данного адреса. И список подписей, которые заверили данную транзакцию. И все.
Примерная структура транзакции:
/дата и время
/номер блока
/номер монеты или хеш номера монеты
/адрес отправителя
/сумма перевода
/адрес получателя
/хеш всей транзакции (это будет храниться в таблице данных у нод, условно это и есть хеш-контейнер)
/электронная подпись отправителя
/подписи участников блока во время которого была проведена данная транзакция и голосов не меньше 55% от сети (это именно те самые ноды, что проголосовали за текущий блок и из их количества в этом блоке и набираются подписи)