Статьи

Введение в Биткойн

Bitcoin

Биткойн — это «цифровая валюта», которой в последнее время уделяется немало внимания. Откуда он берется и как определяется его стоимость? Это приемлемый способ совершать / получать платежи в виде биткойнов?

Биткойн — это виртуальная валюта с открытым исходным кодом, существующая исключительно в цифровой форме. Это первая децентрализованная одноранговая платежная сеть, основанная на ее пользователях без каких-либо центральных полномочий или посредников.

Кто это создал?

Концепция Биткойн была представлена ​​и разработана Сатоши Накамото. В ноябре 2008 года в список рассылки была опубликована статья под названием «Биткойн: электронно-кассовая электронная система». В этом документе описаны методы использования одноранговой сети для генерации так называемой «системы электронных транзакций без доверия».

В январе 2009 года сеть Биткойн появилась с появлением первого открытого клиента Биткойн. Сатоши покинул проект в конце 2010 года, не рассказав много о себе. С тех пор сообщество выросло в геометрической прогрессии, и многие новые разработчики работают над протоколом Биткойн.

Как работает биткойн?

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

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

От куда это?

Чтобы валюта имела какое-либо значение, количество монет должно быть ограничено. Новый биткойн генерируется, когда для математической задачи Сатоши найден новый набор решений.

Процесс поиска новых решений математической проблемы Сатоши с использованием компьютеров обычно называют «майнингом биткойнов». Новые монеты медленно добываются, следуя взаимно согласованному набору правил. Пользователь, добывающий биткойны, запускает программу, которая неустанно ищет решение очень сложной математической задачи, сложность которой точно известна.

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

Преимущества и недостатки

Преимущества биткойнов перед обычными формами валют:

  • Легкие и быстрые платежи : платежи в биткойнах, как правило, простые и быстрые. Пользователю биткойнов просто нужен адрес, на который он намерен перевести монеты. Транзакция будет завершена в течение нескольких секунд.

  • Безопасный . Поскольку в протоколе Биткойн используется криптография с высокой степенью защиты, он обеспечивает безопасность транзакций. Транзакции могут быть авторизованы только с кошелька. Однако безопасность кошелька зависит от пользователей и шагов, которые они предприняли для его защиты.

  • Анонимные транзакции : личность пользователей Биткойн и кошельков Биткойн являются частными.
    Адреса, созданные для транзакций биткойнов, также являются частными. Тем не менее, биткойн-транзакции являются общедоступными, отслеживаемыми и постоянно хранятся в сети Биткойн. IP-адреса пользователей в сети Биткойн также регистрируются. Поэтому рекомендуется использовать другой IP-адрес или скрыть IP-адрес вашего компьютера для ваших транзакций, если вы хотите, чтобы ваша личность оставалась анонимной.

  • Низкие или нулевые комиссионные за транзакции : Комиссионные за транзакции в биткойнах обычно являются добровольными и ускоряют подтверждение транзакции.

Биткойн имеет свои недостатки, также:

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

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

  • Кривая обучения : использование биткойнов для платежей требует, чтобы пользователь приобрел определенные знания об использовании биткойнов и особенно о том, как обеспечить безопасность биткойн-кошелька. Это включает в себя знание того, как создать кошелек, безопасность кошелька, личность и безопасность владельца кошелька, использование разных адресов для разных транзакций и т. Д.

  • Экспериментальная валюта : поскольку биткойн все еще находится в стадии разработки, никто не может быть уверен в его будущем. В системе могут быть технические недостатки или уязвимости, которые еще не обнаружены.

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

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

Биткойн как способ оплаты в рубине

Доступ к биткойн-сети возможен через JSON-RPC. В следующем коде, приведенном в вики Bitcoin ), подробно описывается, как подключиться к сети Bitcoin и выполнить некоторые основные запросы.

require 'net/http'
require 'uri'
require 'json'

class BitcoinRPC
  def initialize(service_url)
    @uri = URI.parse(service_url)
  end

  def method_missing(name, *args)
    post_body = { 'method' => name, 'params' => args, 'id' => 'jsonrpc' }.to_json
    resp = JSON.parse( http_post_request(post_body) )
    raise JSONRPCError, resp['error'] if resp['error']
    resp['result']
  end

  def http_post_request(post_body)
    http    = Net::HTTP.new(@uri.host, @uri.port)
    request = Net::HTTP::Post.new(@uri.request_uri)
    request.basic_auth @uri.user, @uri.password
    request.content_type = 'application/json'
    request.body = post_body
    http.request(request).body
  end

  class JSONRPCError < RuntimeError; end
end

if $0 == __FILE__
  h = BitcoinRPC.new('http://user:[email protected]:8332')
  p h.getbalance
  p h.getinfo
  p h.getnewaddress
  p h.dumpprivkey( h.getnewaddress )
end

Полный список вызовов API описан здесь

Вывод

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