Введение в технологию Блокчейн. Тимур Сергеевич Машнин
Чтение книги онлайн.

Читать онлайн книгу Введение в технологию Блокчейн - Тимур Сергеевич Машнин страница 7

СКАЧАТЬ с цепочкой блоков.

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

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

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

      Зачем нам нужна цепочка блоков с хэш указателями в дополнение к тому, что Scrooge подписывает каждый блок?

      Это обеспечивает свойство только добавления.

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

      Так как кто-то может отследить последний хэш-указатель, опубликованный Scrooge, это изменение будет очевидно и его легко обнаружить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Правила СКАЧАТЬ