Біткоїн на вашому сайті

Важливою умовою для успішного розвитку кипровалюти є її прийняття суспільством в якості засобу обміну на товари та послуги. В сучасному світі поширений процес продажу товарів через інтернет. Для реалізації цього способу продажу, зазвичай використовують програмне забезпечення від фінансових установ – банків. Банки надають продавцю (мерчанту) спеціально розроблений набір програмних інструментів API-merchant (API – application programming interface), який пов’язує сайт продавця з послугами банку, і надає змогу здійснювати електроні платежі, приймати оплату за товари чи послуги безпосередньо на сторінці сайту.

Але API-merchant має суттєві недоліки:

  • Складна верифікація власника сайту. Власник сайту повинен мати рахунок в банку. Банк встановлює вікові обмеження;
  • Вимоги банку до сайту продавця, які встановлює чинне законодавство, та політика банку;
  • Необхідно мати схвалення банку на використання API;
  • Банк залишає за собою право контролювати проведення платежів. Банк встановлює ліміти на суму платежу, має змогу заблокувати проведення платежу, може змінити умови використання API без попередження продавця;
  • Встановлення мінімальної та максимальної суми платежу.

Такі вимоги стримують та обмежують вільну підприємницьку діяльність.

Прикладом фінансових установ, які надають API-merchant, є платіжна система WebMoney, ПриватБанк, LiqPay та багато інших.

Біткоїн, завдяки своїм якостям, вирішує перелічені складнощі прийому платежів на сайті, які супроводжують API-merchant від фінансових установ.

Щоб приймати біткоїни в якості оплати на вашому сайті необхідно мати на сервері блокчейн, або використовувати API-merchant з сайтів які мають на своїх серверах встановлений блокчейн. В першому варіанті, не кожен має змогу виділити понад сто гігабайт серверної пам’яті під блокчейн, а в другому випадку, сайт який надає API-merchant також встановлює свої вимоги, та потребує хоч і меншої, але все ж таки верифікації продавця, та має змогу надавати, або скасовувати дозвіл на використання API. Також залишається проблема зміни правил та вимог без попередження продавця.

Прикладом проблем з API-mercant може бути ситуація, яка сталась зі мною. Для прийому біткоїнів в якості оплати за певний цифровий товар я використовував API-merchant від сайту blockchain.info. Все працювало бездоганно, в автоматичному режимі. Але через деякий час я помітив відсутність грошових надходжень з цього сайту. Після перевірки з’ясувалось що blockchain.info змінили вимоги, і для використання їх API необхідно було зв’язуватись з адміністрацією для отримання спеціального ключа, який і відкривав можливість використання API. Це не дуже зручно, і не завжди влаштовує продавця.

Схема використання API-merchant на сайті полягає в тому, що ви використовуєте спеціальний програмний код, який звертається до сайту API-merchant, відправляє створений платіж. Сайт API-merchant, використовуючи власну копію блокчейну, перевіряє надходження оплати за даними параметрами, які були відправлені з вашого сайту в момент оформлення покупки покупцем. В момент надходження оплати, сайт API-merchant відправляє на ваш сайт (на спеціальний файл-обробник) відповідь, і ваш сайт, за даними відповіді завершує оформлену покупцем покупку. Ідентифікація акту оформлення покупки на вашому сайті відбувається через спеціально згенерований ID-замовлення, який формується відповідно встановленим на вашому сайті правилам. Саме він відправляється на сайт API-merchant і потім повертається у відповіді. В цьому і криється сутність роботи API.

Біткоїн дозволяє обійтись без використання API-merchant завдяки відкритості блокчейну і деяким хитрощам.

Для передачі ID-замовлення можна використовувати суму замовлення. Річ в тім, що курс біткоїна відносно низький, а розрядність суми велика (1 / 100000000). Тобто, наприклад при курсі біткоїну 1000,00$ один цент в биткоїнах коштуватиме 0,00001000 btc. Як бачимо, останні три нулі це сума яка менша за 1 цент. Саме ці три останні нулі можна використовувати для запису ID-замовлення, і передавати цей ID разом із сумою замовлення в блокчейн. Ця ID-сума від 0,00000000 btc (0,00 usd) 0.00000999 btc (0,00999 usd) буде становити своєрідну плату за проведення транзакції. Як бачимо ця плата за транзакцію може бути або зовсім відсутньою, або бути не більше центу. Таку мізерну суму за проведення транзакції може сплатити як продавець товару, так і покупець.

