Skip to content

ilnarildarovuch/BlockChain-ToolBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект BlockChain-ToolBox

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

Используемые технологии для создания:

  1. Aqua Style Sheet for QT Applications: Стиль для оформления графического интерфейса пользователя (GUI) приложения, разработанный Хайме А. Куирога П.
  2. QT: Библиотека для создания графических интерфейсов, позволяющая разработать кроссплатформенные приложения.
  3. Visual Studio Code (VSCODE): Редактор кода, используемый для разработки блокчейна.
  4. SHA-1 in C++: Реализация алгоритма SHA-1, используемого для хеширования данных в блоках. Создатели имплементации: Стив Рейд, Брюс Гентер, Волкер Дъелс-Грабш, Евген Хопкисон, Златко Михайлов.
  5. RSA: Алгоритм для шифрования и подписи сообщений, реализованный в проекте для подписи транзакций. Своя имплементация, для упрощения и наглядности.
  6. QtCreator: Инструмент для разработки приложений на QT.
  7. C++: Язык программирования, используемый для разработки блокчейна.
  8. cURL: Библиотека для работы с URL, используемая для связи между GUI и блокчейном.
  9. 7z SFX Builder: Инструмент для создания установщиков.

Структура

Блокчейн состоит из последовательности блоков, каждый из которых содержит:

  1. Индекс: Порядковый номер блока в цепочке.
  2. Хэш предыдущего блока: Уникальный идентификатор предыдущего блока.
  3. Временная метка: Дата и время создания блока.
  4. Список транзакций: Все транзакции, включенные в блок.
  5. Хэш текущего блока: Уникальный идентификатор текущего блока.
  6. Нонс: Значение, используемое для доказательства работы (Proof of Work).

Алгоритм Proof of Work (PoW, Доказательство работы):

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

Основной цикл работы блокчейна:

  1. Генерируется новый блок с транзакциями.
  2. Увеличивается значение нонса до тех пор, пока хэш блока не будет соответствовать заданному уровню сложности.
  3. Как только найдено подходящее значение, блок добавляется в цепочку, и транзакции считаются подтвержденными.
  4. Транзакции и подписи через RSA
  5. Транзакции: Каждая транзакция содержит публичный ключ отправителя, количество монет, адрес получателя и подпись.
  6. Подпись: Подпись транзакции создается с использованием закрытого ключа отправителя и включает в себя хеш сообщения, что обеспечивает целостность и аутентичность транзакции.

В заключение,

BlockChain-ToolBox демонстрирует основные принципы работы блокчейна и технологии для создания безопасного и эффективного приложения. Реализация таких функций, как подпись транзакций и создание блоков, позволяет пользователям взаимодействовать с системой, обеспечивая высокий уровень безопасности.

About

Simple example of blockchain

Resources

Stars

Watchers

Forks

Packages

No packages published