Биткойн Изнутри Для Тех, Кто Не Понимает

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

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

Надеюсь, после этой статьи вера или доверие к Биткойну перерастут в уверенность и осознанность.

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



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

Давайте примем этот инструмент на веру.

Те же алгоритмы используются в банковском секторе (и не только), поэтому крах ЦП приведет к кризису во многих отраслях.

Итак, приватным ключом мы подписываем «письма о передаче права собственности» (транзакции) и тем самым передаем свои монеты кому-то другому.

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



Хеширование
Если вы понимаете процесс хеширования, пропустите этот раздел.

Демонстрация хеширования довольно проста.

Возьмем определенный номер.

например, номер телефона +7 (495) 606-36-02. Сложим все числа несколько раз: 7+4+9+5+6+0+6+3+6+0+2=48 => 4+8=12 => 1+2=3 Таким образом, вы можете однозначно связать определенный номер с любым номером телефона.

Процесс суммирования называется хешированием, сам метод — хеш-функцией, полученное число — хеш-суммой или просто хешем.

Обычно в результате хеширования достигаются следующие свойства: — Зная хеш-сумму (в нашем случае 3), невозможно определить исходный номер телефона.

— Вы не можете настроить номер телефона на заранее известную сумму (не применимо в нашем примере, обязательно для биткойнов).

— Небольшое изменение номера телефона приведет к резкому изменению хэша (в нашем примере неприменимо, но обязательно для биткойнов).

Есть также много других понятных повседневных примеров хеширования в вики статья.



Передача прав собственности.

Хэш-сумма открытого ключа

Биткойн использует хэш открытого ключа в качестве адреса для передачи монет. Публичное объявление чьего-либо биткойн-адреса ничего не стоит. Даже участники «битвы экстрасенсов» не смогут узнать оригинальный ключ по его хешу.

А сама пара ключей будет использоваться только один раз — при передаче права собственности.

На этом жизнь пары ключей заканчивается.



Биткойн изнутри для тех, кто не понимает

PUB1 — открытый ключ PRIV1 — секретный ключ HASH1 или HASH(PUB1) — это хеш-сумма открытого ключа (адрес биткойна).

HASH2 или HASH(PUB2) — это хеш открытого ключа следующего владельца.

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

- Владелец на публичном собрании (ярмарке, телешоу) показывает всем хеш своего публичного ключа HASH (PUB1), серийный номер автомобиля, и все с этим соглашаются - никто никаких претензий не предъявляет. — До момента продажи оба ключа PUB1 и PRIV1 продавца остаются секретными.

Известны только HASH(PUB1) и соответствующий серийный номер автомобиля.

— Как только владелец желает продать машину какому-либо покупателю, он пишет открытое письмо, в котором указывает серийный номер и хеш-сумму открытого ключа HASH (PUB2) второго владельца.

И, конечно же, он подписывает письмо своим закрытым ключом PRIV1, прилагая открытый ключ PUB1. — После передачи имущества секретный ключ перестает быть актуальным — второй такой буквы быть не может (см.

«Единая история»).

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

— О втором владельце ничего не известно, кроме HASH(PUB2), пока он не передаст права третьему владельцу.

И эта цепочка может быть бесконечной.

— Подписывая передачу прав с помощью ЭCP, собственник не только удостоверяет себя, но и накладывает обязательство по передаче.

Как говорится: «слово не воробей; если оно вылетит, вы не сможете его поймать».

— Благодаря HASH(PUB) достигается двойная защита.

Первая загадка — узнать открытый ключ по его хешу.

Вторая загадка – подписать чужим секретным ключом.



Биткойн изнутри для тех, кто не понимает

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

И вся цепочка владения хранится публично у каждого пользователя.



«А сдача!Э»
Вы должны оставить сдачу себе.

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

Из-за этого сложно понять, сколько монет принадлежит тому или иному адресу, и сложно судить об объеме переведенных монет за день/месяц/год.

Одна история.

Что добывают шахтеры?

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

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

Для этого транзакции объединяются в блоки и распознаются только «красивые» блоки.

«Красивый блок» найти сложно, так же как найти из тонны золотой руды только один стоящий самородок.

В нашем случае хеш блока должен содержать определенное количество нулей.

Блок состоит из предыдущего блока (хеш-суммы), хеш-суммы всех включенных транзакций и случайного числа (англ.

nonce).

Пример биткойн-блок с сайта Blockexplorer.com:

* Hash: 00000000000001c21dbf4715d5da1a288061faa21e950dd8df6ae25c8b55d868 * Previous block?: 000000000000056a7dcf283f627c2a17c55ffe1937a6ed2bc467d9c524311da2 * Difficulty: 1 690 895.803052 ("Bits": 1a09ec04) * Transactions: 184 * Total BTC: 4251.63216933 * Size: 58.913 kilobytes * Merkle root: 98c5d975bf556f0344770eee7ab31688a1c108223c14cea908ff99b0ab8fe947 * Nonce: 3723473450

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

Но каждый может легко убедиться в подлинности «красоты» блока.

Количество нулей в хеше выбрано таким, чтобы каждый блок появлялся примерно раз в 6-10 минут. За нахождение блока дается вознаграждение, на данный момент оно составляет 50 монет. Нашедшему также предоставляются все комиссии за транзакции, включенные в его блок.

Единая история достигается за счет того, что всегда побеждает самая длинная цепочка блоков.

Не проблема, если от сети Биткойн будет выделена изолированная часть пользователей — впоследствии все отколовшиеся транзакции будут включены в более длинную цепочку (с учетом сложности).



Тонкости работы
— Хеширование обычно означает двойное sha256, т.е.

sha256(sha256(x)).

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

Любой желающий может проверить целостность всех транзакций и посчитать количество монет в обращении.

Шансов на подделку нет. Единственная возможность зла — приостановить Биткойн на некоторое время.

— При первом запуске биткойн-приложение создает пару ключей.

Точнее, он заранее создает их сразу 100 пар, тем самым делая резервирование (резервное копирование) кошелька не более чем на 100 операций вперед. — Фактически в транзакции указывается не только сам биткойн-адрес, но и алгоритм проверки.

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

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

Или указать сроки расходования денег (не ранее 2013 года) и т.д. — Транзакции в блоке складываются в виде дерева хешей.

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

Биткойн-адрес содержит контрольную сумму.

Поэтому ошибиться в адресе, пропустив или заменив один или несколько символов, нельзя.



Окончательно
Независимо от цены монеты (на систему могут обижаться только спекулянты), я считаю, что Биткойн стал очень успешным в техническом плане.

Здесь есть чему поучиться и использовать полученный опыт в будущем.

Теги: #bitcoin #hashcash #платежные системы

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.