В основе системы биткойн лежит компьютерная программа клиент с открытым кодом, позволяющий любому желающему стать участником пиринговой сети. В этой сети обмен информации или файлами происходит напрямую между компьютерами пользователей, как передача фильмов через torrent.
Сами программное обеспечение биткойн базируется на технологии подтверждения, учёта и хранения транзакций, которая называется Blockchain.
Blockchain создаёт и поддерживает цифровой файл, который содержит простое перечисление всех когда-либо произошедших транзакций, точно как бухгалтерская книга или журнал. Все эти транзакции с использованием биткойнов хранятся в открытом доступе с указанием сумм и адресов отправителей и получателей, но без какой-либо информации о владельцах этих адресов.
По сути это и есть форма существования биткойна, в виде записи или строки в этом файле. Копия файла есть на компьютере каждого пользователя в сети биткойн и она постоянно обновляется.
Для того, чтобы пользоваться биткойнами нужны два ключа: приватный ключ и публичный ключ. Приватный и публичный ключ - это длинные и уникальные цепочки из цифр и букв.
Где их взять? Пара связанных приватных и публичных ключей автоматически генерируются системой. И любой пользователь может сгенерировать неограниченное количество таких пар.
Приватный ключ доступен только вам. Его ни в коем случае нельзя терять и им нельзя ни с кем делиться. Если вы потеряете приватный ключ, то вы по сути навсегда лишитесь доступа к биткойнам на соответствующем данным ключу адресе. Это, как потерять наличные деньги.
Приватный ключ работает, как пароль и используется для авторизации ваших транзакций, когда вы хотите отправить кому-то биткойны. Получение биткойнов ни какой авторизации или действий с вашей стороны не требует.
Публичный ключ напротив является открытым и виден всем пользователям системы. Он служит для генерации вашего биткойн адреса, т. е. адреса, на который другие пользователи системы могут отправить вам средства.
Биткойн адрес - это цепочка из 34 букв латинского алфавита и цифр, но также адреса можно представлять в виде штрих кодов. Каждому открытому ключу соответствует один биткойн адрес. Чтобы отправить кому-то биткойны отправитель должен знать либо биткойн адрес, либо публичный ключ получателя.
Кроме того, публичный ключ используется другими компьютерами в сети, для подтверждения подлинности ваших платежей. Хотя все пользователи системы могут видеть публичный ключ и сумму поступивших на него биткойнов, но никто не знает кто является владельцем того или иного публичного ключа, так как система полностью анонимна. И никто и нигде не должен оставлять никаких своих данных.
Как же происходят платежи? Прежде всего, чтобы совершить платёж у вас уже должны быть биткойны на адресе, который вы ранее сгенерировали и на который вам поступили биткойны от кого-то либо в результате майнинга. Чтобы совершить транзакцию вы фактически посылаете сообщение в сеть, которое содержит следующие элементы:
1. Ссылку на транзакцию, в результате которой у вас появились биткоины, так называемую входную транзакцию или просто вход.
2. Адрес, на который эти биткойны необходимо переслать.
3. Вашу электронную подпись. Электронная или цифровая подпись генерируется автоматически с использованием приватного ключа специальной математической криптографической функцией, а отсюда приставка «крипта» в слове криптовалюта.
Электронная подпись является результатом функции, в которой аргументами является ваш приватный ключ и остальное сообщение, т. е. ссылка на предыдущую транзакцию и адрес получателя. Цифровая подпись нужна для доказательства того, что вы являетесь законным владельцем входного адреса, т. е. адреса, с которого вы будете отправлять биткойны.
После того, как сообщения поступают в систему, компьютеры участвующие в майнинге проверяют его подлинность. Во-первых, они подтверждают, что вы действительно являетесь владельцем биткойнов на входном адресе. Для этого они используют вашу цифровую подпись в другой математической функции, которые верифицируют, что электронная подпись соответствует вашему публичному ключу.
Математика в основе цифровой подписи помогает подтвердить, что отправитель биткоинов владеет приватным ключом, не видя этот приватный ключ. Это классический пример использования, так называемой криптографии или криптосистемы с открытым ключом.
Во-вторых, другие компьютеры в сети также должны проверить и подтвердить, что на вашем входном адресе действительно есть биткойны и, что они ещё не были потрачены. Здесь сталкиваемся, с так называемой потенциальной проблемой двойных расходов с одного адреса.
Чтобы убедиться, что транзакция действительна, проверяются все предыдущие транзакции. Платёж подтверждается, если в списке есть предыдущие транзакции, которые указывают на ваш адрес и которые не были потрачены, т. е. были использованы в качестве «входных» в других транзакциях.
Но есть ещё одна потенциальная уязвимость, которая связана с последовательностью транзакций. Дело в том, что в пиринговой сети информация о транзакциях передаётся от компьютера к компьютеру и нет никакой гарантии, что последовательность получения информации тем или иным компьютером о транзакциях полностью соответствует последовательности их создания.
В пиринговых системах нельзя доверять и указанному времени, так как его легко подделать. В этом отличие от централизованных систем, как PayPal, где центральный компьютер контролирует всю последовательность совершения платежей.
Это представляет теоретическую возможность для мошеннических операций. Например, отправитель платит биткойны, получает в замен товар или услугу, а потом ещё раз платит с того же адреса на другой свой адрес, чтобы и товар получить и биткойн сохранить.
Вследствие вариации во времени получения информации о транзакции разными компьютерами в сети, возможны ситуации, когда одни компьютеры признают действительной первую транзакцию, а другие вторую и в системе возникает конфликт. Чтобы избежать подобных ситуаций система распределяет все транзакции в группы, называемые блоками. Отсюда и название Blockchain, который переводится, как цепочка блоков.
Блоки выстраиваются в цепочку, где каждый последующий блок содержит ссылку на предыдущий и именно с помощью этих ссылок блоки последовательно выстраиваются во времени. Все транзакции внутри одного блока считаются произошедшими одновременно. Транзакции, которые ещё не включены ни в один блок считаются не подтверждёнными.
Кто и как генерируют блоки? Генерация блоков и есть главная цель майнинга. Компьютеры в сети вовлечённые в майнинг проверяют транзакции и пытаются сгенерировать новый блок. Ведь за успешное создание блоков майнеры получают вновь созданные биткойны. Любой компьютер в сети может собирать транзацкии в блоки.
Но как решить чей блок, так сказать победит и будет утверждён, как следующий в цепочке? Решение в системе биткойн заключается в том, что для утверждения блок должен содержать решение специальной математической задачи, т. е. побеждает тот майнер, который решит эту задачу первым.
Задача сама по себе бесполезна и решается простым методом перебора, но сложность её специально подбирается таким образом, чтобы с учётом всей вычислительной мощности в сети решение находилось кем-то одним в среднем раз в десять минут. Таким образом, каждые десять минут генерируется новый блок с транзакциями, а майнер, которые его сгенерировал получает в награду биткойны.
В начале существования системы награда составляла 50 биткойнов. Однако, алгоритм предусматривает, что награда будет сокращаться вдвое каждые четыре года. И на сегодняшний день она составляет 25 биткойнов.
Кому повезёт, кто решит задачу, создаст следующий блок и получит биткойны решает случай. Однако, те у кого более мощные компьютеры имеют больше шансов. Вероятность добычи биткойна тем или иным майнером легко посчитать. Это результат деления его вычислительной мощности на совокупную мощность всех компьютеров, задействованных в майнинге.
Майгинг, таким образом, является своеобразным механизмом эмиссии биткойнов, а также регулирование и подтверждение транзакций. Он предотвращает попытки манипуляции или мошеннических операций в системе. Ведь, чтобы обмануть систему злоумышленнику придётся понести огромные расходы, связанные с вложением в вычислительные мощности.
В то же время случайность генераций блоков гарантируют, что любые мошеннические операции будут быстро обнаружены, так как вероятность генерации нескольких блоков подряд одним лицом ничтожно мала.
Уортон запускает программу сертификации руководителей по экономике блокчейна и цифровых активов, став первой бизнес-школой из группы элитных колледжей «Лиги плюща».
Генеральный директор криптовалютной биржи Binance Чанпэн Чжао сообщил, что компания откроет несколько штаб-квартир и одна из них будет находится в Ирландии.
Власти Лаоса запустили пилотную программу по тестированию майнинга и торговли криптовалютами в стране. В программе примут участие более десятка местных компаний.
Генеральный директор MicroStrategy Майкл Сэйлор (Michael Saylor) считает, что биткоин – это цифровая собственность, а не цифровая валюта, поэтому он не может пошатнуть финансовую систему.
По результатам опроса Управления по финансовому надзору Великобритании (FCA) количество британских инвесторов в криптовалюты выросло с 1.9 млн в прошлом году до 2.3 млн в 2021-м.
Согласно заявлению основателя децентрализованной биржи Uniswap Хайдена Адамса, разработчики платформы скоро вновь запустят программу майнинга ликвидности на площадке.