Для студентов МГТУ им. Н.Э.Баумана по предмету ДругиеВерификация контрактов в криптовалюте EthereumВерификация контрактов в криптовалюте Ethereum
2024-06-09СтудИзба

ВКР: Верификация контрактов в криптовалюте Ethereum

Описание

2019
Введение2
Цель и постановка задачи4
Обзор5
Обзор блокчейна Ethereum5
Типы уязвимостей контрактов8
Реентерабельность8
Недостаточная защищенность переводящих средства функций10
Недостаточная защищенность деструктора11
Другие типы уязвимостей11
Существующие инструменты поиска уязвимостей12
Система Spin и язык Promela14
Архитектура инструмента16
Трансляция контрактов в язык Promela21
Реализация “прыжков” по коду для инструкций JUMP и JUMPI21
Синхронизация процессов22
Реализация возможности полного отката транзакции для инструкции REVERT25
Ограничения на вызов верификатором функции жертвы26
Работа с аргументами функций27
Выбор верификатором value вызова28
Проверка инструмента на тестовых примерах контрактов30
Тестирование инструмента на реентерабельном контракте30
Тестирование инструмента на контракте с незащищенным деструктором31
Тестирование инструмента на контракте с недостаточно защищенной функцией
перевода средств32
Тестирование инструмента на контракте, не подверженном уязвимостям33
Заключение35
Список литературы36



















1




Введение

Блокчейн – технология для поддержания функционирования распределенных полностью реплицированных баз данных. Впервые эта технология была применена в сети криптовалюты Bitcoin. Сеть Bitcoin состоит из аккаунтов, совершающих друг с другом финансовые сделки, называемые транзакциями. Данные обо всех транзакциях специальным образом собираются в блоки, блоки последовательно связаны друг с другом (отсюда термин блокчейн – цепочка блоков). Процесс сбора транзакций в блоки называется майнингом. Цепочка блоков представляет собой базу данных, содержащую информацию обо всех совершенных финансовых сделках. Так как постоянно совершаются новые транзакции, цепочка блоков постоянно обновляется: в конец последовательности добавляются новые блоки, старые при этом не изменяются (что чрезвычайно важно). Каждый аккаунт хранит собственный экземпляр цепочки блоков. Блокчейн-сеть принимает все необходимые меры, чтобы цепочки на всех аккаунтах были одинаковы. Единая централизованная база данных отсутствует, а значит, невозможно фальсифицировать данные в единственном месте так, чтобы ввести этим в заблуждение все аккаунты сети. Кроме того, аккаунты обмениваются между собой данными без участия посредников (peer-to-peer).

В роли аккаунтов в блокчейн-сети могут выступать онлайн-сервисы. Цепочка блоков может хранить данные не только о балансах и переводах денег, но и любые представляющие интерес данные. Эти возможности блокчейн-технологии успешно используются сетью Ethereum. Также как сеть Bitcoin, сеть Ethereum представляет собой множество аккаунтов, обменивающихся между собой информацией в процессе транзакций. Криптовалюта Ethereum предназначена для совершения аккаунтами финансовых сделок. Существуют аккаунты двух видов: внешние и внутренние. Внешние аккаунты не имеют исходного кода, и все решения об их действиях в сети принимаются человеком извне. Внутренние аккаунты иначе называются контрактами или смарт-контрактами. Каждый внутренний аккаунт представляет собой программу, полностью определяющую действия этого аккаунта в сети.

Как любая программа, контракт может быть подвержен уязвимостям. Уязвимости в кодах контрактов привели к нескольким известным атакам злоумышленников в сети Ethereum с крупными финансовыми потерями. Так, ущерб от атаки TheDAO в июне 2016 года составил $74 млн [14], а за 2017 год было украдено $300 млн [15].

История потерь говорит о необходимости тщательной проверки кода контрактов на уязвимости. Проверка исходного кода экспертом может применяться лишь в единичных исключительных случаях, для широкого использования нужны инструменты, выполняющие автоматическую проверку кода.

Формальная верификация кода – строгое математическое доказательство соответствия кода спецификациям (формальным требованиям). В частности,

Характеристики ВКР

Предмет
Учебное заведение
Семестр
Просмотров
2
Размер
658,5 Kb

Список файлов

Верификация контрактов в криптовалюте Ethereum.doc
Обратите внимание, что данная работа уже сдавалась в МГТУ им. Н.Э.Баумана, а также её могли покупать другие студенты, поэтому её уникальность может быть нулевой. Для получения уникальной работы воспользуйтесь услугами.

Комментарии

Поделитесь ссылкой:
Цена: 1 500 руб.
Расширенная гарантия +3 недели гарантии, +10% цены
Рейтинг ждёт первых оценок
0 из 5
Оставьте первую оценку и отзыв!
Поделитесь ссылкой:
Сопутствующие материалы
Вы можете использовать ВКР для примера, а также можете ссылаться на неё в своей работе. Авторство принадлежит автору работы, поэтому запрещено копировать текст из этой работы для любой публикации, в том числе в свою выпускную квалификационную работу в учебном заведении, без правильно оформленной ссылки. Читайте как правильно публиковать ссылки в своей работе.
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее