Як завжди з моїми статтями "WTF is...", я люблю почати з реального аналогу, щоб люди могли отримати суть і відразу ж забити, якщо їм байдуже до деталей.
Для цієї теми ми будемо використовувати затвердіння бетону з часом:
Це загальний рівень того, що означає «остаточність» в контексті блокчейнів. Так само, як бетон, з часом, починаючи з моменту заливання (початкове підтвердження) і закінчуючи встановленням (кілька підтверджень), легкість, з якою початковий блок більше не може вважатися „правильним“, стає все складніше, поки він повністю не затвердіється (остаточний). Як тільки це станеться, це практично неможливо.
У короткому вигляді просто запам'ятайте послідовність кроків:
Подано -> Підтверджено -> Завершено
Якщо цього достатньо для вас, щоб вважати цей випадок закритим, я запрошую вас поставити лайк статті і продовжити свій день. Якщо ви хочете поглибитися в питанні як, що і чому закінчення (у контексті Ethereum), продовжуйте, мій друг.
Добре - давайте спробуємо створити деяку структуру навколо цього концепту та зрозуміти його. Щасливо, це дає нам щось, на чому можна будувати, оскільки всі компоненти входять в гру як наслідок пройденого часу, тому ми цим скористаємося.
Спочатку, давайте завершимо нашу базу знань визначеннями.
Слот (час блоку): Ймовірно, ви розумієте альтернативну назву цього: час блоку. Слот, або час блоку, - це час, який надається системі для створення нового блоку транзакцій, який буде додано до поточного канонічного ланцюжка.
Приклад слотів / часу блоку:
Ethereum - 12 секунд
База - 2 секунди
Фінальність: Точка, коли операцію вважають незворотно доданою до рахунку певного ланцюжка. Однак цей термін не однозначно використовується в усіх ланцюжках з технічної точки зору, тому не варто припускати, що він застосовується повсюдно в усіх контекстах. У екосистемі Ethereum це використовується, коли виконуються нижченаведені умови:
Ethereum - Коли минуло 2 епохи (~13 хв)
Оптимістичний L2 - Коли вікно фрода минуло (~7д)
і ось спроба візуалізувати всі ці терміни на єдиному зображенні, щоб вони трохи краще засвоїлися:
Так, тепер, коли у нас є частини, використані для визначення остаточності, як вони складаються разом? Які є правила?
Для Ethereum
Візуалізовано
Для L2s
Ну, L2s будуються на Ethereum, тому вони в основному однакові, чи не так?
Так і ні, шановний читач. Згадайте структуру публікації з могопопередній пост на основі Rollups. Так, L2 – це власні блокчейни, але вони залежать від Ethereum для остаточного розрахунку. Це означає, що відповідь така ж багатошарова, як і самі ланцюжки.
Ці шари розпадаються на два типи остаточності:
Таким чином, L2 можуть мати рівень локалізованої завершеності, якщо вони належать до певного типу, або доведеться зачекати, поки Ethereum завершить опубліковане доведення про дійсність (ZK), або пройде вікно викликів для доведення обману (Оптимістичні ролапси).
Для Bitcoin / Proof of Work
Це насправді досить просто - в специфічній реалізації PoW у Bitcoin немає остаточності. Для цього той, хто виробляє найважчий ланцюжок (читай: виробляє достатньо блоків, щоб стати «найдовшим» ланцюжком), стає канонічним рахунковим. Це означає, що, хоча з практичних міркувань це малоймовірно з багатьох причин, хтось може виробити достатньо хешу, щоб переписати останній день, тиждень, рік історії Bitcoin.
Знову, хоча; непрактично через велику кількість ресурсів і часу, які це займе, але це варте відмінності систем і фактично призводить до кількох унікальних типів MEV, таких як "Далекі атаки" та "Зберігання блоків", де шахтарі можуть або виробляти (і приховувати) блок, щоб потім додати наступний блок, або видобувати кілька блоків поспіль, щоб створювати та захоплювати унікальні прибуткові можливості.
Візуалізовано:
Таким чином, ми знаємо, як ми приходимо до остаточності в найбільшому ланцюжку Proof of Stake в криптосистемі, але це, здається, вимагає багато роботи - чому ми це взагалі робимо?
Ну, це супроводжується деякими перевагами:
Чому я взагалі порушив остаточність? Не зовсім зрозумів - просто чув, як це кидали останнім часом, і зрозумів, що це часто використовується, але не глибоко розуміється механізм блокчейнів.
Сподіваюся, вам сподобалося це, і пам'ятайте, це просто ваші блоки затвердішують, як бетон в системі, і в певний момент вони стають надійними.
Як завжди з моїми статтями "WTF is...", я люблю почати з реального аналогу, щоб люди могли отримати суть і відразу ж забити, якщо їм байдуже до деталей.
Для цієї теми ми будемо використовувати затвердіння бетону з часом:
Це загальний рівень того, що означає «остаточність» в контексті блокчейнів. Так само, як бетон, з часом, починаючи з моменту заливання (початкове підтвердження) і закінчуючи встановленням (кілька підтверджень), легкість, з якою початковий блок більше не може вважатися „правильним“, стає все складніше, поки він повністю не затвердіється (остаточний). Як тільки це станеться, це практично неможливо.
У короткому вигляді просто запам'ятайте послідовність кроків:
Подано -> Підтверджено -> Завершено
Якщо цього достатньо для вас, щоб вважати цей випадок закритим, я запрошую вас поставити лайк статті і продовжити свій день. Якщо ви хочете поглибитися в питанні як, що і чому закінчення (у контексті Ethereum), продовжуйте, мій друг.
Добре - давайте спробуємо створити деяку структуру навколо цього концепту та зрозуміти його. Щасливо, це дає нам щось, на чому можна будувати, оскільки всі компоненти входять в гру як наслідок пройденого часу, тому ми цим скористаємося.
Спочатку, давайте завершимо нашу базу знань визначеннями.
Слот (час блоку): Ймовірно, ви розумієте альтернативну назву цього: час блоку. Слот, або час блоку, - це час, який надається системі для створення нового блоку транзакцій, який буде додано до поточного канонічного ланцюжка.
Приклад слотів / часу блоку:
Ethereum - 12 секунд
База - 2 секунди
Фінальність: Точка, коли операцію вважають незворотно доданою до рахунку певного ланцюжка. Однак цей термін не однозначно використовується в усіх ланцюжках з технічної точки зору, тому не варто припускати, що він застосовується повсюдно в усіх контекстах. У екосистемі Ethereum це використовується, коли виконуються нижченаведені умови:
Ethereum - Коли минуло 2 епохи (~13 хв)
Оптимістичний L2 - Коли вікно фрода минуло (~7д)
і ось спроба візуалізувати всі ці терміни на єдиному зображенні, щоб вони трохи краще засвоїлися:
Так, тепер, коли у нас є частини, використані для визначення остаточності, як вони складаються разом? Які є правила?
Для Ethereum
Візуалізовано
Для L2s
Ну, L2s будуються на Ethereum, тому вони в основному однакові, чи не так?
Так і ні, шановний читач. Згадайте структуру публікації з могопопередній пост на основі Rollups. Так, L2 – це власні блокчейни, але вони залежать від Ethereum для остаточного розрахунку. Це означає, що відповідь така ж багатошарова, як і самі ланцюжки.
Ці шари розпадаються на два типи остаточності:
Таким чином, L2 можуть мати рівень локалізованої завершеності, якщо вони належать до певного типу, або доведеться зачекати, поки Ethereum завершить опубліковане доведення про дійсність (ZK), або пройде вікно викликів для доведення обману (Оптимістичні ролапси).
Для Bitcoin / Proof of Work
Це насправді досить просто - в специфічній реалізації PoW у Bitcoin немає остаточності. Для цього той, хто виробляє найважчий ланцюжок (читай: виробляє достатньо блоків, щоб стати «найдовшим» ланцюжком), стає канонічним рахунковим. Це означає, що, хоча з практичних міркувань це малоймовірно з багатьох причин, хтось може виробити достатньо хешу, щоб переписати останній день, тиждень, рік історії Bitcoin.
Знову, хоча; непрактично через велику кількість ресурсів і часу, які це займе, але це варте відмінності систем і фактично призводить до кількох унікальних типів MEV, таких як "Далекі атаки" та "Зберігання блоків", де шахтарі можуть або виробляти (і приховувати) блок, щоб потім додати наступний блок, або видобувати кілька блоків поспіль, щоб створювати та захоплювати унікальні прибуткові можливості.
Візуалізовано:
Таким чином, ми знаємо, як ми приходимо до остаточності в найбільшому ланцюжку Proof of Stake в криптосистемі, але це, здається, вимагає багато роботи - чому ми це взагалі робимо?
Ну, це супроводжується деякими перевагами:
Чому я взагалі порушив остаточність? Не зовсім зрозумів - просто чув, як це кидали останнім часом, і зрозумів, що це часто використовується, але не глибоко розуміється механізм блокчейнів.
Сподіваюся, вам сподобалося це, і пам'ятайте, це просто ваші блоки затвердішують, як бетон в системі, і в певний момент вони стають надійними.