Search
Write a publication
Pull to refresh
0
0
Send message

Overflow

Reading time4 min
Views3.6K

К переполнению относятся числовые вычисления, результат которых превосходит объём памяти, отведённого для хранения. В Solidity диапазон, который может представлять тип данных uint8, составляет 256 чисел от 0 до 255. Когда тип uint8 используется для вычисления 255 + 1, произойдет переполнение, поэтому результат вычислений будет равен 0, минимальному значению, которое может представлять тип uint8.

Если в контракте есть уязвимость переполнения, фактический результат вычисления может значительно отличаться от ожидаемого результата. Это повлияет на нормальную логику контракта и может привести к потере средств. Однако существуют ограничения версии для уязвимости переполнения. В версиях Solidity <0.8 переполнение не будет сообщать об ошибке, но в версиях >= 0.8 переполнение вызовет ошибку. 

Читать далее

О EVM, Opcode, Gas, аккаунтах Ethereum

Reading time4 min
Views4.9K

Что такое EVM?

EVM — это среда выполнения для блокчейна Ethereum. Позволяет запускать код смарт-контракта путем компиляции в байт-код EVM.

Основы: Solidity → Байт-код → Opcode

Как вы знаете, код Solidity должен быть скомпилирован в байт-код перед развертыванием в сети Ethereum. Этот байт-код соответствует серии инструкций кода операции, которые интерпретирует EVM.

Исходный код: файл, написанный на языке программирования, таком как Java, Solidity.

Байт-код: скомпилирован из исходного кода и запущен на виртуальной машине, такой как JVM, EVM.

Машинный код: код, который может прочитать только операционная система. Байт-код преобразуется в машинный код и, наконец, выполняется.

Читать далее

Многоуровневая архитектура блокчейна

Reading time2 min
Views4.4K

Содержимое блокчейна хранится где-то на сервере в центре обработки данных на этом прекрасном земном шаре. Клиенты запрашивают контент или данные с серверов приложений во время просмотра веб-страниц или использования любых приложений (архитектура клиент-сервер).

Блокчейн — это одноранговая сеть компьютеров, которая упорядоченно вычисляет, проверяет и записывает транзакции в общий реестр. В результате создается распределенная база данных, в которой хранятся все данные, транзакции и другие соответствующие данные. Узел — это компьютер в сети P2P.

Читать далее

Что такое Re-entrancy attack?

Reading time4 min
Views6.2K

Говорят, что процедура является re-entrant, если ее выполнение может быть прервано в середине, инициировано заново, и оба запуска могут завершиться без каких-либо ошибок при выполнении. В контексте смарт-контрактов Ethereum повторный вход может привести к серьезным уязвимостям.

Самым известным примером этого был взлом DAO, в ходе которого был выведен эфир на сумму 70 миллионов долларов.

Так что же такое уязвимость повторного входа? Как это работает и как это предотвратить?

Механизм

Примером повторно входящего процесса может быть отправка электронной почты. Пользователь может начать вводить электронное письмо, сохранить черновик, отправить другое электронное письмо и закончить сообщение позже. Это безобидный пример. Однако представьте плохо построенную систему онлайн-банкинга для выдачи банковских переводов, в которой баланс счета проверяется только на этапе инициализации. Пользователь может инициировать несколько переводов, фактически не отправляя ни один из них. Банковская система подтвердит, что на счету пользователя имеется достаточный баланс для каждого отдельного перевода. Если во время фактической отправки не было дополнительной проверки, пользователь мог затем отправить все транзакции и потенциально превысить свой баланс. Это основной механизм эксплойта с повторным входом, который использовался в известном взломе DAO.

Пример из реальной жизни - взлом DAO

DAO это популярный децентрализованный инвестиционный фонд, основанный на смарт-контрактах. В 2016 году смарт-контракт DAO накопил эфир на сумму более 150 000 000 долларов (на тот момент). Если проект, запросивший финансирование, получил достаточную поддержку со стороны сообщества DAO, адрес Ethereum этого проекта мог вывести эфир из DAO. К сожалению для DAO, механизм перевода переводил эфир на внешний адрес, прежде чем обновлять его внутреннее состояние и отмечать, что баланс уже переведен. Это дало злоумышленникам возможность для вывода большего количества эфира, чем они имели право, путем повторного входа.

Читать далее

Трилемма блокчейна

Reading time3 min
Views7K

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

Ученые разработали теорему постоянства (consistency), доступности (availability) и устойчивости к разбиению (partition tolerance) - CAP в 1980-х годах, чтобы выразить наиболее значительные из этих свойств. Теорема CAP утверждает, что децентрализованное хранилище данных, такое как блокчейн, может одновременно удовлетворять только двум из трех упомянутых выше свойств.

Эта теорема превратилась в трилемму блокчейна в контексте современных распределенных сетей. Широко распространено мнение, что общедоступная инфраструктура блокчейна должна жертвовать безопасностью, децентрализацией или масштабируемостью.

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

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

1) Масштабируемость блокчейна относится к его способности обрабатывать больший объем транзакций.

2) Безопасность относится к способности защищать данные в блокчейне от различных типов атак и защите блокчейна от двойного расходования средств.

3) Децентрализация — это тип избыточности сети, который гарантирует, что сеть не контролируется меньшим количеством объектов.

Читать далее

Краткий обзор Threat Intellegence

Reading time3 min
Views2.5K

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

Gartner, McMillan (2013) from Tactics, Techniques and Procedures (TTPs) to Augment Cyber Threat Intelligence (CTI): A Comprehensive Study

Читать далее

Information

Rating
Does not participate
Registered
Activity