Фондацията Ethereum проучва транзакционни проверки, които биха позволили на потребителите да прикачват към транзакция условия, задължителни за крайния резултат, вместо да разчитат единствено на одобрението на заявеното действие. Изследването, част от инициативата ѝ Trillion Dollar Security, е насочено към пропуск в сигурността на транзакциите: валидният подпис не гарантира, че получените салда, разрешения или контрол върху акаунта съответстват на намеренията на подписващия.

Основни изводи

  • Предложените проверки ще оценяват резултатите от транзакцията по време на изпълнението и ще отменят действията, които нарушават подписано правило.
  • Защитата зависи от правила, одобрени независимо от потенциално компрометиран създател на транзакцията.
  • Изследването може да подпомогне политики за сигурност на портфейли, делегирани агенти и работни процеси на солвъри, но не става дума за обявено внедряване.

Съдържание

Защо одобрението на транзакция все пак може да доведе до загуба

Ethereum изпълнява заявката, разрешена от потребителя, спрямо наличните при изпълнението код и състояние. Тези условия може да се различават от прегледаните от потребителя. Например реализацията на прокси договор може да се промени преди изпълнението, а подреждането на транзакциите може да повлияе на цената, по която се изпълнява суап.

Фондацията прави разграничение между подвеждащи заявки и нежелани резултати. При атаките срещу Bybit и BadgerDAO компрометирани интерфейси представяха заявки за подпис, различни от онова, което потребителите смятаха, че одобряват. За разлика от това, дори точно представена заявка може да допусне икономически неблагоприятен резултат.

Като пример тя посочва суап на обезпечение в Aave и CoW, включващ около 50,4 млн. долара в aEthUSDT. Ограничената ликвидност на AAVE и лимитът за газ на CoW доведоха до потвърдена котировка от приблизително 329 aEthAAVE. Въпреки предупреждение за 99,9% въздействие върху цената и потвърждение, че цялата стойност може да бъде загубена, потребителят подписа и получи токени на стойност около 36 000 долара.

Това разграничение обяснява защо по-добрите описания на транзакции не са цялостно решение. Clear Signing помага на потребителите да разберат заявеното действие. Симулирането оценява ефектите спрямо избрано състояние на блокчейна. Нито едното, нито другото само по себе си налага независимо условие върху действително настъпилия резултат.

ЕлементПодробности
TXTRACEИзброява нетните промени в състоянието на транзакцията и генерираните събития.
TXDIFFИзвлича началните и крайните стойности за посочени адреси и слотове за съхранение.
EVENTDATACOPYКопира данните от дадено събитие в паметта за проверка.
Информация за внедряванетоПредложените данни за промените в състоянието включват нововнедрени договори и хешовете на техния код.

Как транзакционните проверки биха оценявали резултата

Проверката би сравнявала началното и крайното състояние на транзакцията чрез логика само за четене, след като действията ѝ бъдат изпълнени. Условието би било включено в транзакцията и подписано заедно с действията. При неизпълнение на условието действията биха били отменени.

Възможните правила включват минимално получено количество, лимит на разходите, ограничения върху нови одобрения за токени или запазване на логиката за контрол на акаунта. Предложената възможност за проверка обхваща не само салда, но и съхранение, код, нововнедрени договори и генерирани събития.

Съществуващите проверки в договорите вече защитават определени резултати. Uniswap може да отхвърля суапове под зададен минимален изходен обем, а guard в Safe може да проверява състоянието на акаунта след изпълнението. Ограничението е видимостта: такива проверки трябва предварително да предвидят какво да проверяват и обикновено зависят от интерфейсите, предоставени от други договори. Например прокси не е задължен да предлага функция, която разкрива адреса на своята реализация.

Вградените проверки биха предоставили за проверка пълните нетни ефекти на транзакцията, включително промени, които обикновен guard може да не знае да търси. Но по-широката видимост е полезна само ако правилото е надеждно. Злонамерен интерфейс би могъл да зададе условие, позволяващо собствената му атака, затова политиката трябва да произтича от независимо одобрено намерение, политика на акаунта или защитена логика на протокола.

