- Повернутися до менюЦіни
- Повернутися до менюдослідження
- Повернутися до менюКонсенсус
- Повернутися до менюСпонсорський матеріал
- Повернутися до меню
- Повернутися до меню
- Повернутися до меню
- Повернутися до менюВебінари та Заходи
Створення кращого ринку комісії за Bitcoin
Тепер Bitcoin може мати ринок комісії, але це T означає, що мережа оптимізована для цього середовища, стверджує розробник Джеймсон Лопп.

Протягом останнього року ми спостерігали, як ринок комісії за транзакції Bitcoin розвивався швидкими темпами. Оскільки обсяг транзакцій продовжує зростати, зростає і попит на блоковий простір, який залишається в обмеженій кількості в 1 мегабайт (МБ) приблизно кожні 10 хвилин.
Оскільки ми маємо дискутували У зв’язку зі збільшенням пропозиції блокового простору до нудоти ця стаття буде зосереджена на історії та поточному стані комісій за транзакції Bitcoin .
Справа в тому, що тиск, спричинений великою боротьбою за блоковий простір, погіршив взаємодію з користувачем і, таким чином, спонукав Bitcoin гаманці вносити корективи, щоб KEEP своїх користувачів щасливими, забезпечуючи своєчасне підтвердження транзакцій.
Однак ми далекі від роботи на оптимальному ринку комісій.
Історія комісій за транзакції
Протягом перших кількох років існування біткойна комісії за транзакції були необов’язковими – вони вважалися пожертвою майнерам.

Гаманці сплачували однакову комісію за кожну транзакцію – за замовчуванням будь-яка комісія, яку розробник гаманця вважав прийнятною.
Комісія за замовчування змінювалася кілька разів протягом багатьох років, коли обмінний курс Bitcoin зростав, з 0,01 BTC до 0,0005 BTC до 0,0001 BTC. Існували також правила навколо "пріоритетні операції", що дозволяло користувачам відправляти транзакції без комісії, якщо вхідні дані були застарілими та достатньо цінними, хоча на даний момент майнери здебільшого їх припиняють.
Протягом багатьох років ми дізналися, що жорстко закодовані комісії за статичні транзакції жахливі з кількох причин:
- Для майнерів важлива не абсолютна комісія, а ставка комісії за байт даних транзакції. З точки зору майнера, у них є лише 1 МБ простору, куди вони хочуть вставити якомога більше транзакцій, щоб отримати більше комісій. Таким чином, 200-байтова транзакція з комісією 0,0001 BTC є кращою, ніж 1000-байтова транзакція з комісією 0,0001 BTC, оскільки вони можуть вставити п’ять перших і отримати в п’ять разів більше комісій.
- З точки зору користувача, якщо ви завжди встановлюєте статичну комісію, ви, ймовірно, зрештою створите транзакцію великого обсягу даних (через використання багатьох низьких вхідних даних) із дуже низькою ставкою комісії, яка може ніколи не бути підтвердженою.
- Гаманці зі статичними комісіями T можуть адаптуватися до ринкових умов, що швидко змінюються, в результаті чого користувачі транслюють транзакції, які переплачують або недоплачують. Перший T отримає підтвердження транзакцій набагато швидше, тоді як другий призведе до тривалого часу підтвердження, оскільки майнери пропускають їх на користь більш прибуткових транзакцій для підтвердження.
Випуск о Bitcoin 0.3.15 у листопаді 2010 року було внесено зміни для початку розрахунку комісії відносно обсягу даних транзакції, але не кожне програмне забезпечення гаманця наслідувало цей приклад, і багато користувачів продовжували сліпо встановлювати однакову статичну комісію для кожної транзакції. Загалом це не було проблемою, доки ми не почали зіштовхуватися з максимальним розміром блоку, оскільки майнери підтверджували практично будь-яку дійсну транзакцію, яка їм була успішно передана.
Коли в 2015 році блоки почали заповнюватися, стало зрозуміло, що найкращим є використання алгоритму динамічної комісії, оскільки він може реагувати на зміну умов у мережі.
Bitcoin CORE почав розраховувати динамічні оцінки комісії випуск 0.10 у лютому 2015 року, і відтоді Алекс Моркос постійно їх вдосконалював. Алгоритм оцінки гонорару Core досить складний; ви можете перегляньте його код тут і пояснення англійською тут.
Виникає платний ринок
Антуан Ле Кальвез, розробник p2sh.info, надає історичний аналіз динамічних і статичних зборів.
Ось останні два роки:

