Heartwood
Heartwood було активовано в основній мережі Zcash на блоці 903,000 (16 липня 2020 року, UTC).
Що ви дізнаєтесь: як Heartwood дозволив майнерам отримувати винагороду за блоки безпосередньо на захищені адреси, і як він зробив proof-of-work у Zcash придатним для перевірки легкими клієнтами.
Heartwood — це оновлення мережі Zcash, хардфорк правил консенсусу, розгортання якого визначено в ZIP 250. Воно об’єднало дві зміни функціональності: ZIP 213 (Shielded Coinbase) і ZIP 221 (FlyClient). Heartwood було четвертим великим оновленням мережі Zcash, і його спільно підтримували Electric Coin Company та Zcash Foundation. Як і кожне оновлення Zcash, воно встановило новий consensus branch id — тег, який забезпечує двосторонній захист від повторного відтворення, щоб транзакцію, створену за новими правилами, не можна було повторно відтворити в старому ланцюгу, і навпаки.
Heartwood активується на заданій висоті блоку (903,000), а не в конкретний момент часу за годинником, тому точна хвилина, яку ви бачите на панелі моніторингу, може трохи відрізнятися залежно від джерела. Блок і момент залишаються тими самими.
Чому це важливо. Майнери отримують щойно створені ZEC щоразу, коли видобувають блок. До Heartwood цей дохід мав надходити на прозору адресу, яка є публічною. Будь-хто міг бачити, скільки заробив майнер і куди ці монети пішли далі. Heartwood дозволив спрямовувати цю винагороду одразу на захищену адресу, тож оплата майнера може залишатися приватною. Це також зробило можливим для легких гаманців та інших ланцюгів перевіряти proof-of-work Zcash без завантаження всього ланцюга.
Shielded coinbase
Транзакція coinbase — це спеціальна транзакція, яка виплачує винагороду за блок. До Heartwood її виходи мали бути прозорими, тому щойно створені ZEC майнера завжди починали свій шлях на публічній адресі. Heartwood змінив правила консенсусу так, що, за словами ZIP 213, транзакції coinbase можуть містити виходи Sapling. Простими словами, тепер майнери можуть отримувати винагороди безпосередньо на захищені адреси Sapling. Прозорі виходи coinbase як і раніше підтримуються, тож це нова опція, а не примусова зміна.

Чому спочатку Sapling
Shielded coinbase орієнтований саме на виходи Sapling, і на це є причина. ZIP 213 пояснює, що оновлення Sapling принесло архітектурні зміни та покращення продуктивності, які зробили можливим безпосереднє екранування коштів у транзакції coinbase. Початковий захищений пул Sprout вимагав надто багато ресурсів, щоб екранувати кошти прямо в coinbase. Ефективніша система доказів і формат нотаток у Sapling зробили це практичним. Сам Sapling раніше розширив старе правило, яке забороняло захищені виходи coinbase, так, щоб воно також охоплювало виходи Sapling, а Heartwood послаблює це правило, дозволяючи їх. Це хороший приклад того, як оновлення Zcash спираються одне на одне: внутрішня інфраструктура одного оновлення стає основою для наступного.
FlyClient
Heartwood також змінив те, що фіксує заголовок блоку. Поле заголовка, яке раніше називалося hashFinalSaplingRoot, було перепризначене й перейменоване на hashLightClientRoot. Тепер воно фіксує корінь Merkle Mountain Range (MMR) — накопичувальної структури, побудованої на основі даних заголовків і метаданих попередніх блоків, таких як часові мітки, цілі складності, корені Sapling, накопичена робота та кількість транзакцій. Це зобов’язання дозволяє легкому клієнту або зовнішньому ланцюгу перевіряти proof-of-work Zcash за допомогою невеликого доказу, розмір якого зростає лише логарифмічно від довжини ланцюга. У підсумку це дає кращі гаманці для легких клієнтів і простішу інтеграцію зі сторонніми системами та між ланцюгами, оскільки клієнту більше не потрібно завантажувати кожен блок, щоб довіряти роботі, що стоїть за ланцюгом.

