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
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í.
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
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
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
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”:[“”]}“
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.
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
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.
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ů