Додайте свій проект безкоштовно і почніть отримувати пропозиції від фрілансерів-виконавців вже через хвилини після публікації!

Реализация простой техногологии Blockchain

минув час актуальності


Задача - разработать приложение распределенной системы, реализующее очень простую концепцию блокчейна. Для реализации используйте любую технологию по вашему предпочтению (C / C ++, Java, .NET, Python, JavaScript и т. Д.), А для связи между пирами используйте HTTP REST или RPC / RMI-подобные подходы.

Структура блокчейна очень простым способом

Основная идея блокчейна очень проста: это распределенная база данных, которая обрабатывает постоянно растущий список упорядоченных записей. Не думайте о блокчейне с точки зрения криптовалюты и / или бизнес-транзакций. Мы будем использовать блокчейн для хранения некоторых пользовательских данных в неизменяемом распределенном списке (цепочке) в peer-to-peer сети узлов.


Разработайте блочную структуру, подходящую для решения блокчейна. Данные в блоке хэшируются (используется хеш-функция SHA-256), и блок связывается друг с другом путем сохранения хеша предыдущего блока. Блок состоит из индекса, отметки времени, данных (любые пользовательские данные, которые должны быть сохранены в блоке), хеша предыдущего блока и хеша текущего блока (который вычисляется из всех других данных блока). Блоки должны быть сохранены либо в файл, либо в базу данных, чтобы узел мог восстановиться после перезапуска.


Peer-to-peer сеть для распределения блокчейна

Любой узел Peer-to-peer сети может генерировать новый блок, который добавляется в цепочку блоков узла. Сгенерированный блок затем транслируется всем другим пирам, и они несут ответственность за добавление блока в свои собственные цепочки блоков. Целостность дополнения блока к блокчейну должна быть проверена(нет необходимости реализовывать протоколы Proof-of-Work или Proof-of-Stake). Единственная проверка целостности - это длина цепочки блоков, достоверность связанного хеша с предыдущим блоком и достоверность вычисленного хеша сгенерированного блока. (The only integrity validation is the length of the blockchain, validity of the linked hash to the previous block, and the validity of calculated hash of the generated block. ) Это должно гарантировать, что все узлы в конечном итоге будут содержать один и тот же блокчейн. Хэши гарантируют неизменность цепи. 


Основная задача этого проекта - реализовать протокол связи Peer-to-peer сети, чтобы синхронизировать поддержку блокчейна между всеми одноранговыми узлами. Следующие действия используются для синхронизации пиров:

  1. Когда узел генерирует новый блок, он передает его другим узлам.
  2. Когда узел подключается к новому узлу, он запрашивает последний блок.
  3. Когда узел встречает блок, индекс которого больше текущего известного блока, он либо добавляет блок в свою текущую цепочку блоков, либо запрашивает полную цепочку блоков. (Это означает, что самый длинный блокчейн является победителем.)


Пользовательский интерфейс

Разработка простого пользовательского интерфейса, который позволяет пользователю выполнять следующие действия с узлом:


Отобразить блокчейн узла.

Создать новый блок с заданными данными.

Отобразитьб все одноранговые узлы в одноранговой сети.

Добавить новый одноранговый узел в одноранговую сеть.

Используйте любую технологию по вашему выбору (консоль, web т. Д.) Для реализации пользовательского интерфейса.

Додатки 1

Перегляд контактної інформації доступний тільки зареєстрованим користувачам.


  1. 30 днів50 000 ₴
    Богдан Шаповал
     318  перевірений   3  0

    Насколько высокая нагрузка планируется?
    И все же не до конца понятно, что делать с разветвлением цепи - по какому принципу выбираем ветку, которая остнется жить. И что делаем с отвергнутыми ветками - просто убиваем, или выбираем из них данные и формируем новые блоки?

    Україна Запоріжжя | 3 січня о 17:13 |
  2. ставка прихована фрілансером
  3. 10 днів40 000 ₽
    username user
     199   0  1

    Здравствуйте. Готов взяться за проект. Имеется опыт работы с blockchain.
    контакты:
    skype: belyaewoa
    telegram: @boa85

    Антильські о-ви Виллемстад | 4 січня о 06:33 |
  4. ставка прихована фрілансером
  5.  695 
       1  0

    20 днів45 000 ₴
    Евгений Р. перевірений 

    Здравствуйте, имеем большой опыт разработки блокчейн проектов.
    Можем взяться за вашу задачу. Пишите обсудим детали.
    Наш сайт с портфолио: https://imagine.ua

    Мое портфолио: https://imagine.ua

    Україна Одеса | 5 січня о 18:49 |
  6. 15 днів10 000 ₴
    Anatolii N
     798   21  0

    Здравствуйте! Предлагаю сделать на Java в виде web приложения, блоки считаю целесообразным хранить в БД MySQL.

    Україна Харків | 8 січня о 23:07 |