Размер шрифта
-
+

Введение в технологию Блокчейн - стр. 38

Теперь, давайте в деталях рассмотрим, что представляет собой транзакция в биткойне, его центральная часть.

На данный момент мы будем использовать упрощенную модель реестра.

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



Как мы можем построить валюту на основе такой книги или реестра?

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

Вы можете добавить некоторые транзакции, которые создают новые монеты и передают их кому-либо.

А затем позже вы можете эти монеты передавать дальше.

Транзакция будет содержать что-то вроде «мы передаем 17 монет от Алисы к Бобу», и эта транзакия будет подписана Алисой.

И эта информация о транзакции будет содержаться в книге.

В этом примере, после того как Алиса получила 25 монет в первой транзакции, затем передает 17 монет Бобу во второй транзакции, и у нее осталось еще 8 биткойнов на ее счете.

Недостатком этого способа ведения реестра является то, что любой, кто хочет определить, действительно ли транзакция валидна, должен будет отслеживать эти остатки на счетах.

В этом примере, что нужно сделать, чтобы понять, есть ли у Алисы 15 монет, которые она пытается передать Дэвиду?

Для этого вам нужно будет просмотреть всю книгу назад во времени, чтобы увидеть каждую транзакцию, относящуюся к Алисе, и вычислить ее баланс на момент, когда она пытается передать 15 монет Дэвиду.

Конечно, мы можем сделать это немного более эффективно с помощью дополнительной структуру данных, которая отслеживает баланс Алисы после каждой транзакции.

Но это потребует большого количества дополнительного обслуживания, кроме обслуживания самой книги.

Поэтому Bitcoin не использует модель на основе учетной записи.

Вместо этого Bitcoin использует книгу, которая просто отслеживает транзакции, подобные ScroogeCoin.



Транзакции указывают количество входов и количество выходов.

Вы можете думать о входах как о монетах, которые потребляются и которые были созданы в предыдущей транзакции, и о выходах как о создаваемых монет.

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

Каждая транзакция имеет уникальный идентификатор.

Выходы индексируются, начиная с 0.

В этом примере, первая транзакция не имеет входа, потому что эта транзакция создает новые монеты, и у нее есть выход из 25 монет, отправляемых Алисе.

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

Страница 38