Щотижнева пряма трансляція 2 вересня 2022 р. – Безпека
Алехо: Цього тижня у нас особливий гість: Роберт. Він є одним із провідних у світі аудиторів і експертів з безпеки Move. Він провів аудит багатьох проектів і основних протоколів. Ми дуже раді працювати з Робертом і дуже раді, що він тут. У вільний час він займається стендап-комедіями, тож, можливо, ми зможемо побачити його й цю сторону. Давайте попросимо Роберта представитися.
Роберт: Дякуємо, що запросили! На даний момент я не підготував жодних жартів, але, можливо, я придумаю якісь, коли ми підемо. Я допомагаю керувати OtterSec, компанією з аудиту смарт-контрактів. Ми багато вивчаємо внутрішню структуру Move і намагаємося мати глибоке розуміння як рівня віртуальної машини, так і спеціального рівня SDK Aptos. Таким чином, ми намагаємося мати можливість гарантувати певні аспекти безпеки. У минулому ми тісно співпрацювали з такими великими установами, як Alameda Research, Jump Crypto, а також у нас є контейнерні домовленості з Pontem Foundation для перевірки їх основного коду. Мені приємно бути тут, щоб більше поговорити про те, що робить Move такою неймовірною мовою, а також про те, як ми працюємо з Pontem, щоб захистити їхні програми, оскільки ви добре зосереджені на безпеці.
Алехо: Чудово, дякую. Можливо, ми можемо почати з цього. Скажіть, що вас захоплює в Move? Чим відрізняється, а чим однаково? Які зміни парадигми ви бачите, особливо у сфері безпеки?
Роберт: Це справді гарне запитання. Насправді це трохи альфа-версія, але насправді ми збираємося зробити публікацію в блозі на цю саму тему за кілька днів. Я думаю, що Move як мова дуже захоплююча. Це одна з головних пропозицій для переходу на Aptos. Я б назвав Move Rust для блокчейну; вона більше залежить від домену, що означає, що вона може уникнути багатьох проблем загального призначення, які має Rust. Наприклад, вам не потрібно вручну серіалізувати або десеріалізувати дані, коли ви використовуєте Move. Це мова набагато вищого рівня, яка дає розробникам більше інструментів для написання безпечніших програм.
Чи можна тут отримувати технічну допомогу? Я вважаю, що одна дуже цікава особливість Move полягає в тому, що віртуальна машина надзвичайно [універсальна]. Одним із прикладів цього є те, що посилання доступні безпосередньо, ніби вони є значенням першого класу в самій Move VM. Таким чином, ви могли б, наприклад, у бікоді помістити посилання в стек, і ви також можете розіменувати посилання безпосередньо. Наслідком цього є те, що коли ви хочете викликати функцію, ви безпосередньо передаєте посилання. Загалом, Move – це мова високого рівня, яка більше залежить від домену, блокчейну, і, на мою думку, вирішує багато проблем безпеки, які ми бачимо у звичайному програмуванні.
Алехо: Давайте декомпілюємо це трохи більше, що означає бути першокласною цінністю? Яка аналогія?
Роберт: Це гарне запитання. Отже, перший клас просто означає, що він підтримується віртуальною машиною. На противагу цьому, десеріалізуючи дані за допомогою Rust, наприклад, вам потрібно мати якесь проміжне представлення для цього значення або якесь представлення для перетворення базових байтів у те, що використовує ваша програма. Вам потрібен цей проміжний крок, на якому ви перетворюєте необроблений двійковий файл у придатне для використання значення Rust. З іншого боку, Move просто повністю ігнорує крок, якщо ви можете просто використати значення безпосередньо.
Алехо: Тож допоможи мені зрозуміти це трохи більше. ETH рідний? Чи є токен Compound або UNI значенням першого класу? Як це можна порівняти з Ethereum?
Роберт: Для ETH у вас буде контракт, і тоді вам знадобиться серверна частина для завантаження значень, тому ви фактично не матимете першокласного доступу до самої структури вищого рівня. Наприклад, ви не можете передати посилання на токен. Вам потрібно буде викликати контракт, щоб отримати вартість. Ще є проміжний крок, але він дещо інший, оскільки всі стани контрактів зберігаються в самих контрактах.
Алехо: Отже, я повинен викликати контракт як контракт ERC-20?
Роберт: Так.
Алехо: Це більш ефективніше? Крім безпеки, чи економлю я на газі?
Роберт: Гадаю, ця частина якось окрема від економії газу. Я вважаю, що Move як мова створена дуже швидко. Вона масштабована, тому вартість для користувачів також має бути нижчою. Хоча газ схожий на нативну концепцію VM, газ Move позначається в зовсім інших одиницях, ніж ETH або газ Solana.
Алехо: Давайте зробимо це порівняння трохи абстрактнішим. Що станеться, якщо ми помістимо їх поруч на щось на кшталт Cosmos чи Polkadot, який із них буде кращим? Move чи EVM? Які аспекти ми повинні відстежувати?
Роберт: Теоретично ви можете написати ці контракти будь-якою мовою. Є багато прикладів, я б сказав, напевно, досить безпечних контрактів через Ethereum або будь-яку мережу. Але я думаю, що для мене головне те, що Move є безпечнішим за умовчанням. Це дозволяє писати безпечніші контракти, не докладаючи великих зусиль і не приділяючи такої уваги.
Алехо: Отже, ви хочете сказати, що набагато важче вистрілити собі в ногу?
Роберт: Сподіваюся! Без гарантій. В ідеалі так. Я знаю, що Pontem дуже дбає про безпеку, але, чесно кажучи, я думаю, що є багато розробників смарт-контрактів, які або не дуже піклуються про безпеку, або не розуміють повних наслідків. Вони просто пишуть код, який розгортають у головній мережі якомога швидше, і це часто закінчується стріляниною собі в ногу.
Алехо: Тож як люди, особливо кінцеві користувачі, можуть переконатися, що на них не вплинуть команди та розробники, які роблять подібні речі? Які є найкращі практики для проектів? На що повинні звернути увагу наші користувачі, щоб переконатися, що вони в безпеці в метавсесвіті?
Роберт: Я вважаю, що головне, що ви можете зробити як користувачі, — це залишатися пильними. Є багато проектів, але дуже важливо переконатися, що ті, з якими ви взаємодієте, справді є авторитетними та безпечними, а також пройшли процес роботи з професійною аудиторською фірмою та перевірку їхнього контракту. Я думаю, що це, мабуть, найкращий спосіб зменшити ризик уразливості системи безпеки. Звичайно, перевірки не ідеальні, тому завжди є ймовірність, що вони можуть щось упустити, але загальна позиція чи ставлення команди до безпеки дійсно важливі. Просто наявність команди, яка дбає про безпеку, робить мене набагато більш впевненим у їхньому протоколі, ніж команда, яка просто хоче, щоб ваші матеріали були готові до виробництва.
Я вважаю, що одна річ, на яку ви можете звернути увагу, це фіксація в сховищі Github порівняно з фіксацією у звіті аудиту. Якщо це інше, вам, можливо, варто поставити кілька запитань про те, чи існує постійна взаємодія з командою, чи ви знаєте, що протокол просто передає матеріал до виробництва чи на Github без справжнього консультування щодо цих додаткових змін.
Алехо: Чи є спосіб, яким ми, як протокол, можемо це зробити без довіри? Чи можете ви як аудитор підтвердити, що версія, яка зараз доступна на Github, є тією, яку ви перевіряли? Чи може вона потенційно бути в гаманці або в якомусь місці, де ми можемо побачити атестації чи сигнали?
Роберт: У всіх звітах про аудит, і ми незабаром підготуємо деякі для Pontem, але в усіх наших звітах про аудит ми маємо хеш фіксації, які, як ви знаєте, були штамповані нами, який ми перевірили. Але інтеграція гаманців — це гарна ідея, і ми говоримо про пару гаманців. Я думаю, було б дуже круто, якби в додатку гаманця існував спосіб для користувачів побачити, що цей код у ланцюжку насправді є тим самим, який був схвалений аудитором. І це можна зробити, наприклад, просто порівнявши хеш код в ланцюжку.
Тоді в ідеалі ви могли б навіть мати якийсь варіант, коли користувачі, які хочуть перейти в повністю довірений режим, взаємодіють лише з повністю перевіреними контрактами. Таким чином ви також дізнаєтесь, чи змінився договір.
Алехо: Це справді гарна ідея. Ми обов’язково придумаємо, як зробити цю функцію і додати її до дорожньої карти. Це також є гарною точкою для безпеки гаманця. Враховуючи, що гаманець є інтерфейсом у метавсесвіт, скажіть мені більше: на що нам слід звернути увагу щодо безпеки гаманця? Нещодавно були зломи. Ми звернемося до очевидного, що сталося з Solana. Можливо, ви могли б висловити нам деякі свої думки про те, як користувачі та проекти можуть захистити себе, а також користувачів? Що ви думаєте про гаманець як інтерфейс або про те, щоб позбутися браузера як посередника?
Роберт: Тут є багато питань, які потрібно розпакувати. Перше – це безпека. Особисто я вважаю, що безпека гаманця довгий час залишалася поза увагою. В той час коли люди дуже піклуються. Вони часто бачать, що ці dApps потенційно скомпрометовані, але до цієї події з Solana нікого не хвилювало, чи проводився аудит гаманців. Якщо ви подумаєте,то не має особливого сенсу, тому що гаманці, по суті, є вашим мостом у весь цей світ криптовалют. Якщо цей централізований міст буде скомпрометовано, то все, з чим ви взаємодієте, також потенційно може бути скомпрометовано. Це як єдина точка відмови для всього, з чим ви взаємодієте.
Якщо говорити конкретно про події Solana, то ми фактично працюємо з залученими командами. Ми зберегли Фонд Солана, тому ми працюємо з ними, намагаючись з’ясувати, що насправді сталося. Ми опублікували звіт про наші висновки, який ви можете знайти в нашому Twitter акаунті. Я думаю, що підсумок полягав у тому, що були випадково зареєстровані мнемоніки або секретні ключі. Ми підозрюємо, що це могло призвести до компрометації ключів користувача. Я думаю, що з цих подій можна винести те, що ви повинні бути дуже обережними під час обробки конфіденційних даних користувачів. Ви повинні переконатися, що ці дані не потрапили десь випадково.
Насправді це був досить нещасний випадок. Просто випадково зберегли в об’єкті, який у підсумку було надіслано на сервер. Було кілька рівнів абстракції, є декілька варіантів або вони не знайшли часу, щоб зрозуміти, або вони не помітили, поки не стало надто пізно.
Алехо: Це те, що могло би бути зафіксовано в аудиторському звіті?
Роберт: Так, але я думаю, що вам потрібно було б шукати це спеціально. Я думаю, що розробникам потрібно бути дуже обережними, коли вони роблять такі речі. Або потрібна зовнішня фірма, яка спеціально зосереджується на тому, на що саме звернути увагу, або вам потрібно витрачати багато часу на пошуки таких крайніх випадків, коли конфіденційні дані користувача можуть передаватись у спосіб, не бажаний для всіх. Я думаю, що це тривожний дзвінок для гаманців загалом. Є багато гаманців, і, чесно кажучи, багато з них не дуже дбають про безпеку. Ми фактично знайшли та повідомили про проблеми з низкою гаманців за межами Phantom. Ми також помітили, що деякі гаманці, з якими ми працювали в минулому, покращили своє положення. Сподіваємося, що з подіями на Solana більше уваги буде приділено безпеці гаманця.
Алехо: Ця центральна точка невдачі насправді дуже страшна. Подумайте, скільки людей використовують Metamask замість інших гаманців на Ethereum. Як вирішити цю проблему? Чи існує така річ, як децентралізований гаманець?
Роберт: Особисто я вважаю, що рішення полягало б у тому, щоб користувачі зосередилися на безпеці. Працюйте лише з гаманцями, які мають надійного партнера безпеки. Запитайте про те, що гаманець зробив для забезпечення своєї безпеки. Потенційно ви могли б мати децентралізований гаманець, але я не дуже впевнений, як це буде працювати. Одним із зауважень є те, що код гаманця має бути дещо централізованим. Я не дуже впевнений, що він дійсно може мати децентралізовану базу коду гаманця. Я маю на увазі, що, можливо, у вас може бути кілька зовнішніх інтерфейсів або щось подібне, але завжди буде одна точка або окремі точки відмови для користувача.
Алехо: Отже, ви вважаєте, що гаманці мають бути такими ж ретельними у своїх аудитах і такими ж публічними зі своїми звітами, як і смарт-контрактні dApps?
Роберт: Я думаю, що гаманці так само, якщо не більше, важливі, ніж dApps з точки зору їх безпеки. Користувачі повинні бути впевнені, що гаманець, який вони використовують, випадково не підпише транзакцію, яку вони не хочуть підписувати, і він правильно відображає всі транзакції. Було цікаве дослідження, яке хтось інший провів, якщо ви можете з’ясувати, як договір, що перебуває в симуляції, наприклад симуляція виклику RPC, яка буде ваша подальша реакція. Звичайно, вам не слід взаємодіяти з контрактами, яким ви не довіряєте, але це також цікаве питання: чи можете ви дійсно довіряти тому, що відбувається на рівні симуляції? Хоча я не знаю, чи це сама по собі вразливість гаманця. Я б сказав, що це більше стосується дизайну віртуальної машини. Я вважаю, що гаманцям, безумовно, потрібно дуже дбати про безпеку, а користувачам потрібно наполягати на безпеці гаманців, якими вони користуються. Зрештою, потреба в безпеці має виходити від користувачів. Якщо користувачі не піклуються про безпеку, то гаманці також не будуть піклуватися про це. Але якщо користувачі вимагають безпеки, то гаманці матимуть стимул перевірити свій код.
Алехо: У мене просто виникла думка. Що, якщо люди просто завантажать і запустять гаманець самостійно? Він нікуди не надсилає жодної інформації. Чи може це потенційно спрацювати? Або, можливо, якусь структуру, де, навіть якщо вам може знадобитися додатковий обчислювальний ресурс на вашому комп’ютері, телефоні чи будь-якому іншому, вам не потрібно довіряти будь-якій третій стороні для надсилання вам матеріалів? Це частина етики Web2 проти Web3, чи не так? Як і в Web2, ви хочете відстежувати все. Ви хочете бачити, де клацає користувач. Усі ці журнали можуть бути корисними для покращення продукту, але це також палка з двома кінцями, чи не так?
Роберт: Так, однозначно. Я думаю, що навіть у Web2 існує величезна кількість проблем із завантаженням конфіденційних даних. Хоча проблема Web2 полягає в тому, що це не пряма втрата. Навіть якщо ви вкрадете купу імен користувачів і паролів, ви не матимете прямого доступу до грошей порівняно з Web3. Якщо у вас є чийсь закритий ключ гаманця, ви можете просто негайно злити його кошти. Ось чому я думаю, що Web3 набагато страшніший.
Алехо: Так, це має сенс. Це дійсно хороший відгук. Чесно кажучи, з усіма веб-сайтами ми, ймовірно, не повинні нічого реєструвати, електронні листи чи IP-адреси зустрічей чи щось інше. Ми не повинні надсилати їх на будь-який сервер AWS, хоча я знаю, що це корисно. Ми можемо поговорити про це: як зробити найпростішу річ, яка збирає найменшу кількість інформації, щоб навіть не було витоку даних, тому що нічого б не збирали?
Роберт: Я думаю, що це також хороша ідея для користувачів. В ідеалі для користувачів ви не хочете, щоб ваші дані відстежував якийсь сторонній постачальник. Настільки мінімізація, яка також мала ненавмисний позитивний побічний ефект мінімізації цієї ширшої проблеми корпоративного відстеження користувачів.
Алехо: Тут є навіть проблеми, окрім простого витоку вашої особистої інформації. Існує також потенційно MEV, максимальна видобута вартість. Ця централізація, або центральна точка відмови, означає, що ці гаманці містять багато інформації, яка може бути дуже цінною для трейдерів, які, можливо, намагаються заробити гроші на угодах, які ви робите. Люди, напевно, знайомі з високочастотним трейдингом, це Web2, це традиційні фінанси, та сама проблема, яку люди називають «переднім ходом»(front running), або «зворотним ходом» (back running), або «сендвіч-атаками» (sandwich attacks), або будь-якою іншою формою MEV. Я також хотів почути вашу думку з цього приводу.
Роберт: Так, я думаю, якщо у вас є якась інформація, яка потенційно може дозволити комусь використовувати її. Хоча, принаймні з мого досвіду, здається, що більша частина прибутку від mempool (Mempool — це місце, де всі дійсні транзакції очікують на підтвердження мережею Bitcoin), або вони спостерігають за тим, що відбувається в мережі, і намагаються використати це для отримання прибутку.
Алехо: Чи не діють гаманці як передавачі цієї інформації? Я хочу почути ваші думки, тому що здається, що вони ніби як гейткіпер, але транзакції проходять через них, і вони можуть вибрати, які валідатори їх підберуть.
Роберт: Так, я вважаю, що процес платіжних доручень для гаманців безперечно досить цікавий. Я не знаю, чи можуть якісь гаманці зробити це прямо зараз, але я не надто глибоко вивчав це, тому це можливо. Мої перші думки полягають у тому, що я відчуваю, що валідатори, ймовірно, не будуть тими, хто виконує MEV. Ймовірно, це були б зовнішні обшуки. Отже, якби гаманець зробив це, він підключився б до якогось ринку або чогось іншого, де він міг би транслювати транзакції, як спалахи. Я також не думаю, що гаманці повинні робити це, чесно кажучи. Це порушує довіру між ними та користувачами.
Алехо: Я думаю, що аргумент полягає в тому, що хтось збирається це робити, тому що вони знають, що це тече через нього. Чому б не зробити це прозорим? Я думаю, що це аргумент на користь флешпотів. Це відбувається, тож давайте просто включимо це в мережу та дозволимо ефективному ринку розвиватися навколо цього. Тому, можливо, ми дозволимо цей тип MEV, а не цей тип MEV. Там Дикий Захід. Як створити безпечний салон, де, якщо вас обгонять, то принаймні вам за це дадуть гроші? Тому що хтось однаково збирається це зробити, чому б не дозволити ковбоям, які дбають про ваші інтереси, дозволити це зробити?
Роберт: Це справедливо. Мабуть, я також не впевнений, що важливіше — потік замовлень чи порядок у блоці. Я вважаю, що обидва варіанта важливі, але я також вважаю, що більшість винагород в кінцевому підсумку отримають самі валідатори, оскільки вони контролюють потік замовлень, оскільки вони отримують усі транзакції і замовлення. Вони контролюють, який блок насправді виробляється. Я думаю, що валідатори хотіли б, щоб вони не грали на цьому.
Алехо: Проблема в тому, що якщо всі використовують Metamask, а Metamask за замовчуванням надсилає все до тих самих валідаторів, це виглядає як конфлікт інтересів. Можливо, є спосіб розпізнати, кому ви надсилаєте транзакції, але тоді ваша транзакція може відбуватися набагато повільніше.
Роберт: Я просто думаю, що оптика потоку платіжних доручень, викликала величезну плутанину на Reddit. Це не чудова річ. Я вважаю, що це дещо ризиковано з точки зору того, як це сприймають користувачі.
Алехо: Я бачу два варіанти: ви або стягуєте певну плату, щоб люди платили наперед за сервери AWS. Або люди не бачать комісії, але вони платять спред, назвемо це так. У будь-якому випадку вам просто потрібно бути прозорим щодо вартості, а потім дозволити користувачам вирішувати.
Роберт: Я думаю, якщо користувачі розуміють і знають аспекти того, що насправді відбувається, я вважаю, що це цілком нормально. Потрібно лише це правильно донести до користувачів.
Алехо: Круто. Давайте поміняємо передачу. У нас є ще багато запитань. Я не знаю, чи встигнемо на всі відповідсти. Давайте дозволимо комусь висловитися.
Джефф – доповідач: Мені подобається ця тема про безпеку, особливо для нової платформи, тому що я отримав освіту, яку потім переніс у простір Web3. Я керую когортами та навчаю розробників, і одна з речей, про яку ми говорили з першого дня, це різні способи створення безпечних контрактів та інфраструктури. Найкращою відповіддю на це запитання є, звісно, те, що ви хочете провести ці аудити та перевірки, але ви повинні з першого дня навчити розробників досить стандартизованому способу тестування всього попутно. Незважаючи на те, що ми хочемо мати цей важливий момент робити швидко, ми повинні знайти правильний баланс швидкої роботи, а також переконатися, що надсилаємо якісний код, безпечний для користувачів. Через один помилковий крок або, як ви сказали кілька хвилин тому, ви знаєте наприклад, що хтось випадково робить щось у коді, але це не помітили, то справа йдеться про мільярди доларів. Тож я думаю, що це починається з того, як ви навчаєте людей бути налаштованими на безпеку, так само, як вони налаштовані на кораблі.
Алехо: Це справді гарний момент, про який я думаю щодня, тому що, виходячи з традиційного технічного досвіду, дух полягає в тому, щоб рухатися швидко і ламати речі, а потім вчитися на цих помилках і покращувати процес. Але тут якщо ламати речі, це недобре. Отже, мені довелося багато з цим сперечатися, і я хотів би почути твої думки, Роберте, а також твої думки, Джеффе.
Джефф – доповідач: Я з Web3 Builders Alliance, і зараз ми працюємо на Cosmos. Ми переходимо до мереж Move і мови смарт контрактів на основі Rust. Ми пропонуємо когорту рівня магістра не для початківців, а для людей, які хочуть бути старшими розробниками.
Алехо: У майбутньому ми фактично перевіримо Move VM на Cosmos. Ми роздвоїли Libra VM, зробили її сумісною з Wassum і пограли з Cosmos SDK. У нас також є парачейн на Polkadot. Звичайно, ми раді бачити вас тут на Aptos, але незабаром ми також прийдемо на Cosmos. Але щодо цієї теми швидкого руху та швидкого руйнування, фактично з екосистеми Kusama/Polkadot, я дізнався, що насправді можна тестувати, доки ви говорите всім, що це буде хаотично. Мені подобається ця ідея мати, дві версії додатків. Одна версія є незмінною, ви вірите, що ніхто не має жодної форми доступу до неї з кількома підписами. Ніхто не може це змінити. Можуть бути якісь негаразди, сподіваюся, не тому, що він пройшов аудит, і це ваша готова версія. Але як щодо такого форка, який можна оновити, куда можна швидко відправляти речі? Ви можете сказати всім: «Гей, ця штука може бути не повністю перевірена, ми її тестуємо». Це дозволило б нам рухатися швидко, тестувати речі, експериментувати, ламати речі, ламати не лише код, але, можливо, навіть теорію ігор, що стоїть за деякими припущеннями, які ми маємо. Так цікаво почути вашу думку з цього приводу.
Роберт: Це цікавий дизайн. Моя головна проблема полягає в тому, як користувачі знають, що саме використовувати? Я думаю, проблема в тому, що користувачі насправді не знають, як оцінити ці ризики. Навіть зі смарт-контрактами вам дуже важко знати, яка ймовірність бути зламаним. Ми навіть не знаємо. Я думаю, що в цьому випадку, якщо у вас є дві версії одного додатка, одна безпечніша, а інша не настільки безпечна, я припускаю, що користувачі, які готові взяти на себе більший ризик, можуть використовувати ту, яка постійно тестується. Але я вважаю реалістично: якби когось із них зламали, це все одно було б певною мірою PR-кризою.
Алехо: У цьому сенсі це більше позиціонування, знаєте, “this-thing-will-get-hacked.com” проти “this-thing-is-not-going-to-get-hacked-(hopefully).com ”. Просто розмістіть скрізь гігантські червоні застереження про те, що використовуєте на свій страх і ризик, не вкладайте більше грошей, ніж готові втратити тощо.
Джефф: Стимулювана тестова мережа також є хорошою моделлю. Якщо ви заохочуєте людей брати участь у вашій тестовій мережі та залишати відгуки, а також винагороджуєте їх корисними токенами, ви поповнюєте базу користувачів. Це все ще приносить користь проектам, тому що навіть якщо вони хочуть гейміфікувати тестову мережу, щоб отримати більше токенів, принаймні вони її використовують, і всі від цього виграють. Ви отримуєте відгук, а вони використовують тестову мережу. Їх мета - зламати речі. Вони виграють тим самим більше токенів у стимульованій тестовій мережі, намагаючи зламати ваші речі. Ви враховуєте емоційні потреби користувачів. Подивіться, чим більше червоного кольору ви помістите на екран із написом «Не використовуйте це», тим більше загальних дегенів прийде та використає це. Краще просто сказати: «Прийди, скористайся цим і зламай, і ми дамо тобі кілька токенів.
Алехо: І ти навіть можеш для цього надати винагороду наприклад,” Агов, якщо ти це зламаєш, ось це отримаєш”, так?
Джефф: Цілком. Що стосується слова «баунті», я маю на увазі психологічно, знаєте, я кажу слово «баунті». Цікаво, скільки людей у цьому дзвінку думають, що ж, для цього треба бути розробником. Вам не обов’язково потрібні лише розробники, які намагаються зламати ваші речі, але ви також хочете, щоб звичайні користувачі випадково використовували ваші речі та намагалися зламати їх з точки зору користувача, а не з технічної точки зору.
Алехо: На мою думку про архітектуру цієї стимульованої тестової мережі, існує два способи створення окремої мережі. Ви можете розкрутити власні вузли. Я думаю, що проблема полягає в тому, що якщо через нього не протікає жодна цінність, то немає захисту від спаму. Ось чому мені подобається ідея просто відправити туди, де є справжня цінність, як ідея Kusama. Так цікаво почути про цю стимульовану тестову мережу, але, можливо, у виробництві чи в прямому ефірі.
Джефф: Є кілька різних версій того, як це виглядає. Насправді немає реальної цінності, тому що це тестові токени. Те, як ви створюєте цінність, полягає в тому, що хтось надсилає відгук або каже «я зламав ваші речі»
Алехо: Різниця полягає в тому, що якщо я запустив основну мережу в Aptos, скажімо, у порівнянні з devnet, тоді люди в Aptos devnet не можуть спамити, оскільки їм потрібні токени Aptos для надсилання транзакцій. Тож припустімо, що DDoS-атаці на дещо неможливо запобігти. Люди просто роблять запит токенів з крана, або вам потрібно зробити KYC/AML або щось подібне, що є дуже обтяжливим і потенційно може мати наслідки для конфіденційності. Отже, як ми запустимо цю річ у реальному середовищі, де є захист від спаму? Потенційно, саме тут, на мою думку, потрібна певна форма реальної світової цінності, щоб ці речі просто почали жити самостійно. Я думаю, що це має бути живим, у дикій природі. Ви не можете зберігати його в лабораторії, інакше ви насправді не перевіряєте всі речі, які можуть зламатись, і ви не отримуєте переваг від захисту від спаму, оскільки це живе в дикій природі. Вибачте, я перебив.
Джефф: Ні, все добре! Для мене чудове питання веде до інновацій. Я не продумав, що хочу сказати, але я маю на увазі, можливо, ви граєте з якимось вигаданим токеном. Я знаю, що це повне блюзнірство, але просто використовуючи його, ви отримуєте бали, які пізніше можна обміняти на реальну цінність. Отже, наприклад, ви запустились у головній мережі, і ви можете отримати кошти з крана, але вони обмежені, ви не можете отримати їх мільярд. Ви входите та граєте, і ви отримуєте бали за гру, і коли ви досягаєте певного порогу, ви отримуєте приз, який ви можете обміняти на реальну цінність у певний момент. Тепер це не привабить дегенів DeFi, тому що вони не хочуть грати в ігри, але це привабить достатньо людей, які хочуть грати, щоб отримати від вас зворотній зв’язок, якого ви могли б не мати інакше. Це проблема, яка може спрацювати.
Роберт: Я думаю, що занепокоєння потенційно може виникнути, якщо це буде життєздатним. Якщо у вас є токен, який має реальну світову цінність лише завдяки його використанню, можна якось підробити це використання.
Алехо: Я думаю, ви просто хочете запобігти розповсюдженню спаму від ботів будь-яким механізмом, який у вас є. Захист від спаму є реальною світовою цінністю. Це коштує вам грошей. Тож я вважаю, що ця ідея про те, що токени мають реальну світову цінність, очевидно, є більш філософською. Скажімо, ми створюємо клон біткойна і щойно випустили його у світ. Яка там реальна світова цінність? Якщо хтось може спам атакувати його, то це, ймовірно, не має реальної світової цінності. Але якщо комусь потрібні токени Aptos для спам-атаки, то ви принаймні знаєте, що починаєте прив’язувати до цього реальну цінність. Скажімо, я бот, я витратив 1000 доларів на бензин, щоб отримати ці монети, і тепер ця річ коштує 1000 доларів. Знову ж таки, ви запускаєте це у світ і дивитися, що відбувається, тестуєте це. Я думаю, вам потрібно пов’язати це з винагородами за помилки та вразливості.
Роберт: Я думаю, що ще одне головне занепокоєння полягає в тому, що багато помилок є граничними випадками, тому їх дуже важко знайти, якщо ви навмисно не читаєте код. Іноді навіть неможливо знайти їх через інтерфейс користувача. Іноді користувальницький інтерфейс може бути безпечним у використанні, але якщо ви трохи зміните користувальницький інтерфейс або зробите власні користувальницькі контрактні виклики, то вже зможете використовувати і щось знайти.
Алехо: Гадаю, один із варіантів використання, про який я думаю: скажімо, Aave працює над v7 і вони думають про якусь нову інновацію, яку ніхто ніколи не робив у світі. Вони можуть отримати 10 мільйонів перевірок, але вам потрібно, щоб хтось з’ясував, що станеться, якщо я зроблю позику за допомогою цього токена, а потім перенесу його з іншого мосту. Можливо, станеться якась дивна теорія ігор чи економічна атака, якої навіть немає в коді. Як вони перевіряють це, не живучи в реальному середовищі? Я просто думаю, якщо вони збираються публікувати версію та намагатися проштовхнути її до людей, можливо, є спосіб дозволити людям протестувати її наживо, у виробництві, не будучи фактично робочою версією. Чи є спосіб зробити це безпечно?
Роберт: Так, можливо, для економічного дизайну чи моделей стимулювання це було б більш доцільним. Тому що тоді неспеціаліст потенційно може знайти внутрішню проблему.
Алехо: Або навіть експерти, чи не так? Я хотів би попросити вас, Роберте, і всіх інших, хто думає, що може зламати це, тому що в кінці дня, якщо ви це зламаєте, має бути винагорода або якась нагорода для хакерів. І це може бути відчутна, реальна цінність, яка додається до цього. Це як, добре, якщо ви його зламаєте, ось ціна. Я думаю, що Джефф це казав. Я думаю, що це гарна ідея.
Роберт: Так, я думаю, що це також може спрацювати. Існує цілий ряд різних способів заохотити громади розглядати контракти чи проекти.
Алехо: Я просто хотів сказати, що ми вже годину спілкуємось, тож якщо тобі потрібно йти, Роберте, не соромся. Я залишуся ще трохи, і ви теж можете якщо хочете. Джеффе, ти теж можеш залишитися. Давайте запросимо ще одного гостя, Рашида.
Його запитання було важко почути, але я думаю, що, можливо, перше було: чи є якісь уразливості в реальному світі, які були виявлені, і як тоді виглядає цей процес?
Я думаю, що все це буде відображено у звітах, а також, якщо виникнуть проблеми, ми будемо тісно співпрацювати з Робертом, щоб виправити їх у режимі реального часу. Якщо є вразливі місця, саме тому ми співпрацюємо з кимось на кшталт Роберта, щоб допомогти нам знайти їх і виправити. Ми публікуємо публічний звіт, який будь-хто може знайти та прочитати, щоб почуватися безпечно, користуючись продуктами. Це частина процесу запуску цих речей, особливо в абсолютно новій екосистемі. Треба бути дуже обережним. Ми проводимо кілька перевірок. Ви, мабуть, погодитеся, що це добре, що у нас є надлишок.
Коли ми запустимо, ми будемо готові до першого дня завдяки Роберту, який допомагає нам проводити ці перевірки. Ми також будемо проводити багато тестів на проникнення в гаманці, як ми обговорювали, це буде дуже важливо. Досить скоро ви зможете використовувати ці продукти в основній мережі, коли Aptos почне працювати. Зараз все живе в девнеті. Відвідайте liquidswap.com і перевірте його.
Мені цікаво почути твої думки, Роберте, про те, як спільнота може пов’язати безпеку.
Роберт: Я вважаю, що утримання користувачів — це одна з найбільш складних речей. Я думаю, що для dApps, але особливо для гаманців, ви, по суті, монетизуєте цільові сторінки користувачів. Ось чому Metamask може стягувати відносно високі комісії та заробляти таким чином купу грошей. Я думаю, що з міркувань безпеки ми не працюємо безпосередньо зі спільнотою, але я думаю, що ми працюємо з протоколами, які дуже дбають про свою спільноту, і ми намагаємося бути якомога активнішими в спільноті. Приємно почути відгуки від протоколів, а також від користувачів і спробувати зрозуміти, як ми, як аудиторська фірма, можемо найкраще реагувати на користувачів. Тому що зрештою всі ми обслуговуємо користувачів і намагаємося зробити все можливе, щоб зробити це місце кращим для всіх.
Алехо: Так. І якщо ми будемо відчувати себе в безпеці, я думаю, люди захочуть залишитися. Це, мабуть, пріоритет номер один, чи не так? Просто щоб люди почувалися в безпеці.
Роберт: Так, я вважаю, що останнім часом крипто приділяється багато негативної уваги з усіма проблемами безпеки. Але так, ми дбаємо про те, щоб протоколи, з якими ми працюємо, ніколи не мали з ними справу. Це мета.
Я думаю, що це все з мого боку. Це було справді весело, і дякую, що запросили. Це чудово спілкуватися про безпеку з усіма.
Алехо: Дякуємо, що прийшли, і незабаром ви повернетесь. Ми також залучимо більше гостей. Дякуємо всім за запитання, і ми побачимося наступного тижня.