Під час мережевих стрес-тестів і атак ми бачимо значні стрибки в динамічному використанні плати минулої осені.
Однак я підозрюю, що це сталося не через перехід звичайних користувачів на гаманці з динамічними комісіями, а через зловмисники самі сплачують гонорари що вони навмисно встановлюють вищі, ніж статичні комісії, які використовуються на той час більшістю гаманців.
Деякі з більш досвідчених користувачів коригували свої жорстко закодовані комісії під час атак, але це, ймовірно, була невелика меншість від загальної кількості транзакцій. Ми також можемо побачити стрибок на початку березня 2016 року – це, ймовірно, частково результат нового гаманця Blockchain розгортання динамічних зборів про а місяцем раніше.
Расті Рассел виступав відмінний аналіз ринку комісій, що розвивається, у грудні 2015 року, який показав, що більше транзакцій використовують динамічно розраховані комісії, і що середня вартість транзакції зростає, оскільки невеликі платежі виходять за межі блокчейну.

Ей Джей Таунс доповнив пост Расті більш глибокий аналіз. Він виділив вісім окремих фаз ринку комісії протягом історії біткойна:
Таунс продовжив своє розслідування в другий пост і прийшов до кількох висновків щодо впливу, який ринок комісії, що розвивається, мав на користувачів.
Це були:
- Значна кількість гаманців динамічно обчислює комісію з побайтною деталізацію.
- Багато гаманців досі T розраховують комісію динамічно або навіть не розраховують комісію на рівні за байт.
- Зумовлені ринком комісії зможуть зрости лише за умови збільшення кількості гаманців, які підтримують динамічні оцінки комісії.
- Значна переплата ринкового курсу не прискорить підтвердження транзакції.
- Було дві Заходи , які вплинули на гаманці зі статичними комісіями, і незабаром відбудеться третя комісія.
- Гаманці, які динамічно обчислюють комісії, в середньому платять значно нижчі комісії, ніж ті, які цього не T.
Я відстежував оцінки гонорарів Bitcoin Core за допомогою Statoshi; тут ви можете побачити, що за останні шість місяців вони зросли втричі, оскільки боротьба за блоковий простір продовжує зростати.

Calvez також надає інформаційну панель із усіма загальнодоступними API оцінки комісії та їхніми історичними оціночними даними:

Цікаво, що оцінки комісії 21, BitGo і Blocktrail, як видається, найбільше реагують на зміни ринкових умов, тоді як BitPay, Blockchain і BlockCypher мають менш мінливі оцінки.
Однак для мене було б недбалістю рекомендувати всім перейти на використання динамічно обчислюваних комісій за транзакції, не звернувши уваги на пов’язані з цим небезпеки.
Як кажуть, кожне рішення веде до нових проблем. Комісії за динамічні транзакції не є винятком.
Динамічні труднощі
Динамічні оцінки комісії ніколи не будуть ідеальними, оскільки вони є спробою передбачити (NEAR) майбутнє.
як датський фізик Нільс Бор якось пожартував: «передбачити дуже важко, особливо щодо майбутнього». Якщо алгоритм оцінки комісії не в змозі правильно передбачити майбутній стан ринку комісії, користувачі потрапляють у "платна пастка", як зазначив доктор Вашингтон Санчес з OpenBazaar.
Це може статися, якщо ви транслюєте транзакцію з цілком розумною комісією для поточних ринкових умов, але відразу після цього інші користувачі транслюють багато інших транзакцій з більшою комісією, що фактично відсуває вашу транзакцію на кінець черги пріоритетів майнерів. Проблема в тому, що ви не T без цього Замінити платою (RBF), оновіть свою «ставку», щоб компенсувати нові ринкові умови.
Помилки в алгоритмах оцінки комісії також можуть спричинити хаос на ринку комісії. Візьмемо, наприклад, недавню помилку користувача, яка призвела до того, що хтось створив транзакцію з колосальною сумою Комісія 300 BTC. Це було досить погано для невдалого користувача, який, ймовірно, вклав суми «комісії» та «вартості» в якесь погано закодоване програмне забезпечення, але це також мало хвилі:
[вставити]https://twitter.com/khannib/status/725090752531959808[/вставити]
Це обґрунтоване припущення, але здається, що «ціль блокування від 1 до 2» BlockCypher використовує алгоритм оцінки комісії на основі зваженого ковзного середнього комісії за останні два дні блокування. У результаті, коли було видобуто комісійну транзакцію в 300 BTC , середня комісія за останній час і, отже, їх оцінка зросла на 800%.
Але це не має на меті вибирати BlockCypher, оскільки ми бачили, що багато гаманців мають проблеми з комісіями за транзакції. Навіть Bitcoin CORE не є винятком, оскільки нещодавно я спостерігав несподіваний сплеск оцінок комісії за Bitcoin CORE 0.12.0:

