Что такое модель учетной записи
Модель учетной записи - это основная модель бухгалтерского учета для распределенных реестров (блокчейнов). Как и модель UTXO, она используется для записи, хранения и выполнения ончейн-транзакций. Модель учетной записи используется в Ethereum.
Что такое модель UTXO? Какова ее особенность? Пожалуйста, ознакомьтесь с содержанием: Что такое модель UTXO?
Механизм модели учетной записи
Модель учетной записи использует баланс внутри учетных записей в качестве меры бухгалтерского учета для транзакций. Это основное отличие между ней и моделью UTXO.
Модель UTXO использует непотраченную часть криптовалюты в транзакции в качестве меры бухгалтерского учета. Модель учетной записи можно рассматривать как цифровую версию традиционного банка. В этой модели цифровые активы записываются в виде балансов в учетных записях, подобно традиционным банковским учетным записям.
Модель учетной записи - это вычислительная модель. При возникновении транзакций система вызывает узлы для изменения баланса учетной записи на основе инструкции транзакции пользователя. Затем система вычисляет изменения балансов в каждой учетной записи и записывает новое состояние баланса.
В Ethereum состояние учетных записей не хранится на блокчейне, а вычисляется и хранится локально узлами. Блокчейн хранит только инструкции транзакций.
Модель учетной записи сети Ethereum
В Ethereum существуют два типа учетных записей: Учетная запись с внешним собственником (EOA) и Контрактная учетная запись.
Учетная запись с внешним собственником (EOA)
Учетные записи пользователей, управляемые закрытым ключом.
Например, пользователи могут создавать этот тип учетной записи в кошельке MetaMask. У каждой EOA есть закрытый ключ и адрес, и она может инициировать транзакции.
Контрактная учетная запись
Учетные записи, управляемые кодом смарт-контракта.
В отличие от EOA, у контрактных учетных записей нет закрытого ключа, у них есть код смарт-контракта. Учетная запись исполняется по своему коду смарт-контракта. Код записывается на цепочку при создании контрактной учетной записи и будет выполнен EVM.
Контрактная учетная запись не может инициировать транзакции, как EOA, ее задача - вызывать функции в других контрактах для реагирования на инструкции транзакций. Проще говоря, инструкции транзакций будут вызывать функции в контрактах.
Чтобы извлечь параметры (такие как количество $ETH), чтобы изменить баланс учетной записи для завершения транзакции.
Когда кто-то отправляет транзакцию на адрес контракта, это заставляет контракт работать в EVM, с транзакцией как его входными данными. Транзакции, отправленные на адреса контрактов, могут содержать $ETH или данные или и то и другое. Если в них есть $ETH, то он "депонируется" на баланс контракта. Если в них есть данные, то эти данные могут указывать на именованную функцию в контракте и вызывать её, передавая аргументы в функцию.
Особенности модели учетной записи
В модели учетной записи результат транзакции зависит от состояния баланса. Баланс учетной записи должен быть больше, чем выводы транзакции. Таким образом, важна проверка последовательности транзакций и проверка баланса. Узлы в модели учетной записи будут проверять состояние баланса отправителя (чтобы увидеть, больше ли он или равен сумме перевода вывода), когда они получают инструкции транзакции.
Ethereum
What else do you want to learn?
