Архитектура блокчейна: публичные и частные блокчейны

Самые главные криптоновости в Телеграм-канале CryptoMoon, присоединяйтесь!👇

Cryptomoon Telegram


Архитектура блокчейна: публичные и частные блокчейны

Введение

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

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

Типы архитектуры блокчейна

  1. Публичная архитектура блокчейна
    • Децентрализация. Не существует центрального органа, который хранит все необходимые данные или проверки транзакций, а все они распределены по сети. Каждый узел самостоятельно проверяет транзакции и следит за тем, чтобы система продолжала работать, даже если что-то пойдет не так.
    • Децентрализация — это основа блокчейна, в которой ни один субъект не обладает властью.
    • Прозрачность и неизменность. Все узлы и участники могут просматривать реестр, обеспечивая прозрачность во всей сети. Кроме того, необходимо быть очень осторожным перед выполнением какой-либо транзакции, поскольку после ее завершения ее уже невозможно изменить. Это свойство весьма полезно для предотвращения мошенничества и двойных расходов. 
    • Механизмы консенсуса. Это правила, которые гарантируют, что все части сети согласовывают одну и ту же информацию и то, как она работает. Они помогают всем оставаться на одной волне с тем, что происходит. Эти механизмы не ограничиваются PoS и PoW, но выходят за рамки. Более новыми механизмами являются PoA (доказательство полномочий), а DPoS использует голосование и делегирование для проверки транзакции и создания новых блоков. PBFT обменивается сообщениями между узлами для достижения консенсуса. Понимание и применение этих протоколов имеет решающее значение для обеспечения надежности и безопасности сетей.
  1. Частная архитектура блокчейна
    • Разрешенная сеть: Частный блокчейн работает в контролируемой среде с узлами разрешений. Важными задачами являются настройка контроля доступа и управление ролями. Контролируемый доступ гарантирует, что только авторизованные пользователи могут взаимодействовать с сетью. обеспечивая уровень безопасности и конфиденциальности.
    • Конфиденциальность и конфиденциальность.  Конфиденциальность — это основа частных блокчейнов. Для поддержания секретности эти блокчейны используют такие функции, как доказательство с нулевым разглашением и шифрование данных. Это важно для отраслей, работающих с конфиденциальной информацией, таких как здравоохранение и финансы.
    • Масштабируемость и производительность. Масштабируемость и производительность хорошо управляются частным блокчейном, поскольку это контролируемая установка. Для этого используются такие методы, как транзакции вне цепочки, сегментирование и методы интеллектуального консенсуса (например, «Практическая византийская отказоустойчивость»), чтобы все работало быстрее и плавнее.

Создание публичного блокчейна

  1. Настройка и конфигурация узла

Установите необходимое программное обеспечение (например, Geth для Ethereum).

Инициализируйте и настройте узлы:
bash

geth init Genesis.json
geth -networkid 1234 -nodiscover -maxpeers 0 -datadir ./node1

2. Разработка смарт-контрактов

Напишите простой смарт-контракт в Solidity (например, контракт токена):
solidity

pragma Solidity ^0.8.0;

contract SimpleToken {
    string public name = “SimpleToken”;
    string publicsymbol = “STK”;
    uint8 public decimals = 18;
    uint256 public totalSupply;

mapping(address => uint256) public BalanceOf;

    constructor(uint256 _initialSupply) {
totalSupply = _initialSupply * 10 ** uint256(decimals);
        balanceOf[msg.sender] = totalSupply;

Скомпилируйте и разверните смарт-контракт с помощью Truffle или Hardhat:
bash
Копировать код

компиляция трюфелей
миграция трюфелей — развитие сети

3. Развертывание и обслуживание сети

Разверните общедоступную сеть блокчейнов:
bash

geth -networkid 1234 -mine -minerthreads=1 -datadir ./node1

Контролируйте и обслуживайте сеть, проверяя синхронизацию и производительность узлов.

4. Взаимодействие и интеграция

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

Создание частного блокчейна

  1. Проектирование и настройка сети

Спроектируйте топологию сети и настройте разрешенные узлы:
bash
Копировать код

configtxgen -profile SampleDevModeSolo -outputBlock Genesis.block
configtxgen -profile SampleDevModeSolo -outputChannelCreateTxchannel.tx
-channelID mychannel
  1. Разработка цепочки кода/смарт-контрактов

Напишите цепной код для бизнес-логики на Go, Node.js или Java:
go

основной

импорт (
    “fmt”
    “github.com/hyperledger/fabric-contract-api-go/contractapi”
)
< br/>type SimpleAsset struct {
    contractapi.Contract
}

func (s *SimpleAsset) InitLedger(ctx Contractapi.TransactionContextInterface) error {
    актив := “ myAsset”
    value := “100”
    err := ctx.GetStub.PutState(asset, []byte(value))
    return err
}
< br/>func main {
    chaincode, err := Contractapi.NewChaincode(new(SimpleAsset))
    if err != nil {
        fmt.Printf(“Ошибка создания кода SimpleAsset: %s ”, err.Error)
        return
    
    if err := Chaincode.Start; err != nil {
        fmt.Printf(“Ошибка запуска кода цепочки SimpleAsset: %s”, err.Error)
    }

Разверните цепной код:
bash

одноранговый цепной код install -n simpleasset -v 1.0 -p github.com/simpleassetpeer Chaincode экземпляр -o orderer.example.com:7050 -C mychannel -n simpleasset -v 1.0 -c ‘{«Args»:[«»]}’
  1. Конфиденциальность и безопасность данных

Чтобы эффективно защитить информацию, внедрите надежные методы шифрования и меры безопасности. Обеспечьте безопасный сквозной процесс передачи данных, шифруя данные в источнике и расшифровывая их только в пункте назначения. Тщательно скрывайте данные с помощью маскировки для сохранения конфиденциальности. Кроме того, используйте многофакторную аутентификацию (MFA) для дополнительного уровня защиты. Наконец, используйте Transport Layer Security (TLS) во время сетевого взаимодействия для защиты передачи данных между узлами.

  1. Управление сетью и масштабирование

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

Инструменты и платформы

  1. Инструменты разработки общедоступных блокчейнов
    • Truffle Suite используется для Ethereum и содержит платформу для тестирования, написания и развертывания смарт-контрактов.
    • Ganache используется для тестирования и разработки локального блокчейна 
    • Hardhaht используется для Ethereum и обеспечивает гибкую среду разработки, имеет систему плагинов и встроенную локальную сеть Ethereum для разработки.
  2. Инструменты разработки частных блокчейнов
    • Hyperledger Composer для моделирования бизнес-сетей — это язык высокого уровня для определения активов и транзакций.
    • Hyperledger реализует логику JavaScript и автоматически генерирует REST API для сетей.
    • Комплект разработки Corda для финансовых приложений ориентирован на прямые и частные транзакции.
    • Corda пишет смарт-контракты на Kotlin и имеет структуру Flow для управления рабочим процессом.

Читайте также: Понимание сетей и узлов блокчейна

Смотрите также

2024-07-15 15:23