Все, что вам нужно знать о тестировании блокчейна

С 2009 года, когда Сатоши Накамото внедрил технологию блокчейн в качестве основного компонента в Bitcoin, блокчейн стал самым популярным словом в индустрии. Успех Bitcoin доказал возможности транзакций на основе блокчейна, и теперь все планируют внедрить технологию блокчейн практически во все. Согласно исследованию Всемирного экономического форума, к 2027 году 10% мирового ВВП может храниться не иначе как на основе технологии блокчейн. Интересно, не правда ли?

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

Для начала давайте немного углубимся в то, что именно представляет собой технология блокчейн, как она может нам помочь и что именно нужно тестировать в блокчейне.

Знаете ли вы, что атрибут boolean async на элементах сценария позволяет внешнему файлу JavaScript запускаться, когда он доступен, без задержки загрузки страницы.

Что такое технология блокчейн?

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

Давайте рассмотрим это на более простом уровне. Представьте, что вам нужно совершить транзакцию на сумму $10 из пункта А в пункт Б. В обычных сценариях транзакция происходит через стороннее приложение или систему обработки платежей. Сначала банк А идентифицирует реквизиты банка Б. Как только это будет сделано, банк А с помощью службы обработки платежей инициирует перевод денег в банк Б с определенной суммой отчислений. Оба банка зарегистрируют транзакцию на своей стороне. Однако за транзакцию взимается комиссия, и Б получает что-то вроде $9,95. Этот процесс достаточно безопасен и имеет множество резервных возможностей для обеспечения безопасности и точности, но даже в этом случае существуют некоторые основные фундаментальные проблемы в процессе транзакции:

  • Задержка в процессе

  • Зависимость от одного посредника, эффективность которого никогда не достигает 100%.

  • В случае какого-либо разрыва в транзакции никто не берет на себя ответственность, и люди продолжают обвинять друг друга.

Проверьте это, атрибут Spellcheck – включение/отключение проверки орфографии браузера на полях “input” и “textarea” для всех форм с этим расширением.

Как блокчейн устраняет эти проблемы?

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

Как только более определенного количества людей подтверждает транзакцию, детали транзакции сохраняются в виде блока, и этот блок добавляется в существующую “блокчейн”. Отсюда и название – блокчейн. Более того, блоки после подтверждения и добавления являются неизменными. Каждый блок имеет определенный хэш, связанный с каждым блоком. Эти хэши подобны отпечаткам пальцев, уникальным для каждого блока. Лица, проверяющие процесс транзакций, называются майнерами. Чем больше майнеров, тем выше эффективность транзакции.

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

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

Для чего необходимо тестирование в блокчейне?

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

Посмотрите это: Scoped CSS – сделайте ваш документ более удобным для чтения и написания, позволив правилам CSS быть привязанными к части документа, основываясь на положении элемента стиля.

Что нужно проверить в блокчейне?

  1. Размер блока: Максимальный фиксированный предел блока составляет 1 мегабайт. После введения биткоина средний размер блока в течение первых 18 месяцев составлял менее 30 КБ. Но в декабре 2017 года он колебался в районе 1 МБ. Что если размер блока превысит 1 МБ? Это еще предстоит выяснить, как поведут себя блоки размером более 1 МБ.

  2. Размер цепочки: Размер цепочки не ограничен. Поэтому интересно протестировать ее на функциональность и производительность. Например, размер цепочки биткоина продолжает увеличиваться день ото дня.

  3. Нагрузка: С таким большим количеством людей в блокчейне нагрузка становится основным параметром для тестирования блокчейна. Рассмотрим пример биткоина. В настоящее время его максимальная пропускная способность составляет 3-4 транзакции в секунду, но что если транзакция в секунду увеличится, как в случае с Visa(2000), Paypal(193) и т.д. Таким образом, нагрузка остается основной проблемой блокчейна, поскольку его производительность падает при увеличении нагрузки.

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

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

  6. Добавление блока: Каждый новый блок добавляется в цепочку после подтверждения подлинности транзакции. Поэтому необходимо проверить, чтобы в системе добавления блоков не было утечек, и блок должен добавляться после аутентификации.

  7. Криптографические данные: Криптография является основой технологии блокчейн. Поэтому необходимо убедиться, что данные правильно зашифрованы и расшифрованы.

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

Оцените статью
Procodings.ru
Добавить комментарий