The post Blockchain Architecture: Public vs. Private Blockchains appeared first on Coinpedia Fintech News

Úvod

Pokroky v Blockchainu nelze ignorovat, protože slibují decentralizaci, bezpečnost a transparentnost. Vývojáři, kteří chtějí pokračovat, musí být nejen zdatní v kódovacích dovednostech, ale také hlouběji rozumět základům. Pochopení blockchainové architektury se zdá být skličující úkol, že? Žádný pot! Pokryli jsme vás. Tento článek se ponoří do architektury, klíčových rozdílů, nástrojů a rámců a jak vytvořit hlavní blockchainy.

Typy architektury blockchainu

  1. Veřejná blockchainová architektura

    • Decentralizace: Neexistuje žádná centrální autorita, která by měla všechna potřebná data nebo ověřování transakcí, spíše je vše distribuováno po síti. Každý uzel kontroluje transakce sám a zajišťuje, aby systém fungoval, i když se něco pokazí.

    • Decentralizace je páteří blockchainu, kde nemá moc jediný subjekt.

    • Transparentnost a neměnnost: Všechny uzly a účastníci mohou prohlížet účetní knihu, což zajišťuje transparentnost v celé síti. Také je třeba být velmi opatrný před provedením jakékoli transakce, protože jakmile je provedena, nelze ji dále měnit. Tato vlastnost je velmi užitečná při prevenci podvodů a dvojích výdajů. 

    • Mechanismy konsenzu: Jedná se o pravidla, která zajišťují, aby se všechny části sítě shodly na stejných informacích a na tom, jak si vede. Pomáhají všem zůstat na stejné stránce ohledně toho, co se děje. Tyto mechanismy se neomezují pouze na PoS a PoW, ale i mimo ně. Novější mechanismy jsou PoA (Proof-of Authority) a DPoS využívá hlasování a delegáty k ověření transakce a vytvoření nových bloků. PBFT si vyměňuje zprávy mezi uzly za účelem dosažení konsensu. Uchopení a uvedení těchto protokolů do praxe je zásadní pro udržení silných a bezpečných sítí.

  1. Soukromá blockchainová architektura

    • Síť s oprávněním: Soukromý blockchain funguje v kontrolovaném prostředí s uzly oprávnění. Důležitými úkoly je konfigurace řízení přístupu a správa rolí. Řízený přístup zajišťuje, že se sítí mohou komunikovat pouze oprávnění uživatelé, což poskytuje vrstvu zabezpečení a soukromí.

    • Soukromí a důvěrnost:  Soukromí je jádrem soukromých blockchainů. K zachování tajemství tyto blockchainy používají funkce, jako jsou důkazy s nulovými znalostmi a šifrování dat. To je důležité pro odvětví, která se zabývají citlivými informacemi, jako je zdravotnictví a finance.

    • Škálovatelnost a výkon: Škálovatelnost a výkon jsou dobře spravovány soukromým blockchainem, protože jde o kontrolované nastavení. Metody používané pro totéž jsou mimořetězové transakce, sharding a metody inteligentního konsenzu (jako je praktická byzantská odolnost proti chybám), aby věci běžely rychleji a plynuleji.

Budování veřejného blockchainu

  1. Nastavení a konfigurace uzlu

Nainstalujte požadovaný software (např. Geth pro Ethereum).

Inicializujte a nakonfigurujte nodes:bash

geth init genesis.jsongeth –id sítě 1234 –nodiscover –maxpeers 0 –datadir ./node1

2. Vývoj chytrých smluv

Napište jednoduchou chytrou smlouvu v Solidity (např. token contract):solidity

