Віталік прогнозує, що безпомилковий код стане реальністю у 2030-х роках

image

Джерело: CoinEdition Оригінальна назва: Віталік прогнозує, що безпомилковий код з’явиться у 2030-х роках Оригінальне посилання: https://coinedition.com/vitalik-predicts-that-bug-free-code-will-be-available-in-the-2030s/

Смарт-контракти та системи критичної безпеки

Додатки, побудовані як смарт-контракти у програмованих віртуальних машинах, продовжують виявляти глибоку структурну слабкість у дизайні блокчейну. Останні дії операторів, зокрема жорстка форк для відновлення коштів після експлойту Balancer, знову привернули увагу до цієї проблеми. Мережеві оператори діяли рішуче, але цей випадок підкреслив основне питання про те, як блокчейни мають безпечно додавати функціональність.

За словами c-node, розробника zk, багато логіки додатків можливо не належить у нескінченно змінювані смарт-контракти. Він стверджує, що лише обмежений набір контрактів виправданий для довгострокового існування, і ці компоненти могли б отримати користь від базового рівня безпеки та різноманітності клієнтів. Відповідно, індустрія може потребувати перегляду того, чи є універсальні віртуальні машини найнадійнішим способом масштабного додавання функціональності.

Є лише 7 контрактів, які варто писати, і їх слід закріпити у базовому шарі та забезпечити безпеку за рахунок різноманітності клієнтів.

Чому помилки залишаються у критичному програмному забезпеченні

Помилки залишаються неминучими сьогодні, оскільки розробники все ще жертвують безпекою заради швидкості та гнучкості. Крім того, складність програмного забезпечення продовжує зростати швидше за якість перевірки. Однак Віталік Бутерін очікує, що цей баланс з часом зміниться. Він прогнозує, що твердження про те, що помилки неминучі, припинить бути істинним у 2030-х роках.

Реєструємо прогноз: “помилки неминучі, ви не можете створити безпомилковий код” припинить бути істинним у 2030-х (багато програмного забезпечення продовжуватиме мати помилки, оскільки у їхньому випадку, здобутки у функціональності важливіші, але якщо ви хочете безпомилковий код, ви його отримаєте)

На це впливають кілька сил. Мови програмування тепер вбудовують більш потужні системи типів і суворіші правила роботи з пам’яттю. Крім того, методи аудиту покращилися завдяки автоматизації та змагальному тестуванню.

Більше того, інструменти формальної верифікації дедалі більше доводять правильність, а не припускають її. Тому безпековий критичний код поступово стає доводимим, а не сподіваним.

Згідно з дослідженнями Бутерина, щільність дефектів уже різко знизилася за умов екстремальної інженерії. У 1990 році 1000-рядкова програма критична для безпеки, ймовірно, містила від восьми до десяти прихованих помилок. До 2000 року дисципліновані команди зменшили цю кількість до чотирьох. Відповідно, до 2010 року елітні зусилля наблизили кількість дефектів до одного або двох.

Крива вартості верифікації

До 2020 року команди, що витрачали один мільйон доларів на 1000 рядків, досягли майже нульової кількості відомих дефектів. Однак цей результат вимагав вичерпного огляду та математичної валідації.

Бутерін уточнив цю припущення, говорячи про сучасні результати. Він заявив: “це припускає екстремальні зусилля найвищого рівня для верифікації цих 1000 рядків, наступним кроком є зниження цієї планки”.

Важливо, що майбутні здобутки не залежатимуть лише від витрат більшої кількості грошей. Вони з’являться завдяки кращим налаштуванням за замовчуванням. Мови програмування автоматично запобігатимуть цілим класам помилок. Крім того, системи доведення інтегруватимуться безпосередньо у процеси розробки.

BAL-0.4%
CRV6.46%
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити