Биткойн для чайников
Шрифт:
Проведение платежей биткойнами и наличными деньгами происходит схожим образом. Общее количество биткойнов, ассоциированное со всеми входами транзакции, может превышать количество биткойнов, необходимое для заключения сделки, что образует "сдачу". В случае с обычными фиатными валютами сдача выдается покупателю посредством купюр либо монет. В случае биткойн-валюты сдача выдается в форме цифрового права владения на биткойны, ассоциированные с вашим адресом. Если объем биткойнов. хранящихся на адресах-входах, превышает объем, необходимый для отправки на все адреса-выходы, то будет создан дополнительный выход на адрес отправителя, куда и попадет "сдача".
Могу ли я получать биткойны, когда мой компьютер выключен?
На биткойн часто ссылаются как на вариант интернет-денег не только потому, что он больше всего используется в Интернете, но и потому, что вам необходимо иметь активное соединение с Интернетом,
Как только ваши биткойн-адреса в кошельке были сгенерированы, они остаются активными на протяжении вечности — или по крайней мере пока существует блокчейн биткойна Есть ли у вас синхронизированный биткойн-клиент — на компьютере или на устройстве, — не имеет значения, потому что это не влияет на механизм, с помощью которого вы можете получать биткойн-транзакции на свой адрес.
А вот когда дело касается траты биткойнов, активное интернет-соединение необходимо и для пользователей компьютеров и для пользователей мобильных устройств, поскольку выполняемая транзакция должна быть распространена по сети. Чтобы это выполнить, необходимо иметь соединение с Интернетом, подойдут как Wi-Fi, так и мобильный Интернет. Соединение даже не должно быть быстрым — вам просто необходимо быть в режиме онлайн достаточно долгое время, чтобы отправить транзакцию другим узлам в сети. Обычно весь процесс занимает менее секунды.
Представьте, что вы — получатель в биткойн-транзакции, но не подключены в этот момент к Интернету. Средства все равно будут переведены с адреса отправителя на ваш адрес, так как ваш биткойн-адрес "живет" (и будет жить) на блокчейне во все времена. Просто вы не сможете узнать, что средства были перемещены на ваш адрес, пока ваше устройство с ПО биткойка снова не будет подключено к Интернету. Когда это случится транзакция появится в вашем кошельке вместе с указанием количества ее подтверждений на текущий момент.
Каждая биткойн-транзакция отслеживается самой сетью и распространяется через разные узлы, чтобы удостоверить свою подлинности. Даже если ваш компьютер или смартфон не подсоединен к Сети на момент осуществления транзакции, трансфер все равно регистрируется блокчейном. Средства от каждого имевшего место перевода отобразятся в вашем кошельке при последующем подключении к Интернету.
Принцип получения биткойн-транзакций офлайн можно сравнить с принципом получения электронных писем, когда вы не за компьютером. Вы не узнаете, что кто-то прислал вам письмо, пока не проверите почту в Интернете с помощью того или иного устройства. Однако, как только вы откроете почтовый клиент — или биткойн-клиент в данном случае, — его информация синхронизируется с сервером (или блокчейном) и любая новая информация, направленная вам. будет получена в считанные минуты.
Существует несколько способов отправить биткойн-транзакцию другому биткойн-пользователю. Прежде всего, вы можете попросить у получателя его биткойн-адрес и отправить деньги через специальное ПО на вашем компьютере или мобильном устройстве. Для пользователей смартфонов есть более простая альтернатива в форме сканирования QR-кода. генерируемого получателем. Любой тип программного обеспечения биткойна позволяет пользователю создавать QR-коды, которые могут включать адреса для отправки средств на них, а также итоговую сумму сделки.
Например, на ваш адрес в кошельке поступило 5 биткойнов на протяжении определенного периода времени, и теперь вы отправляете 2 биткойна Джо. Транзакция будет иметь один вход (нерастраченные выходы той транзакции, через которую вы получили 5 ВТС) и создаст два разных выхода во время отправки средств Джо. Первым выходом станет транзакция Джо, ему будет отправлено 2 ВТС. Вторым выходом станет транзакция со "сдачей", которая возвращает неизрасходованные 3 ВТС на ваш адрес в кошельке.
Больше информации относительно биткойн-транзакций можно найти здесь: https://bitnovosti.com/2014/07/17/tak-chto-zhe-takoe-bitcoin/.
Получаем подтверждения
Биткойн-транзакциям необходимы подтверждения — они появляются в сети, как только транзакции включаются в новый блок майнерами. (Читайте главу 4 для получения детальной информации о майнерах; это слово является производным от англ, miner — шахтер. Подсказка: кирка и фонарик вам не понадобятся.) Каждый блок, найденный в сети, включает некоторое количество биткойн-транзакций, произошедших чуть раньше. Эти транзакции затем распространяются по сети среди всех биткойн-узлов с целью определения подлинности.
Каждый блок, найденный в биткойн-сети после того, как транзакция была распространена, сможет — при условии, что транзакция подлинная, — предоставить одно сетевое подтверждение. Как уже упоминалось, минимум шесть подтверждений сети необходимо, чтобы "официально" считать биткойн-транзакцию расходуемой (см. следующий раздел).
Подтверждение в мире биткойна означает, что транзакция была признана действительной узлами сети. Без подтверждений транзакция все еще "происходит
между" пользователями, и пока на блокчейне не появится некая форма подтверждения, транзакция представляет собой риск для отправителя и получателя. Определенно, транзакциям на подтверждение понадобится время, но это требование в большей степени — мера безопасности, чем просто досадный раздражитель.Большинство биткойн-кошельков покажут биткойн-транзакцию как "потраченную" (spent), вне зависимости от количества подтверждений сети. Пользователи ПК могут увидеть статус вида "n/unconfirmed", где п показывает количество подтверждений, полученных транзакцией. Получение шести подтверждений в большинстве случаев может потребовать до часа времени, хотя бывают и исключения (в сторону увеличения).
Биткойн-клиент не может "заставить сеть генерировать подтверждения, это действие всецело зависит от майнеров биткойна. Учитывая, что время между появлением биткойн-блоков равняется примерно 10 минутам, не существует способа повлиять на скорость получения подтверждения в период между блоками. Учитывая сказанное, становится понятным, что существует только один решающий фактор, т. е. момент, когда ваша транзакция будет включена в сетевой блок.
Если предположить, что информация о вашей биткойн-транзакция была распространена в сети как раз перед тем. как был найден новый блок, то первое подтверждение может быть получено довольно быстро. Однако, если ваша транзакция будет включена только в следующий блок — а данный процесс является совершенно случайным, — придется ждать чуть больше времени, чтобы получить первое подтверждение.
Главное правило в отношении транзакций следующее: биткойн-транзакция, у которой нет подтверждений, всегда является относительно высоким риском в смысле атаки двойной траты. Говоря упрощенно, двойная трата означает, что биткойн-пользователь может потратить свои средства в биткойн-кошельке дважды (подробнее о двойной трате читайте в главе 10). По факту любая транзакция, у которой еще нет шести подтверждений, несет в себе аналогичный риск. Тем не менее торговцы или платежные процессоры могут устанавливать собственное число необходимых подтверждений. Это правило не касается пользователей, которые пользуются кошельками на ПК, так как средства будут оставаться "неподтвержденными" до тех пор, пока не наберется именно шесть подтверждений сети. Пользователи мобильных устройств, в зависимости от того, какой кошелек они выбрали, обычно могут тратить поступившие им средства значительно раньше.
Учитывая, что каждое подтверждение транзакции происходит в момент, когда в биткойн-сети найден новый блок — что происходит примерно раз в 10 минут, — шесть подтверждений могут появиться только спустя час. Как только транзакция обрела эти шесть подтверждений, монеты становятся доступными к трате для получателя.
Тот час, за который транзакция будет подтверждена, в общем случае может выступать в роли как благословения, так и проклятья. К тому же ожидание появления шести (или более) подтверждений дает дополнительную уверенность, что транзакция настоящая и что вы не стали жертвой атаки двойной траты на сеть биткойна. В конце концов, транзакции биткойна — не возмещаемые, и согласие на транзакцию, не получившую шести подтверждений, может оказаться финансовой катастрофой для получателя.
Имеются сведения о случаях, когда транзакция набрала шесть подтверждений в течение нескольких часов. Тем не менее подтверждения задерживаются все реже и реже, а время зависит от общей используемой для нахождения блоков вычислительной мощности.
Даже несмотря на то, что транзакция считается "подтвержденной" биткойн кошельком по получении шести и более подтверждений, это совсем не делает ее "подлинной" для протокола биткойна. Когда биткойн был создан, в его протокол была вписана некоторая часть кода, отвечающая за признание новых намайненных монет (найденных блоков) подлинными только после того, как они наберут 100 подтверждений. По факту большинство майнинговых пулов биткойна (как было упомянуто в главе 4) не будут высылать майнерам вознаграждения за блоки, пока не получат 120 подтверждений от сети.
Сеть биткойна очень безопасна сама по себе, однако всегда присутствует риск двойной траты. С помощью двойной траты, как уже упоминалось, пользователь может потратить одну и ту же сумму дважды. Чтобы уменьшить шансы проведения подобной атаки, сеть биткойна закрепляет каждую отдельную транзакцию с помощью подтверждений.
В общих чертах самый большой потенциал для атак двойной траты появляется, когда торговцы или поставщики выдают товар или деньги сразу, как только транзакция появилась в сети. Эти неподтвержденные транзакции — также известные как транзакции нулевого подтверждения (zero confirmation transactions) — являются основным риском в смысле двойной траты. В результате всем биткойн-пользователям рекомендуется ждать как минимум 6 подтверждений перед тем, как пытаться пересылать полученные средства. Чем больше подтверждений имеет конкретная транзакция, тем выше шансы, что она подлинная и не является двойной тратой.