pragma solidity ^0.8.0;contract SimpleToken {    string public name = “SimpleToken”;    veřejný znak řetězce = „STK“;    uint8 veřejná desetinná místa = 18;    uint256 public totalSupply;mapování(adresa => uint256) public balanceOf;    konstruktor(uint256 _initialSupply) {        totalSupply = _initialSupply * 10 ** uint256(decimal);        balanceOf[msg.sender] = totalSupply;

Zkompilujte a nasaďte inteligentní smlouvu pomocí kódu Truffle nebo Hardhat:bashCopy

kompilace lanýžůtruffle migrate – rozvoj sítě

3. Nasazení a údržba sítě

Nasaďte veřejnou blockchainovou síť:bash

geth –id sítě 1234 –moje –minerthreads=1 –datadir ./node1

Monitorujte a udržujte síť kontrolou synchronizace uzlů a výkonu.

4. Interoperabilita a integrace

Vyvíjet interoperabilní řešení a integrovat je se stávajícími decentralizovanými aplikacemi (dApps).

Budování soukromého blockchainu

  1. Návrh a konfigurace sítě

Navrhněte topologii sítě a nakonfigurujte oprávněné nodes:bashCopy code

configtxgen -profile SampleDevModeSolo -outputBlock genesis.blockconfigtxgen -profile SampleDevModeSolo -outputChannelCreateTx channel.tx-channelID mychannel

  1. Vývoj řetězového kódu/inteligentních smluv

Napište řetězový kód pro obchodní logiku v Go, Node.js nebo Java:go

package mainimport (    “fmt”    ”github.com/hyperledger/fabric-contract-api-go/contractapi”)type SimpleAsset struct {    contractapi.Contract}func (s *SimpleAsset) InitLedger(ctx contractapi.Interakcia) chyba  Kontext “myAsset”    value := “100”    err := ctx.GetStub().PutState(asset, []byte(value))    return err}func main() {    kód řetězce, err As := contractapi.New Chainset )    if err != nil {        fmt.Printf(“Chyba při vytváření řetězového kódu SimpleAsset: %s“, err.Error())        návrat        if err := chaincode.Start(); err != nil {        fmt.Printf(“Chyba při spuštění řetězce SimpleAsset: %s”, err.Error())    }}

Nasaďte řetězový kód:bash

peer chaincode install -n simpleasset -v 1.0 -p github.com/simpleassetpeer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n simpleasset -v 1.0 -c ‘{“Args”:[“”]}“

  1. Ochrana osobních údajů a bezpečnost 

Implementujte šifrování a zabezpečení. Zajistěte šifrování End-to-End, maskujte data pro ochranu citlivosti a také zajistěte vícefaktorové ověřování (MFA). Také se ujistěte, že komunikace v rámci sítě používá TLS (Transport Layer Security) pro zabezpečení komunikace mezi uzly.

  1. Správa sítě a škálování

Spravujte uzly a účast uzlů na palubě. Definujte role a oprávnění pro uzly a zajistěte, že se mohou zúčastnit pouze autorizované uzly. Vždy pokračujte v monitorování a auditování uzlů, abyste odhalili jakékoli škodlivé aktivity. Škálování je implementováno Sharding, Layer 2 Solutions, jako jsou postranní řetězce, Optimalizace mechanismů konsenzu.

Nástroje a rámce

  1. Veřejné vývojové nástroje blockchainu

    • Truffle Suite se používá pro Ethereum a obsahuje rámec pro testování, psaní a nasazování chytrých kontraktů.

    • Ganache se používá pro místní testování a vývoj blockchainu 

    • Hardhaht se používá pro Ethereum poskytuje flexibilní vývojové prostředí a má systém pluginů a vestavěnou místní síť Ethereum pro vývoj.

  2. Soukromé vývojové nástroje blockchainu

    • Hyperledger Composer pro modelování obchodních sítí je jazyk na vysoké úrovni pro definování aktiv a transakcí.

    • Hyperledger implementuje logiku javascriptu a automaticky generuje REST API pro sítě.

    • Corda vývojový kit pro finanční aplikace se zaměřuje na přímé a soukromé transakce.

    • Corda píše smart kontrakty v Kotlinu a má Flow framework pro správu workflow.

Čtěte také: Pochopení blockchainových sítí a uzlů