Описание тега dusk-maiden-of-amnesia
Когда Вася продает кофе, Алиса создает транзакцию, проведя один из ее входов в адрес, которая принадлежит Бобу. В результате сделки заносится в блок и дается txid
, чтобы идентифицировать его. В txid
- это двойной SHA256 из сериализованной транзакции.
В транзакции может быть несколько выходов - один из них будет на выходе, которое фиксируется с помощью хэш открытого ключа Боба. Выход, на который указывает индекс в пределах транзакции, называется outputIndex
. В совокупности txid
и outputIndex
составляют минус
.
Вывод, который теперь принадлежит Бобу-это нерастраченная выходных сделки (UTXO). Биткоин клиент держит карту все UTXOs в памяти базы данных, так что они могут эффективно быть найден с их минусом
.
Если Боб хочет, чтобы позже провести UTXO, он создает транзакцию с вводом используя этот минус
и выходы содержащих (например P2PKH) сценарий, когда деньги истрачены. Он заключает сделки, и вставляет подпись в scriptSig
за вход были потрачены.
Валидатор это новая транзакция будет выглядеть в UTXO набор, чтобы найти предыдущие сделки, где Алиса заплатила Боб, и извлечет txout
от него. Они будут проверять суммы, которые тратятся, и scriptPubKey
будет оцениваться, чтобы убедиться, что Боб может потратить. Если сделка действительна, новых выходов сделка будет добавлен к набору UTXO и оригинальной операции, где Алиса заплатила Боб будет удален из набора UTXO.
Это делает нормальную работу биткоин эффективный протокол, но он неэффективен для запроса исторических данных как заблокировать исследователей сделать, например. Главная причина в том, что txids
не хранятся в блокчейне данным, только в UTXO набор. Чтобы найти txid
не в UTXO набор потребует сканирования весь блокчейн и перерасчет в txid
для каждой транзакции, пока вы не найдете тот, который вас интересует.
По этой причине, блок исследователей, или подобную программу будет вести полностью отдельную транзакцию сравнении с блокчейн архиве, где они могут обнаружить любой сделки, основанные на его txid
и найти, где он находится в цепи. Если вы не переиндексация блокчейн, таким образом, также можно добавить отношения в прямом направлении, так что вы можете найти входной проводки, который провел определенный выход. Вам потребуется много дополнительного хранения для txids и их индексы.