Технические аспекты функционирования криптовалюты Bitcoin
Автор: Нахапетян Г.А.
Журнал: Экономика и социум @ekonomika-socium
Рубрика: Информационные и коммуникативные технологии
Статья в выпуске: 3-3 (16), 2015 года.
Бесплатный доступ
Короткий адрес: https://sciup.org/140114116
IDR: 140114116
Текст статьи Технические аспекты функционирования криптовалюты Bitcoin
Реализация криптовалюты основана на распределенном и открытом хранении записей о транзакциях с указанием адресов отправителей и получателей. Система также не содержит упоминаний об общем количестве валюты в ней. Эти данные можно получить лишь проанализировав весь массив цепочек транзакций. Транзакции происходят с использованием ECDSA-ключей. Размер закрытого ключа равен 256 бит, а размер открытого ключа - 512 бит. ECDSA представляет собой алгоритм для создания электронной подписи. Алгоритм ECDSA использует эллиптические кривые как для создания подписи, так и для проверки подлинности.
Для того чтобы лучше понять устройство Bitcoin, нужно взглянуть на работу системы по порядку, в хронологической последовательности.
Пользователь А хочет перевести определенную сумму пользователю Б. Они оба имеют файлы-кошельки, содержащие в себе адреса с монетами. Адрес представляет собой набор букв и цифр с разным регистром и длиной до 34 символов. При адресации также используются и другие формы представления адреса, например QR-коды, штрихкоды и пр.
Для осуществления перевода пользователь Б создает новый адрес, на который пользователь А будет переводить средства. Количество создаваемых адресов в системе Bitcoin не ограничено. Далее пользователь А указывает адрес получателя и сумму перевода. Система автоматически создаёт новую транзакцию, включающую в себя открытый 512 битный ECDSA ключ пользователя Б, закрытый 256 битный ключ пользователя А, а так же хэш предыдущей транзакции, как показано на рисунке 1.
Рисунок 1 – Иллюстрация принципа создания транзакций.
Затем происходит отправка транзакции по широковещательной сети компьютерам, производящим проверку подписи транзакции (майнерам), которые в свою очередь добавляют транзакцию в блок. Вся информация, содержащаяся в блоке, открыта и не шифруется. В блоке содержится его порядковый номер и хеш предыдущего блока. В одном блоке содержатся все транзакции ожидающие подтверждения подлинности. Первая транзакция, создающая блок, автоматически передает вознаграждение за создание блока. Задача майнинга – подобрать число для криптографической хэш-функции чтобы в результате хеш содержал в своей записи определенное количество нулей. Сложность задачи регулируется таким образом, чтобы решение находилось примерно 1 раз в 10 минут. Изменение сложности задачи происходит примерно раз в две недели [3]. Блоки автоматически объединяются в цепочки. Одновременно может создаваться множество цепочек, однако истинной (Основной) система будет считать самую длинную цепочку, прочие цепочки отсекаются, а транзакции из неосновных цепочек ставятся на очередь для включения в очередной блок
Для проведения транзакции, пользователю необходим лишь закрытый ключ. Такой ключ может храниться как на локальных носителях, так и в специализированных сервисах - «онлайн кошельках».
Теоретически, существует возможность осуществления двойного расходования валюты при условии контроля более 50% вычислительной сети. Так, одна из транзакций, будет осуществляться в штатном порядке и будет публично подтверждена, а подтверждение второй транзакции будет происходить в параллельной, скрытой ветви блоков. Через некоторое время, первая транзакция утратит доверие сети, а вторая транзакция получит подтверждение. Однако, для осуществления этого потребуется колоссальная вычислительная мощность и требования постоянно растут. На момент написания статьи не было зафиксировано ни одного случая двойного расходования Bitcoin.
Список литературы Технические аспекты функционирования криптовалюты Bitcoin
- www.bitcoin.org -Справочник по Bitcoin.
- http://bitnovosti.com/-Математика Биткойна.
- https://ru.wikipedia.org/-Правовой статус криптовалют.