Я помітив, що 27 лютого оцінка комісії Statoshi.info «для двох блоків» зросла з 44 до 112 сатоші за байт без видимих причин. Мої інші Bitcoin вузли не повідомили про такий самий сплеск.
Можливо, це можна пояснити відмінностями в транзакціях mempool, оскільки алгоритм оцінки комісії Core використовує лише комісії з транзакцій, які спочатку були отримані як непідтверджені.
Це викликає занепокоєння та є демонстрацією негативної сторони екстраполяції майбутнього на основі погляду вашого вузла на мережу, який не гарантовано буде таким самим, як у всіх інших.
Макро крах
Незважаючи на те, що розробникам Bitcoin доводиться стикатися з багатьма проблемами для кожної транзакції, ми також повинні усвідомлювати вплив на ринок комісії в цілому.
Я стурбований кількома можливими сценаріями, які можуть призвести до зростання комісій швидше, ніж необхідно:
- Погано закодовані динамічні алгоритми комісії можуть створити цикл зворотного зв’язку, який підвищує ставку комісії без обмеження, оскільки транзакції продовжують заповнювати мережу, не враховуючи відставання в mempool. Це не викликає великого занепокоєння, якщо більшість транзакцій ініціюються людьми, які потім бачать відображену комісію та вирішують, чи є вона занадто високою для їхніх смаків. Однак, якщо багато транзакцій створюються автоматично без будь-якого прийняття рішень Human , а алгоритми, які їх створюють, T мають жодних перевірок максимальної сплаченої комісії, ринок може втекти, доки інженери, які написали ці алгоритми, не помітять і не внесуть у них зміни.
- Розчаровані користувачі (або ліниві розробники), які все ще покладаються на жорстко закодовані комісії, можуть KEEP вручну оновлювати налаштування свого гаманця, доки їхні транзакції не почнуть отримувати підтвердження, ймовірно, значно переплачуючи, але врешті-решт змушуючи інших користувачів статичної комісії робити те саме, щоб залишатися конкурентоспроможними. У результаті користувачів динамічної плати буде підтягнуто вгору. Я вже спостерігав, як відбувається перше, хоча ще не настільки, щоб це суттєво вплинуло на динамічні збори.
[вставити]https://twitter.com/lopp/status/713095965155192832[/вставити]
ONE з останніх подій, яка T привернула особливої уваги, незважаючи на те, що вона може вплинути на ринок комісій, є розвиток вторинних Ринки комісії майнерів.
Це може мати форму спеціальних програм заохочення клієнтів, таких як Сервіс BlockPriority від BTCC або це може прийняти форму приватної передоплаченої купівлі блоків. Це створює проблеми для будь-яких розробників, які пишуть алгоритми оцінки гонорарів, оскільки зараз існують непрозорі Ринки комісій, які невидимі для решти світу.
Процитую прес-реліз BTCC:
«BlockPriority визначає пріоритетність усіх транзакцій клієнтів BTCC, включаючи тих, хто не сплачує комісії за транзакції».
Це не повинно бути проблемою для алгоритму оцінки комісії Bitcoin Core, оскільки він вимагає підтвердження 95% транзакцій mempool із заданою ставкою комісії після перегляду в X блоках, але це може вплинути на більш наївні алгоритми. Урок для розробників полягає в тому, що те, що ви бачите підтвердження транзакцій із низькою комісією X, більше не означає, що для вашої служби безпечно транслювати транзакції з такою комісією.
Майнінг-пулам може бути доцільно продавати передоплачені блокові космічні контракти, оскільки це дає їм новий передбачуваний потік доходу.
Однак я попереджаю пулам: ви T зможете приховати цю активність, якщо вона стане значною частиною ваших видобутих транзакцій. Є багато інженерів гаманців, таких як я, які спостерігають за такою поведінкою, і якщо це стане проблемою, ми опублікуємо інформацію. Я підозрюю, що будь-які публічні пули майнінгу, які, як буде виявлено, беруть участь у такій поведінці, не впораються так добре, якщо окремі хешери виявлять, що пул майнів транзакції з нижчою комісією та не ділився прибутками від контрактів на приватні блоки.
Це може призвести до переходу хешерів до пулу, який, на їхню думку, буде більш прибутковим.
Сегрегований свідок також, ймовірно, вплине на ринок комісій. Він запропонує 75% знижку на комісію, намагаючись відновити баланс між витратами на створення та споживанням невитрачених результатів транзакцій.
Очікується, що це спонукатиме користувачів віддавати перевагу використанню транзакцій, які мінімізують вплив на набір UTXO, щоб мінімізувати комісії та заохочувати розробників розробляти смарт-контракти та нові функції таким чином, щоб мінімізувати вплив на набір UTXO.
Девід Хардінг написав корисну інформацію розподіл заощаджень даних надано SegWit.
[вставити]https://twitter.com/lopp/status/705122188106604546[/вставити]
Я вважаю, що це правильний шлях, хоча я не впевнений, що 75% — це оптимальне число. Мені здається, що найбільш справедлива знижка була б динамічною та базувалася б на співвідношенні розміру вихідних даних до відповідного розміру даних того самого виходу, коли він витрачається як вхід.
Хоча це, звичайно, було б набагато складніше реалізувати, якщо це взагалі можливо.
Рухаючись вперед
Є ще багато гаманців і Bitcoin сервісів, які не запровадили динамічні комісії. Ви знаєте, хто ви, і ваша бездіяльність може призвести до поганого досвіду для деяких із ваших користувачів. Якщо ви T запровадили динамічні комісії, кожна трансакція, яку ви транслюєте, відноситься до ONE з двох категорій:
- Ви переплачуєте за ринкову ставку і не отримуєте підтвердження значно швидше.
- Ви недоплачуєте, і транзакції зависають, що призводить до поганої взаємодії з користувачем.
Дуже малоймовірно, що трансакція трансляції з жорстко закодованою комісією досягне найкращого результату та сплатить оптимальну ставку відповідно до поточних ринкових умов.
Розробники гаманців повинні додати механізми безпеки, такі як порогові значення перевірки працездатності на мікрорівні та автоматичні вимикачі на макрорівні, щоб запобігти користувачам стріляти в себе в стопі.
Гаманці повинні встановлювати мінімальний поріг, вищий за мінімальну плату за передачу. Спостерігаючи за транзакціями з мінімальною комісією, які перетворюються на блоки, ми можемо чітко побачити, що станом на сьогодні, якщо ви платите менше п’яти сатоші за байт, ви погано проведете час.

