Украина, г. Донецк, Донецкий национальный университет, 2012 |
Введение
Что такое блокчейн?
Когда в последний раз покупали брендовый товар? Например, солнечные очки? Или часы класса люкс? По каким признакам можно определить, что это не подделка? Или давайте предположим, что есть желание вложить деньги в произведение искусства стоимостью в десятки миллионов долларов, например, в картину или скульптуру. Как можно получить гарантию, что это произведение искусства действительно было создано художником, как утверждают? Или что оно не было украдено? Получение точной информации и возможность подтвердить источники в ситуации, когда сделка значима, являются основополагающими фактами. Вы нуждаетесь в надежной системе, которой можно доверять и которая защищена от попыток фальсификации. Но в мире сталкиваемся с интернет-мошенниками, хакерами. Происходят взломы и кибер-атаки таких важных организаций, как банки и интернет-провайдеры. Как можно доверять качеству и полноте информации, которую получаем? Ответ - технология Блокчейн, которая может обеспечить, что отдельный источник, который проверяется, защищен от воровства и неизменен.
Что такое блокчейн? Блокчейн - это постоянно растущий учетный журнал, который ведет постоянную запись всех сделок, которые имели место в безопасном, хронологическом и неизменном порядке. Давайте разобьем это определение на отдельные части, чтобы стало понятно, что оно обозначает. Для начинающих, блокчейн - это учетный журнал. Это файл, который постоянно растет. Итак, он постоянно ведет запись всех сделок: когда происходит сделка, ее невозможно удалить. Она навсегда в учетном журнале. Эта информация хранится там в безопасности. Блокчейн использует продвинутую криптографию, чтобы удостовериться, что сделка действительно "заперта" внутри него. Процесс совершения каждой транзакции идет в хронологическом порядке, так что каждая транзакция происходит после предыдущей. Данный процесс неизменен, что означает, если вы встроили транзакцию в блокчейн, учетный журнал никогда не изменится.
Что такое Биткоин? Биткоин - тип цифрового актива, который может быть куплен, продан или переведен между сторонами безопасно, через интернет. Биткоин может быть использован с целью хранения ценностей, для покупки золота, серебра и для других способов вложений. Но в отличие от других способов, биткоин служит цифровой валютой, которую можно использовать для оплаты продуктов и услуг, а также совершения оплаты и обмена электронно. Однако, в отличие от традиционной валюты, такой как доллары и евро, которые можно так же использовать для покупки вещей и электронного обмена, у биткоина нет материальных монет или бумажных счетов. При отправке кому-то биткоина или расчете им не нужно использовать банк или кредитную карту, или какое-либо третье лицо, например, клиринговую организацию. Вместо этого просто отправляется биткоин без посредников нужному лицу через интернет, оплата безопасно и почти мгновенно проходит. Когда отправляется письмо через интернет другому лицу, просто набирается электронный адрес и общение происходит непосредственно с этим лицом. Этот тип общения между двумя сторонами обычно называется одноранговым. Люди общаются так каждый день через сеть интернет. Однако, когда необходимо отправить деньги кому-то через интернет, то понадобятся службы, являющиеся третьей стороной, такие как банк, кредитная карта, система PayPal или другие типы служб, переводящих деньги. Когда совершается денежный перевод между двумя сторонами, необходимо подтверждение, что сделка была совершена в действительности. Другими словами, каждый из участников должны подтвердить, что обе стороны сделали то, что они обязаны были сделать в реальной сделке. Например, при отправке фото другому человеку можно просто прикрепить фото к письму и отправить его. Другой человек получит. Теперь у нас две копии фото. То фото, которое отправили, и оригинал, который хранится в компьютере. Другими словами, по электронной почте отправлена копия файла с фото, а не оригинальный файл. Это называется "проблема двойного расходования". Поэтому мы постоянно нуждаемся в помощи банков и других типов институтов, которые действуют как посредники в этих типах сделок. Без них люди бы просто старались копировать и вставлять деньги, и невозможно было бы определить, настоящая это транзакция или нет.
Но как происходит оплата биткоинами, когда проблема двойного расходования представляет собой такой риск? Каково это, когда можно послать биткоины кому-то через интернет, без посредничества банка или другого института, заверяющего, что сделка совершена? Ответ относится к глобальной сети с тысячами компьютеров, которая называется сеть биткоин и особому децентрализованному учетному журналу, называемому блокчейн. Блокчейн - одна из ключевых технологий, основа Биткоин, содержит децентрализованную запись транзакций, которые когда-либо совершались в сети биткоин. Вся информация собрана в безопасности с использованием математики и криптографии, чтобы защитить ее, и данные хранятся и подтверждаются полностью через сеть компьютеров. Без централизованной базы, или третьего лица, такого как банк, подтверждающего, что произошла сделка, биткоин использует технологию блокчейн через обширную децентрализованную сеть компьютеров, чтобы обезопасить, подтвердить и зафиксировать каждую сделку. Поскольку данные хранятся децентрализовано в сети, а не в централизованном хранилище, не существует возможности единой ошибки. Это делает записи, которые хранятся в блокчейн, более безопасными и менее подверженными мошенничеству, взлому, ошибке системы, чем хранение их в единственном централизованном месте.
Роль майнеров Биткоин
Внутри сети биткоин существует группа людей, которая называется майнерами, и их роль - обрабатывать и подтверждать транзакции. Любой может стать майнером и может запустить программу-клиент самостоятельно. Однако обычно майнеры используют очень мощные компьютеры, которые предназначены именно для создания биткоинов. Способ, которым майнеры это делают - решение математических проблем и разрешение криптографических задач, потому что каждая сделка должна быть зашифрована криптографически и защищена. И эти математические задачи на самом деле гарантируют, что никто не способен взломать данные. Майнеры получают за свою работу плату в биткоинах, что является основным компонентом сети. Деньги в биткоин создаются не так, как в бумажной валюте, которая является денежным обеспечением страны. Например, США имеет доллары, Япония - йены, Китай - юани, и все эти валюты созданы центральными банками. Биткоин создан через награждение майнеров за их работу, за решение ими математических и криптографических задач.
Как строится блокчейн в Биткоин? Роль майнеров - создавать цепь записей, которые формируют учетный журнал биткоин. Это блоки, и каждый блок содержит все транзакции, которые происходили. Новые блоки со всеми новыми транзакциями добавляются каждые десять минут. Итак, когда майнеры обрабатывают различные транзакции, они создают блок, и когда блок подтвержден, он добавляется в блокчейн. Блокчейн содержит весь путь к самой первой сделке в биткоин, которая рассматривается как блок генезиса.
Хэш-функции
Так как биткоин - криптовалюта, и в криптовалюте криптография - ключевой компонент. Поговорим детально о хэш-функции, и для этой хэш-функции будет использована программа, разработанная Андерсом Браунворфом, которую можно найти по ссылке Anders.com/blockchain/hash.html.
Эта программа - генератор хэшей. Хэш - это прежде всего результат обработки или цифровой отпечаток определенного набора данных. Это объем данных в алфавитно-цифровом формате определенной длины. Если напечатать в программе что-либо, можно увидеть, что каждый отдельный символ имеет криптографический хэш - эквивалент.
Итак, это SHA256 хэш этого текста. Если что-нибудь добавить, например, один символ, хэш будет совершенно другим. Что означает SHA256? SHA - это Безопасный Хэш Алгоритм. SHA256 был разработан Национальным агентством безопасности. А эта программа - генератор хэшей, который используем сейчас. SHA256 - вид хэш-функции, которая используется в Биткоин. Она позволяет всегда быть способными выработать хэш из определенного количества данных. Итак, например, собираемся получить хэш для полного текста Моби Дика. В произведении 1047 страниц и можно получить соответствующий хэш для него.
Перейдем в соседнее окно, используя другой SHA256 хэш. Та же самая программа, но пустое окно. Когда туда будет вставлен полный вариант Моби Дика, вы обнаружите, что хэш, который был выработан и в одном, и в другом окне тот же самый. Почему? Создается дайджест сообщения одного и того же определенного количества информации. Если вместо Моби Дика вставить все документы, которые хранятся в библиотеке, получим эквивалентный хэш. В хэшах интересно то, что они являются односторонней функцией. Это означает, что можно сгенерить хэш из полного текста, который будет на командной кнопке. Но невозможно вернуться к исходному тексту. Т.е. невозможно получить этот полный текст из хэша, находящегося здесь, внизу. Это отличается от шифрования. Когда вы зашифровываете что-то, возможно, использовав правильный ключ, взломать сообщение и извлечь оригинал. Но с хэшем это невозможно. Хэш вырабатывает уникальный цифровой отпечаток, который не может быть возвращен назад, к исходному количеству символов. Это одностороннее движение.