Оценить:
 Рейтинг: 0

Введение в технологию Блокчейн

Жанр
Год написания книги
2021
Теги
<< 1 2 3 4 5 6 7 8 9 10 ... 34 >>
На страницу:
6 из 34
Настройки чтения
Размер шрифта
Высота строк
Поля

В системе, где бы Scrooge подписывал блоки по отдельности, вам бы нужно было отслеживать каждую подпись Scrooge, когда-либо выпущенную.

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

В ScroogeCoin существует два вида транзакций.

Первый вид – это CreateCoins, которая аналогична операции GoofyCoin, которая делает новую монету.

В ScroogeCoin мы расширим немного семантику, чтобы разрешить создание нескольких монет в одной транзакции.

Эта транзакция CreateCoins создает несколько монет.

Каждая монета имеет серийный номер в транзакции.

И каждая монета также имеет значение, а именно стоимость как определенное количество ScroogeCoins.

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

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

Мы ссылаемся на монеты с помощью CoinID.

CoinID – это комбинация идентификатора транзакции и серийного номера монеты в рамках этой транзакции.

Транзакция CreateCoins всегда действительна по определению, если она подписана Scrooge.

Мы не будем беспокоиться о том, когда Scrooge имеет право создавать монеты или сколько их создавать, точно так же, как мы не беспокоились в GoofyCoin о том, как Гуфи выбирается как сущность, которой позволено создавать монеты.

Второй вид транзакции – это PayCoins.

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

Новые монеты могут принадлежать разным людям (публичным ключам).

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

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

Правила ScroogeCoin говорят, что транзакция PayCoins действительна, если действительны четыре вещи:

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

Расходуемые монеты еще не были использованы в каких-либо предыдущих транзакциях. То есть, это не двойное расходование.

Общая стоимость монет, выходящих из этой транзакции, равна суммарному значению монет, которые вошли в транзакцию. То есть, только Scrooge может создать новую монету.

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

Если все эти условия выполнены, тогда транзакция PayCoins валидна, и Scrooge ее примет.

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

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

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

Монеты в этой системе неизменяемы – они никогда не меняются, не делятся и не объединяются.

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

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

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

Эти две новые монеты присваиваются ей обратно.

Теперь мы приходим к основной проблеме ScroogeCoin.

ScroogeCoin будет работать в том смысле, что люди могут видеть, какие монеты действительны.

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

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

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

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

Если Скрудж жадный, как его тезка из мультфильма, он может отказаться публиковать транзакции, если они не передают ему какую-либо утвержденную комиссию за транзакцию.

Scrooge также может, создать столько новых монет для себя, сколько он хочет.

Или Скруджу может наскучить вся система, и он может полностью прекратить обновление цепочки блоков.

Проблема здесь в централизации.

Хотя Scrooge может и доволен этой системой, мы, как ее пользователи не можем быть довольными такой системой.

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

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

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

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

Поэтому центральная техническая задача, которую нам необходимо решить, чтобы улучшить ScroogeCoin и создать работоспособную систему, это можем ли мы удалить Scrooge из системы?

То есть можем ли мы избавиться от этого централизованного органа?
<< 1 2 3 4 5 6 7 8 9 10 ... 34 >>
На страницу:
6 из 34