Де знаходиться Heartwood у загальній картині
Heartwood — це один крок у низці оновлень Zcash, кожне з яких додає частину, на яку спирається наступне. Overwinter і Sapling з’явилися у 2018 році, Blossom — у 2019, а Heartwood — у 2020 році на блоці 903,000. Пізніше у 2020 році на блоці 1,046,400 вийшов Canopy. Для Heartwood ключовою ланкою в цьому ланцюгу є Sapling: його ефективний механізм захищених транзакцій був технічною передумовою, що зробила можливим shielded coinbase.

Глосарій
| Термін | Значення простою мовою |
|---|
| Network upgrade (NU) | Узгоджена зміна правил консенсусу Zcash, яка активується на заданій висоті блоку |
| Coinbase transaction | Спеціальна транзакція в кожному блоці, яка виплачує винагороду за блок |
| Shielded Sapling address | Приватний тип адреси Zcash, запроваджений оновленням Sapling |
| Shielded coinbase | Зміна в Heartwood, яка дозволяє виплачувати винагороду за блоки на захищені адреси Sapling |
| FlyClient | Метод, який дозволяє легким клієнтам перевіряти proof-of-work за допомогою малих доказів |
| Merkle Mountain Range (MMR) | Накопичувальне зведення попередніх блоків, яке фіксується в заголовку блоку |
| Consensus branch id | Тег, який визначає, правила якого оновлення виконує транзакція; використовується для захисту від повторного відтворення |
FAQ
Чи змінює Heartwood мої ZEC або мою приватність? Ні. Heartwood не зачіпав ваші наявні кошти. Він додав майнерам можливість отримувати винагороди на захищені адреси та покращив підтримку легких клієнтів. Ваші власні баланси та захищені транзакції не змінюються.
Що таке shielded coinbase? Coinbase — це транзакція, яка виплачує винагороду за блок. Heartwood дозволяє спрямовувати цю винагороду на захищену адресу Sapling замість прозорої, тож дохід майнера може залишатися приватним.
Чи повинні майнери тепер обов’язково отримувати захищені винагороди? Ні. Shielded coinbase є необов’язковим. Прозорі виходи coinbase як і раніше підтримуються, тож майнери можуть обирати будь-який варіант.
Чому shielded coinbase використовує Sapling, а не старіший пул Sprout? Тому що ефективніший дизайн Sapling зробив практичним безпосереднє екранування в coinbase. Попередній пул Sprout вимагав для цього занадто багато ресурсів.
Що змінилося для легких клієнтів? Заголовок блоку тепер фіксує Merkle Mountain Range над попередніми блоками через поле hashLightClientRoot. Це дозволяє легким клієнтам та іншим ланцюгам перевіряти proof-of-work Zcash за допомогою малих доказів логарифмічного розміру замість усього ланцюга.
Перевірте своє розуміння
До Heartwood чому винагорода за блок, виплачена майнеру, відображалася публічно, і що змінив Heartwood?
Відповідь
Виходи coinbase мали бути прозорими, тому щойно створена винагорода майнера завжди надходила на публічну прозору адресу, яку міг перевірити будь-хто. Heartwood змінив правила консенсусу (ZIP 213) так, що транзакції coinbase можуть містити виходи Sapling, дозволяючи майнерам отримувати свої винагороди безпосередньо на захищені адреси.
Ресурси
ZIP 250: Розгортання оновлення мережі Heartwood
ZIP 213: Shielded Coinbase
ZIP 221: FlyClient - Зміни на рівні консенсусу
Оновлення мережі Heartwood
Дивіться також
Оновлення мережі Zcash
Захищені пули
Гаманці
zk-SNARKs
Electric Coin Company
Zcash Foundation
Серія: Індекс оновлень мережі · Попереднє: Blossom · Наступне: Canopy