Розробникам гаманців слід подумати про свої алгоритми оцінки винагороди та написати їх так, щоб вони були стійкими до граничних випадків, які можуть виникнути через помилки в іншому програмному забезпеченні гаманців або зловмисні атаки суб’єктів, які намагаються маніпулювати ринком комісій. Їм також слід відстежувати дані про оцінку комісії та встановлювати сповіщення, щоб повідомляти їх, якщо оцінки стають більш нестабільними, ніж очікувалося.
Але ми повинні визнати, що не існує універсального алгоритму оцінки комісії – це насправді залежить від варіанту використання, до якого підпадають ваші Bitcoin транзакції.
Алгоритм Bitcoin Core прагне бути максимально загальним і консервативним, щоб бути неймовірно надійним, але в деяких випадках використання може призвести до переплати. Кожен гаманець і сервіс повинні вирішити, на який компроміс вони готові піти, щоб збалансувати ризик затримки підтверджень і винагороду від економії грошей на комісіях.
Таким чином, я заохочую всі Bitcoin гаманці зробити свої оцінки комісії доступними через публічні API. Я підозрюю, що самі алгоритми оцінки гонорарів стануть предметом конкуренції та часто залишатимуться закритими джерелами, але якщо оцінки публічні, то нам легше спостерігати за ненормальною діяльністю. Можливо хтось навіть побудує "Середній Bitcoin" агрегатор оцінок комісій!
Ми повинні визнати, що «ринок комісій» — це T зовсім ринок у традиційному розумінні цього слова.
Користувачі можуть робити «ставку», транслюючи трансакцію, але майнери T оприлюднюють свої «запити» – гаманці повинні вгадувати на основі транзакцій, нещодавно підтверджених майнерами, і тих транзакцій, які зараз очікують підтвердження.
Конрад С Граф висловив свої думки на «торговому ринку» останнім часом:
«Комісійні сплачуються; продукти та послуги купуються. Таким чином, цей термін уже приховує справжній продукт. Користувачі подають транзакції з комісією як відкриту ставку в надії на підтвердження. Я описую це як ринок послуг із включення транзакцій. Користувачі пропонують, щоб майнери включали транзакції в блоки-кандидати. Включення в більшу кількість блоків-кандидатів — особливо щодо загального хешрейту майнінгу для цих кандидатів — підвищує шанси на швидше підтвердження. Користувачі віддають перевагу швидшому підтвердженню, ніж повільному, за інших рівних умов, тому часовий елемент дефіциту є ключовим. Це ринок пріоритету підтвердження, ринок часу».
Можливо, якби майнінгові пули опублікували загальнодоступні API зі своїми політиками майнінгу та «постійними тарифами», то це могло б допомогти службам гаманців приймати більш обґрунтовані рішення під час розрахунку динамічних комісій, а не змушувати розробників покладатися на здогади. Це також може допомогти пом’якшити проблеми, спричинені майнерами, які створюють непрозорі вторинні Ринки комісії через контракти на приватні блоки.
Користувачам Bitcoin не потрібно KEEP поточний стан суперечок за блоки.
Гаманці повинні впоратися зі складнощами ринку комісій під обкладинками, надаючи користувачеві кілька простих варіантів під час відправлення транзакції. ONE із можливих шляхів може бути авторизація користувачем максимальної комісії залежно від терміновості транзакції та використання гаманцем RBF для збільшення комісії, що сплачується після кожного блоку, який проходить без підтвердження.
Значення комісії за трансакцію мають відображатися користувачеві у вибраних ним розрахункових одиницях, наприклад доларах. Можливо, також було б доцільно відображати комісію у відсотках від вартості транзакції, якщо вона перевищує певний поріг, наприклад 1%. Це полегшить користувачам рішення про те, чи є поточний стан ринку комісійних надто суперечливим і чи вони віддадуть перевагу відкласти здійснення транзакції, поки вони не зможуть безпечно зробити це за нижчою ставкою комісії.
Коли ми обговорюємо комісію за транзакції, користувачам Bitcoin слід припинити говорити, що вони заплатили «X центів» або «Y біт» комісії за транзакції, тому що такий тип заяви є безглуздим, не знаючи розміру транзакції. Нам слід стандартизувати використання ставок комісії в обговореннях, бажано виражених у сатоші за байт. Людям простіше написати та KEEP «20 сатоші на байт» порівняно з «20 000 сатоші на кілобайт».
Еволюція ринку комісії за транзакції біткойнів до цього моменту була складною.
Спочатку гонорари встановлювалися вручну розробниками, потім користувачами, а зараз ми перебуваємо в більш хаотичному та потенційно небезпечному моменті, коли розробники відіграють більш активну роль у керуванні економікою цього ринку, що розвивається.
ATLAS Кристова красномовно відзначив ризики ми беремося шляхом централізованого планування економічних змін у Bitcoin , не вивчаючи їх повністю; Розробники повинні KEEP на увазі це під час написання алгоритмів оцінки плати. Ми повинні прагнути до того, щоб ринок гонорарів залишався керованим людьми за допомогою машин, а не навпаки. Розробники гаманців повинні бути обережними, будуючи свою логіку комісії, щоб ми могли забезпечити зручну роботу користувача, не позбавляючи користувачів свободи вибору, яка є необхідною для підтримки функціонування ринку комісії.
Зображення від Дена Нотта для CoinDesk
Jameson Lopp
Джеймсон Лопп є технічним директором і співзасновником Casa, служби самоопіки. Шифрпанк, метою якого є розробка Технології , яка надає людям можливості, він створює багатопідписні Bitcoin гаманці з 2015 року. До заснування Casa він був провідним інженером інфраструктури BitGo. Він є засновником Bitcoin Special Interest Group Mensa, зустрічі Triangle Blockchain and Business і кількох проектів Bitcoin з відкритим кодом. Весь цей час він працював над тим, щоб розповісти іншим про те, чого він навчився на важкому шляху під час написання надійного програмного забезпечення, яке може протистояти як ворогам, так і недосвідченим кінцевим користувачам.
