Багато людей дивляться на протоколи зберігання, зосереджуючись лише на пропускній здатності та затримках. Але я вважаю, що справжня сутність, яку всі неправильно розуміють — це не показники продуктивності, а те, чи є у вас ще можливість змінюватися у майбутньому.
Ранні проєкти зазвичай так і починають: спочатку запускаємо, головне — щоб працювало, потім поступово оптимізуємо, історичні проблеми вирішимо пізніше. Звучить логічно, але як тільки ваша аудиторія, обсяг активів або контент починає зростати, ви потрапляєте у скрутне становище.
Чому? Тому що ви фактично нічого не можете змінити. Хочете змінити структуру даних? Не можна, це порушить всю ланцюг довіри. Потрібно перебудувати основну логіку? Ще страшніше — ризики занадто великі. Хочете очистити історичні зайві дані? Це справжній кошмар — зачепить усе.
Тут виникає ключова різниця у дизайні. Традиційний підхід — об'єкт перезаписується: новий стан затирає попередній. Але деякі протоколи передбачають еволюцію об'єкта — новий стан базується на попередньому, утворюючи ланцюг послідовних версій.
Це звучить як технічна деталь, але насправді це кардинально змінює спосіб управління життєвим циклом вашого проєкту. Додаток з 5 оновленнями стану щодня за рік дає 1800 версійних еволюцій. Більшість системних фреймворків при близько 200 змін починають зазнавати структурної стагнації та посилення зниження продуктивності. Але якщо система спочатку проектується під таку високочастотну еволюцію, результат буде зовсім іншим.
Тому моя нинішня думка така: ці схеми зберігання зовсім не призначені для нових проєктів, а для тих, хто планує довгострокову стратегію і потребує зберігати гнучкість у процесі постійного зростання користувачів і активів.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
21 лайків
Нагородити
21
10
Репост
Поділіться
Прокоментувати
0/400
VitalikFanboy42
· 17год тому
Весь цей час йшлося про проблему боргу архітектури, якби я знав, що так буде, не намагався б так швидко.
Переглянути оригіналвідповісти на0
GasWhisperer
· 01-10 08:52
Йо, це справжній чай, хоча... всі зациклені на числах TPS, але повністю пропускають точку інфлекції, де ваша система просто... зависає. Чесно кажучи, бачив це сотні разів у патернах мемпулу.
Переглянути оригіналвідповісти на0
blockBoy
· 01-10 05:12
Загалом все ще залишається та сама проблема "не можна змінити пізніше", з якою стикалися у Web3
---
Цікаво, що стосується ланцюжка версій, здається, це просто залишає проекту запасний хід
---
Говорити правильно, багато хто пожалкував про ранній all-in на показники продуктивності
---
Тягне за собою все... хіба це не сучасний стан більшості ланцюжків?
---
Отже, в кінцевому підсумку, все залежить від вибору архітектури на початку, тут немає секрету
---
Якщо прослідкувати цю логіку, багато публічних ланцюжків спочатку зробили неправильний вибір
---
Порівняння високої частоти еволюції та структурної жорсткості дійсно влучне
---
Довгостроковий шлях проти швидких ітерацій, риба чи м'ясо
---
Отже, новим проектам краще не дивитися на цей план
---
Здається, саме це має бути справжньою проблемою інфраструктури Web3, а не TPS
Переглянути оригіналвідповісти на0
FOMOrektGuy
· 01-08 19:53
Занадто правильно сказано, багато проектів були зіпсовані історичним багажем, і вже пізно жалкувати
---
200 змін і застрягти? Та ні, багато L1 вже давно мали б згоріти
---
Головне — це запитати себе, чи зможеш ти витримати зміни, більшість не зможе
---
Різниця між еволюційним ланцюгом і покриттям дійсно велика, я ніколи не думав про це
---
Лише довгостроковий підхід дозволяє оцінити якість дизайну, у короткостроковій перспективі це не видно
---
Немає диву, що деякі проекти стають все більш повільними, виявляється, ще на етапі дизайну закладали підводні камені
---
Ось чому важливо обрати правильну архітектуру на ранніх етапах, бо подальші зміни — це справжній кошмар
Переглянути оригіналвідповісти на0
metaverse_hermit
· 01-08 19:52
Боже, ось і головне, продуктивність — це просто фасад
---
Невдивовижно, що стільки проектів пізніше не можуть рухатися, яму викопали з самого початку
---
Версійний ланцюг — це справді чудова ідея, а не просто оптимізація продуктивності
---
Тому й кажу, на етапі проектування треба продумати простір для майбутніх розширень
---
200 модифікацій — і все скостеніло? Ці цифри болять, скільки проектів уже мертвих
---
Лише проекти з довгостроковою філософією зможуть справді використати цей підхід
---
Паралель з еволюцією традиційних баз даних, web3 нарешті осягнув це питання
---
На початку швидкі ітерації — блаженство, але пізніше ніщо не змінити, сьогодні стільки ланцюгів вже мучиться від цього
Переглянути оригіналвідповісти на0
SandwichTrader
· 01-08 19:48
Спочатку всі хотіли швидко ітерувати, але згодом зрозуміли, що найжорсткіше — це заблокувати себе.
Переглянути оригіналвідповісти на0
rugged_again
· 01-08 19:46
Зовсім правильно, багато команд просто застрягли в цій ямі
200 разів змін — і вже починає застоятися? Я бачив ще жорсткіше, прямо на місці помирає
Це справжній довгостроковий підхід, а не просто слова
Вибір архітектури дійсно визначає життя і смерть, дані про продуктивність — лише зовнішня сторона
Ідея ланцюжка версій, давно вже хтось мав її придумати
Якщо можна 1800 разів на рік еволюціонувати і залишатися живим і здоровим, тоді це справжній дизайн
Рання стратегія «можна працювати — і достатньо», потім все — борги
Переглянути оригіналвідповісти на0
WenAirdrop
· 01-08 19:30
Тепер зрозуміло, спочатку закопував яму, а в кінці сам у неї і потрапив
Переглянути оригіналвідповісти на0
MemeCurator
· 01-08 19:26
Спочатку всі хотіли швидко запуститися, а потім зрозуміли, що змінити вже не можна... Це і є фатальний дизайн-недолік
Багато людей дивляться на протоколи зберігання, зосереджуючись лише на пропускній здатності та затримках. Але я вважаю, що справжня сутність, яку всі неправильно розуміють — це не показники продуктивності, а те, чи є у вас ще можливість змінюватися у майбутньому.
Ранні проєкти зазвичай так і починають: спочатку запускаємо, головне — щоб працювало, потім поступово оптимізуємо, історичні проблеми вирішимо пізніше. Звучить логічно, але як тільки ваша аудиторія, обсяг активів або контент починає зростати, ви потрапляєте у скрутне становище.
Чому? Тому що ви фактично нічого не можете змінити. Хочете змінити структуру даних? Не можна, це порушить всю ланцюг довіри. Потрібно перебудувати основну логіку? Ще страшніше — ризики занадто великі. Хочете очистити історичні зайві дані? Це справжній кошмар — зачепить усе.
Тут виникає ключова різниця у дизайні. Традиційний підхід — об'єкт перезаписується: новий стан затирає попередній. Але деякі протоколи передбачають еволюцію об'єкта — новий стан базується на попередньому, утворюючи ланцюг послідовних версій.
Це звучить як технічна деталь, але насправді це кардинально змінює спосіб управління життєвим циклом вашого проєкту. Додаток з 5 оновленнями стану щодня за рік дає 1800 версійних еволюцій. Більшість системних фреймворків при близько 200 змін починають зазнавати структурної стагнації та посилення зниження продуктивності. Але якщо система спочатку проектується під таку високочастотну еволюцію, результат буде зовсім іншим.
Тому моя нинішня думка така: ці схеми зберігання зовсім не призначені для нових проєктів, а для тих, хто планує довгострокову стратегію і потребує зберігати гнучкість у процесі постійного зростання користувачів і активів.