Загалом, процес оплати біткоїнами на сайті без використання API-merchant виглядає таким чином:
1. Покупець натискає кнопку “Оформити заказ”. На цьому єтапі покупець вводить необхідну інформацію у відповідні поля;
2. Покупець натискає кнопку “Оплатити”. В цей момент, формується ціна товару в біткоїнах з точністю до п’ятого знаку після коми (наприклад 1,00 $ = 0,00100 btc), а також генерується номер ID-замовлення, від 0 до 0,00000999 btc (для прикладу 0,00000125), і додається до ціни товару (або віднімається): 0,00100 + 0,00000125 = 0,00100125 btc. Кінцева сума в розмірі 0,00100125 btc – це сума яку сплачує покупець. Генерується qr-code який містить вашу біткоїн-адресу та кінцеву суму для оплати покупцем.
3. Покупець сканує qr-code та здійснює оплату за товар біткоїнами. Таким чином, покупець оплачує товар, та відправляє ID-замовлення безпосередньо в блокчейн. В цей час, спеціальний скрипт на вашому сайті автоматично, через певні проміжки часу (наприклад 1-10 секунд) звертається до блокчейну, використовуючи вже не API-merchant а API-загального доступу до блокчейну з того ж сайту blockchain.info, та перевіряє надходження коштів на свою біткоїн-адресу продавця. Як тільки транзакція від покупця з’являється в черзі запису в блокчейн, скрипт на вашому сайті знаходить відповідний запис в файлі очікування транзакцій порівнюючи суму яка є унікальною і неповторною саме для даного замовлення, та завершує замовлення.

В цій схемі ми використовуємо API-загального доступу до блокчейну. Це API відрізняється від API-merchant тим, що не має обмежень та заборон, бо воно віддзеркалює сутність самого блокчейну – відкритий доступ. Сайтів які надають API-загального доступу до блокчейну багато, це API безкоштовне, вільне. Додавши декілька сайтів з API-загального доступу до блокчейну, які спрацьовуватимуть в разі відсутності доступу до одного сайту, ви забезпечите гарантоване, безперебійне функціонування вашої системи.

Залишається ще одне питання, питання пропускної здатності такої системи. Скільки людей може оформити транзакції в певний проміжок часу?

Фактори, які обумовлюють пропускну здатність такої системи наступні

  1. Проміжок часу між моментом оплати та появою транзакції в черзі для запису в блокчейн;
  2. Кількість транзакції створених покупцями за цей проміжок часу.

Якщо максимальна кількість вільних номерів ID-замовлення від 0 до 999, а проміжок часу появи транзакції в черзі запису до блокчейну 10 хвилин (час за який генерується один блок блокчейну), то пропускна здатність системи 1000 / 600 секунд = 1,6 транзакцій на секунду, або 6000 актів оплати товару на день. Якщо ваш інтернет-магазин за день має більше 6000 покупців, то під номери ID-замовлення можна віддати не три нулі а чотири нулі, тобто від 0 до 0,00009999 btc (від 0 до 0,09$). В такому разі, пропускна здатність системи збільшиться в десять разів і складатиме 60000 покупців на день.

Описана система оплати біткоїнами на вашому сайті забезпечує необхідну пропускну здатність, та дозволяє приймати оплату від 0,00001000 btc. Такі малі суми оплати можуть використовуватись в рейтингових системах в блогах, інформаційних сайтах, сайтах новин, або сайтах які надають корисну читачам інформацію.

Практичну реалізацію описаної системи ви можете бачити на цьому сайті у вигляді рейтингової системи під статтею. Якщо навести курсор на значок біткоїну з’явиться сума винагороди в біткоїнах (та гривні по курсу) яка відповідатиме певному балу. При натисканні на обрану оцінку, з’являється qr-code з сумою винагороди. Обраний бал зараховується лише після оплати зазначеної суми читачем.

Біткоїн (і інші криптовалюти) дозволяють вести вільну підприємницьку діяльність без обмежень для кожного хто бажає. Навіть десятирічні школярі мають змогу займатись підприємницькою діяльністю використовуючи в якості універсального засобу обміну біткої.

Використовуйте біткоїн в повсякденних економічних стосунках. Приймайте рішення, та сповіщайте ваших клієнтів про прийняття до оплати за ваш товар біткоїнів.

Питання, пропозиції, вільне спілкування на тему біткоїна та криптовалют в Telegram @bitzone