Зміст
Що таке підтвердження транзакції
Коли ви вирішуєте відправити кому-то кошти, ви створюєте свого роду лист в мережу про те, що створена нова транзакція. Для отримання цієї інформації іншим гаманцях потрібна всього лише 1 секунда. Однак ви не побачите такого повідомлення відразу. Через те, що платіж не підтверджений, потрібно буде використовувати консольную команду «show_transfers pool».
Підтвердження — це включення перекладу в новий блок. Воно відбувається завдяки роботі Майнер. Так, вони використовують свої обчислювальні потужності для так званого прогону хеш-суми переказу через весь Blockchain з метою перевірити, чи не була вона використана раніше.
Таким чином, непідтверджені транзакції не видно в мережі, а значить зовсім недоступні для використання. Підтверджені ж дають другій стороні зрозуміти, що кошти дійсно були відправлені і вони існують. Проте, поспішати з виконанням своїх зобов’язань після першого включення не варто.
Навіщо це потрібно
Даний процес потрібен для забезпечення захисту коштів, а також запобігання подвійного витрати.
Подвійна трата — це використання одних і тих же монет з одного балансу. Здійснюється шляхом створення декількох оголошень про транзакції в мережу.
Є кілька способів атакувати мережу, щоб повторна трата була успішною:
- race attack — використовується у випадках, коли магазин приймає нульові платежі;
- finney attack — схоже на попередній спосіб, однак вимагає участі Майнера;
- brute force — вважається успішною, якщо зловмисник встигне вирішити більше блоків, ніж вимагає магазин для прийняття платежу (удача залежить від потужності устаткування);
- 51% — те ж саме, що попередня, але має шанс успіху 100%. Мається на увазі, що зловмисник володіє 51% потужності всієї мережі.
Таким чином, щоб вас не обдурили, завжди чекайте, поки транзакція набере хоча б кілька підтверджень, перш ніж виконувати свою частину зобов’язання. Бо сьогодні ні одна людина не володіє 51% потужності монери, тому він не зможе відкрити більше блоків ніж потрібно за конкретний проміжок часу.
Вимоги мережі XMR
Якщо здійснюється переказ між звичайними користувачами, в більшості криптовалюта є певна кількість підтверджень, без якого гроші можна використовувати. Наприклад, у Bitcoin воно дорівнює шести. Це обумовлено тим, що на сьогодні одному Майнер вдавалося відкрити максимум 6 блоків поспіль.
Отримані XMR стають доступними після 10 підтверджень. За часом це займає приблизно 26 хвилин. Це обумовлено тим, що кожен блок відкривається приблизно за 2 хвилини. Так, коли стає відомо про новий переклад, він потрапляє в мемпул.
Після цього вона чекає, поки з’явиться наступний блок. Потім потрібно якраз ці 2 хвилини, щоб вона була записана в нього. Так, перше включення займає може займати до 4 хвилин. Наступні займають лише 2, оскільки в один з блоків переклад вже включений.
Хто в пріоритеті
Як ви розумієте, кожен платіж має свій розмір. При включенні в блок він займає частину його обсягу. Таким чином вони заповнюються, що іноді може створювати затримки в мережі. Так відбувається, якщо в мемпуле більше транзакцій, ніж може прийняти один блок.
Якщо немає місця для включення перекладу, даний процес буде відкладений до знаходження наступного блоку. А це значить плюс 2 хвилини до очікування. І так за кожний наступний, в якому не вистачило місця для вашої транзакції.
З такою проблемою дуже часто стикаються користувачі Bitcoin, оскільки ця криптовалюта дуже популярна і активно використовується в усьому світі, але розмір блоку обмежений лише одним мегабайтом. У випадку з монери таке буває рідше.
Проте, випадки вже зареєстровані. Ви запитаєте, як же захистити себе від цього і не чекати розблокування коштів кілька годин, а то й добу. Адже їх видно на балансі після першого підтвердження. І буває так, що вони терміново потрібні, але використовувати їх не можна до 10 включень.
В такому випадку вам потрібно підняти комісію за проведення вашого платежу. Чим вона вища, тим швидше буде включена в наступний блок. Це пов’язано з тим, що всі комісійні збори отримують Майнер, які і займаються підтвердженням. Чим вище оплата роботи — тим вище пріоритет виконання.
Не буває суворих рамок
Іноді в мережі бувають розбіжності. Block Time Monero розраховане, в середньому, на 2 хвилини. Даний показник коригує складність Майнінг. Залежно від того, скільки було витрачено на попередній блок, вона зростає або падає. Відповідно наступний може бути вирішене як за 2:30 хвилини, так і за півтори.
Вам не варто лякатися, якщо мережа не перевантажена, і ви встановили хорошу комісію, але транзакція все одно затримується, або приходить занадто швидко. Це безпосередньо пов’язано з часом блоку. Адже якщо буде багато затримок і сильно зростаюча складність, то доведеться чекати не 26 хвилин, а півгодини.
висновок
Кількість підтверджень безпосередньо залежить від криптовалюта, яку ви будете використовувати. У випадку з XMR таким числом є 10. Розробники вважають, що цього достатньо для повного поглиблення транзакції в мережу і спокійного використання отриманих коштів. Але насправді, якщо хтось буде володіти 51% мережі, то і 100 включень буде мало.