Какво би предоставила предложената реализация

В съобщението на фондацията за вградените транзакционни проверки EIP-7906 е описан като възможна реализация, а не като окончателно утвърден проект. Той надгражда рамковите транзакции в EIP-8141, които подреждат стъпките за валидиране и действие в последователност. EIP-8141 е планиран за Hegotá; EIP-7906 е достигнал етапа Considered for Inclusion, но не е потвърден за това обновление.

При този подход рамка POST_TX, предназначена само за четене, би проверявала резултатите в края на изпълнението. Предложените инструкции за достъп до данни биха действали само в тази рамка, а не в цялата EVM.

Информацията би описвала нетните ефекти, а не историята на всяка междинна операция по запис. Слот за съхранение, променян многократно, би показвал началната и крайната си стойност; слот, възстановен до първоначалната си стойност, не би се появил. Затова е важно да се прави разлика между налагане на ограничения върху крайното състояние и наблюдение на всяка стъпка от изпълнението.

Ако проверка се провали, тялото на изпълнението би било отменено, но транзакцията би останала в блока като неуспешна. Плащащият газа пак би платил за използвания газ, което не позволява умишлено провалящи се транзакции да налагат безплатна работа по изпълнението на създателите на блокове.

Какви промени биха били нужни в портфейлите и протоколите

Предложението осигурява механизъм за проверка, а не автоматично изискване той да се използва. При транзакциите на потребителя портфейлът би трябвало да включва политиката си за сигурност в създаването на транзакцията, вместо да оставя създателя ѝ свободен да я пропусне. Тази политика може да се основава на собствената симулация на портфейла или да се прилага като постоянно правило за акаунта.

При протоколите защитата би трябвало да бъде вградена в условията за достъп до защитена функция. Самото подаване на транзакция, способна да използва проверки, не би било достатъчно: извикването трябва да включва конкретната проверка, изисквана от протокола. Това би променило изискванията за интеграция към извикващите страни, а вече внедрените неизменяеми договори не биха могли впоследствие да добавят тази проверка за достъп.

Тези зависимости разделят потенциално мощната възможност на EVM от гаранцията за крайния потребител. Ефективната защита би изисквала както надеждно условие, така и софтуер, който последователно гарантира, че то не може да бъде заобиколено.

Какво биха спечелили агентите и работните процеси на солвъри

Делегираните агенти биха могли да бъдат ограничавани според резултатите, а не само според разрешенията им. Ограниченията върху договорите, които агентът може да използва, или върху сумата, която може да похарчи, биха могли да бъдат допълнени с изисквания за състоянието след всяка транзакция.

При изпълнение чрез солвър протоколът би могъл да зададе приемлив резултат, като остави на солвъра избора на маршрут. Гаранцията би била ограничена до транзакция в една мрежа, а не до маршрут през няколко блокчейна.

Проверките биха могли да следят и почистването след работния процес, например връщането на неизползваните токени и отмяната на оставащите одобрения. Докато работата по проекта продължава, фондацията търси мнения от екипи на портфейли и протоколи, така че тези потенциални приложения са направления на изследване, а не обявени продуктови функции.

Заключение

Вградените транзакционни проверки биха изместили част от защитата на транзакциите в Ethereum от тълкуването на заявката към налагането на нейния резултат. Практическата им стойност би зависела от надеждни политики и от приемането им от портфейлите и протоколите, отговорни за прилагането им.

Прочетете още новини

Още новини от FinanceVelix

Отказ от отговорност

Тази статия на FinanceVelix предоставя обща информация, а не персонализиран финансов, инвестиционен, правен или данъчен съвет. Цените на криптоактивите могат да се променят бързо и може да загубите всички инвестирани средства. Фактите отразяват наличната към момента на публикуване информация и може да се променят. Проверявайте важната информация независимо и при необходимост се консултирайте с квалифициран специалист. Споменаването на актив, компания или услуга не представлява препоръка.