Репост из: BlockchainKZ блокчейн криптовалюта и биткойн
Транзакция
Транзакция – это «атом» данных блокчейна на основе фреймворка “TAMYR”, который имеет следующую структуру:
1) Указание, с какого адреса на какой отправляется транзакция (адресант и адресат). Для обеспечения защиты от «двойной траты» каждый адрес валиден до тех пор, пока с него не была отправлена транзакция, после чего он заменяется.
2) Сумма транзакции (может быть равна нулю согласно логике конкретного блокчейна) в валюте блокчейна и при необходимости дополнительно в другой валюте, а также сумма комиссии блокчейна;
3) Произвольные данные в формате JSON – могут включать текст, изображение или фреймы видео в формате Base64, бинарные данные в формате HEX, в т.ч. данные для последующего сохранения на диск в виде образа программы и его запуска. Данные могут быть зашифрованы по желанию пользователя;
4) Данные, идентифицирующие пользователя – хэш идентификатора, который был проверен доверенным авторизационным центром и произвольные данные, которые пользователь решил раскрыть при отправке транзакции;
5) Сигналы – специальные сигналы смартконтрактам, отдельным функциям ноды или программным библиотекам;
6) Хэш транзакции
Перечисленная структура данных сериализуется и в виде бинарного потока отправляется в блокчейн для добавления в блок.
При отправке в блокчейн нода, принимающая транзакцию, производит ее формальную валидацию по структуре, адресам и комиссии, и выдает идентификатор транзакции. С этого момента можно считать, что транзакция будет включена в блокчейн. Фактически блокчейн принимает транзакцию мгновенно.
Транзакция сохраняется в пакет с другими транзакцими для массовой обработки, проходит дополнительные этапы валидации и объединяется в блок, для которого рассчитывается дерево Меркла. Для ускорения выпуска блока допустимо не использовать дерево Меркла, т.к. транзакции добавляются не по одной, а пакетом.
Блок с транзакциями рассылается по блокчейну, ноды его читают, находят свои адреса и принимают данные транзакций для дальнейшей обработки так, как написано в пункте «Нода».
Транзакция – это «атом» данных блокчейна на основе фреймворка “TAMYR”, который имеет следующую структуру:
1) Указание, с какого адреса на какой отправляется транзакция (адресант и адресат). Для обеспечения защиты от «двойной траты» каждый адрес валиден до тех пор, пока с него не была отправлена транзакция, после чего он заменяется.
2) Сумма транзакции (может быть равна нулю согласно логике конкретного блокчейна) в валюте блокчейна и при необходимости дополнительно в другой валюте, а также сумма комиссии блокчейна;
3) Произвольные данные в формате JSON – могут включать текст, изображение или фреймы видео в формате Base64, бинарные данные в формате HEX, в т.ч. данные для последующего сохранения на диск в виде образа программы и его запуска. Данные могут быть зашифрованы по желанию пользователя;
4) Данные, идентифицирующие пользователя – хэш идентификатора, который был проверен доверенным авторизационным центром и произвольные данные, которые пользователь решил раскрыть при отправке транзакции;
5) Сигналы – специальные сигналы смартконтрактам, отдельным функциям ноды или программным библиотекам;
6) Хэш транзакции
Перечисленная структура данных сериализуется и в виде бинарного потока отправляется в блокчейн для добавления в блок.
При отправке в блокчейн нода, принимающая транзакцию, производит ее формальную валидацию по структуре, адресам и комиссии, и выдает идентификатор транзакции. С этого момента можно считать, что транзакция будет включена в блокчейн. Фактически блокчейн принимает транзакцию мгновенно.
Транзакция сохраняется в пакет с другими транзакцими для массовой обработки, проходит дополнительные этапы валидации и объединяется в блок, для которого рассчитывается дерево Меркла. Для ускорения выпуска блока допустимо не использовать дерево Меркла, т.к. транзакции добавляются не по одной, а пакетом.
Блок с транзакциями рассылается по блокчейну, ноды его читают, находят свои адреса и принимают данные транзакций для дальнейшей обработки так, как написано в пункте «Нода».