Sebastien Rousseau

Understanding the Technology behind Blockchain

Daga cryptographic hash chains zuwa programmable smart contracts: injiniyoyin da suka mai da blockchain platform, ba kawai ledger ba.

11 minti karatu
Banner for: Understanding the Technology behind Blockchain

Abstract digital ledger blocks connected by light trails on dark background.class="img-fluid clearfix"

Taƙaitaccen Abubuwa / Manyan Abubuwa

  • Matsala. Kuɗin dijital yana buƙatar warware matsalar kashe kuɗi biyu: hana amfani da raka'a iri ɗaya sau biyu ba tare da wani gidan takar da ake amincewa da shi ba. Takarda fari ta Bitcoin ta 2008 ta warware wannan ta hanyar maye gurbin masu shiga tsakani da aka amince da su da shaidar sirri da yarjejeniyar rarraba (Nakamoto, 2008).
  • Tsarin bayanai. Blockchain wata jerin haɗi ce ta toshe inda kowane kan toshe ya ƙunshi SHA-256 hash na kan da ya gabata. Sarkar hash tana sa tarihin ya zama mai ƙara kawai: canza kowane toshe na baya yana soke dukkan hash na gaba, yana tilasta mai hari ya sake duk proof-of-work na gaba.
  • Merkle trees. Ana hash ma'amaloli a cikin toshe zuwa Merkle tree na binary. Root hash, da aka adana a cikin kan toshe, yana ba da damar tabbatarwa mai inganci na kowane ma'amali ɗaya ba tare da zazzage cikakken toshe ba — tushen abokan ciniki masu nauyi na SPV.
  • Faɗaɗa Ethereum. Yellow Paper na Ethereum (2014) ya gabatar da EVM — ƙirar stack deterministic da ke gudana a kowane cikakken node. Smart contracts shine bytecode da aka tura zuwa sarkar; suna aiwatarwa iri ɗaya a duk nodes kuma suna sasantawa ta hanyar atomic, suna maye gurbin masu shiga tsakani da aka amince da su da lambar da ke tilasta kanta (Wood, 2014).
  • Muhimmancin aiki. Kowane dukiya da aka tokenize, stablecoin, da DeFi protocol da aka tura tun 2017 suna gudana a kan waɗannan tushe. Fahimtar sarkar hash SHA-256, Merkle tree, da ƙirar aiwatarwa EVM shine buƙatar farko don aiki tare da kowane tsarin da ke dogara da Ethereum.

Matsalar da Blockchain Ya Warware #

Kafin Bitcoin, biyan kuɗi na dijital sun buƙaci maji shiga tsakani da aka amince da shi — banki, mai sarrafa biyan kuɗi, ko gidan takar — don hana kashe kuɗi biyu. Idan Alice ta aika fayil na dijital da ke wakiltar £10 zuwa Bob, babu komai a cikin fayil ɗin da ya hana ta aika kwafin iri ɗaya zuwa Carol. Mafita a kowane tsarin da ke akwai ita ce kiyaye rikodin tsakiya: rijistar banki ta ce an kashe kuɗin, don haka ba za a iya sake kashe shi ba.

Gudunmawar Bitcoin ita ce maye gurbin wannan rijistar da aka amince da ita da wacce ta rarraba wanda a cikin sa rikodin dukkan ma'amaloli ana sake shi a cikin nodes masu zaman kansu dubu-dubu. Rashin amincewa juna tsakanin nodes ya canza zuwa tsaro ta hanyar hanyoyin biyu:

  1. Haɗin sirri. Kowane toshe na ma'amaloli ya ƙunshi hash na toshe na baya. Aikin hash haɗi ne na ɗaya-ko'ina mai ƙaddara: ga kowane shigarwa, aikin yana samar da fita mai tsayi mai tsaye, kuma canza ko ɗaya bit na shigarwa yana samar da fita daban gaba ɗaya. Wannan yana nufin duk wata canjin toshe na tarihi yana soke dukkan toshe bayan sa.

  2. Yarjejeniyar proof-of-work. Ƙara sabon toshe yana buƙatar nemo ƙimar nonce wanda hash na toshe ya faɗi ƙasa da iyakar manufa — mai tsada a ƙididdige don samo, mai arha don tabbatarwa. Wannan yana sa sake rubuta tarihin ya kasance mai tsada gwargwadon zurfin toshe da ake canzawa, saboda mai hari dole ne ya sake duk proof-of-work daga wannan toshe zuwa ƙarshen sarkar.

Haɗaɗɗen yana nufin cewa sarkar mafi tsayi da mafi yawan proof-of-work haɗe ita ce, ta hanyar gini, wacce masu shiga tsakani masu gaskiya da ke kashe albarkatu na gaske ke kiyaye ta.

Tubalan Ginin Sirri #

Fasahar blockchain ta tara tsarin sirri guda uku na baya a cikin sabuwar gine-gine:

Ayyukan Hash na SHA-256 #

SHA-256 (Secure Hash Algorithm 256-bit) memba ne na dangin SHA-2 da NIST ya daidaita. Yana ɗaukar shigarwa mai tsayi na sabani kuma yana samar da fita mai bit 256. Muhimman halayyar don amfani da blockchain:

Bitcoin yana amfani da SHA-256 sau biyu (SHA-256d) don ƙarin tsaro akan hare-haren tsawaita tsayi. Ethereum yana amfani da Keccak-256, nau'in mai fasaha na SHA-3 finalist.

Merkle Trees #

Merkle tree itace binary tree na hashes. Kowane node na ganye shine hash na ma'amali. Kowane node na ciki shine hash na 'ya'yansa biyu. Tushe — Merkle root — yana taƙaita dukkan ma'amaloli a cikin toshe a cikin ƙimar byte 32 ɗaya da aka adana a cikin kan toshe.

Sakamakon aiki: don tabbatar da cewa wani ma'amali na musamman ya haɗa a cikin toshe, kuna buƙatar hashes log₂(n) kawai, ba duk ma'amaloli n ba. Ga toshe tare da ma'amali 2,000, tabbatarwa tana buƙatar hashes 11 maimakon 2,000 — tushen Simplified Payment Verification (SPV) a cikin abokan ciniki masu nauyi.

Sa Hannun Dijital (ECDSA) #

Izinin ma'amali a cikin Bitcoin da Ethereum yana amfani da Elliptic Curve Digital Signature Algorithm (ECDSA) a kan layin secp256k1. Maɓallin sirri yana sa hannu a kan ma'amali; kowane node zai iya tabbatar da sa hannu ta amfani da maɓallin jama'a daidai ba tare da sanin maɓallin sirri ba. Wannan yana tabbatar da cewa mai riƙe maɓallin sirri kawai zai iya ba da izinin kashe kuɗi daga adireshi.

Adireshin Ethereum shine ƙarshen bytes 20 na Keccak-256 hash na maɓallin jama'a — samo wanda ke sa adireshoshi su zama gajere da portable yayin da suke ɗaure ta sirri zuwa ma'aurarin maɓalli.

Yadda Blockchain Bitcoin Ke Aiki #

Toshe Bitcoin ya ƙunshi sassa uku na ma'ana:

Kan toshe — bytes 80 ciki har da: sigar ka'idar, hash na kan toshe na baya, Merkle root na ma'amaloli, lokacin Unix, manufar wahala ta yanzu, da nonce. Masu hakar ma'adinai suna maimaita nonce (kuma wani lokacin timestamp ko extra-nonce a cikin ma'amali na coinbase) har sai double-SHA-256 hash na kan ya faɗi ƙasa da manufar wahala.

Jerin ma'amali — saitin ma'amaloli na tsari da aka haɗa a cikin toshe. Ma'amali na coinbase (na farko) yana ba da kyautar toshe da kuɗin ma'amali ga adireshin mai hakar ma'adinai.

Sarkar — haɗin kan-da-kan. Cumulative proof-of-work a cikin sarkar (jimla duka ayyukan da aka yi don samar da kowane toshe) yana ƙayyade wane rabuwar ke sarkar al'ada. Nodes koyaushe suna bin sarkar tare da mafi yawan aiki haɗe.

Ana niyya lokacin toshe akan minti 10 don Bitcoin. Wahala tana daidaitawa kowace toshe 2,016 (kusan makonni biyu) don kiyaye wannan manufar yayin canjin jimlar hash rate na cibiyar sadarwa.

Ɓangare Mai Shirye-shiryen Ethereum #

Ethereum ya haɗa ƙirar ma'amali na Bitcoin daga "canja ƙima" zuwa "aiwatar da lambar." Manyan ƙarawa:

Ethereum Virtual Machine (EVM). Inji mai ƙima mai ginin stack na kalma 256-bit wanda ke aiwatarwa ta ƙaddara a duk cikakkun nodes. Kowane opcode yana da ƙimar gas bayyananniya. Ana iyakance ƙididdiga ta iyakar gas na toshe, yana hana madaukai mara iyaka daga dakatar da cibiyar sadarwa. Duk nodes da ke aiwatar da bytecode iri ɗaya akan jiha iri ɗaya dole ne su samar da fita iri ɗaya — wannan yarjejeniya akan aiwatarwa ita ce abin da ke sa smart contracts su zama mara amana.

Asusun. Ethereum yana da nau'ikan asusun biyu: Externally Owned Accounts (EOAs) da maɓallan sirri ke sarrafa su, da Contract Accounts waɗanda lambarsu aka adana a sarkar. Ma'amali da aka aika zuwa adireshin kwantireji yana kunna aiwatarwar bytecode na kwantireji.

Jiha. Jihar duniya ta Ethereum wani taswirar adireshoshi ne zuwa jihohin asusun (nonce, ma'auni, ajiya, hash lambar). Tushen jiha — Merkle Patricia trie na dukkan jihohin asusun — ya haɗa cikin kowane kan toshe, yana ba da damar tabbatar da inganci na jiha ta kowane asusun a kowane tsayin toshe.

Gas. Masu amfani suna biyan gas (a ETH) don kowane aiki na EVM. Gas yana aiwatar da ayyuka biyu: yana biya masu hakar ma'adinai/masu tabbatarwa don ƙididdiga, kuma yana iyakance albarkatu da kowane ma'amali ɗaya zai iya cinye, yana hana hare-haren hana sabis ta hanyar ayyuka masu tsada.

Rubuta Smart Contracts a Solidity #

Solidity harshe ne mai nau'i daidai, mai karkata ga kwantireji wanda ke ƙara zuwa EVM bytecode. Ƙaramin kwantireji na token yana nuna manyan ra'ayoyi:

pragma solidity ^0.8.0;

contract MyToken {
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;

    event Transfer(address indexed from, address indexed to, uint256 value);

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _totalSupply
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _totalSupply;
        balanceOf[msg.sender] = _totalSupply;
    }

    function transfer(address _to, uint256 _value) external returns (bool) {
        require(balanceOf[msg.sender] >= _value, "Insufficient balance");
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(msg.sender, _to, _value);
        return true;
    }
}

Muhimman lura: mapping(address => uint256) shimfidar ajiyar EVM ce, ba tsarin bayanan a cikin ƙwaƙwalwa ba — karatu da rubutu suna yin ƙimar gas. require yana mayar da duk ma'amali a gazawa, yana dawo da gas da ba a yi amfani da shi ba. event Transfer yana fitar da log da masu tabbatarwa na waje ke amfani da shi don bin diddigin canje-canje ba tare da sake karanta jiha gaba ɗaya ba. constructor yana gudana sau ɗaya a lokacin tura; kiran sa baya suna zuwa ayyukan da aka ambata.

ERC-20 standard ya tsara saɓon hoto na kowa don fungible tokens — transfer, transferFrom, approve, allowance, balanceOf, totalSupply — yana bawa duk token mai bin ERC-20 damar aiki tare da duk wata musayar ko jakar kuɗi mai sane da ERC-20 ba tare da haɗin kai na musamman ba.

Daga Rijistar zuwa Ababen More Kuɗi #

Tsarin blockchain da aka bayyana a nan — sarkunan hash, Merkle trees, EVM, da ERC-20 — sun zama tushen wani faɗaɗɗen saitin aikace-aikace na kuɗi tsakanin 2018 da 2026:

Kuɗin Rarraba (DeFi). Ka'idodin lamuni (Compound, Aave), masu kasuwar atomatik (Uniswap), da masu tattara riba duk suna gudana a matsayin EVM smart contracts. Suna maye gurbin ayyukan takar, kiyayewa, da sasantawa na masu shiga tsakani na kuɗi na gargajiya da lambar da ke aiwatar da kanta da rijiyoyin ruwa a sarkar.

Dukiyoyi masu Token. Bankunan tsakiya da bankunan kasuwanci suna gwajin ajiyar da aka tokenize, lamunin da aka tokenize, da asusun kasuwar kuɗi da aka tokenize a kan nau'ukan sarkunan da aka ba da izini na EVM-compatible. Injin ƙarƙashin — sauye-sauyen jiha da aka tabbata da hash, sasantawa ta atomic, ƙa'idodin canja ruwa masu shirye-shirye — zuriyar kai tsaye ne na gine-ginen Ethereum na 2014.

Kuɗin Dijital na Bankin Tsakiya. Binciken CBDC na yaɗuwa na Bankin Ingila, shirin euro dijital na ECB, da Aikin Agorá duk suna bincika gine-ginen DLT da aka samo daga ko daidai da zane-zanen tushe a Bitcoin da Ethereum. Tsarin yarjejeniya da sarkar hash suna ci gaba da kasancewa masu dacewa ko da inda ƙirar izinin da tsarin mulki ya bambanta gaba ɗaya daga blockchain na jama'a.

Tafiya daga takarda fari ta Bitcoin ta 2008 zuwa kuɗin da aka tokenize na 2026 yana ɗaukar shekaru ashirin, amma yana gudana a kan zuriyar fasaha mai daidaito. Fahimtar yadda sarkar hash SHA-256 ke aiwatar da rashin canzawa, yadda Merkle tree ke ba da damar tabbatarwa mai inganci, da yadda EVM ke aiwatar da smart contracts ta hanyar atomic, shine buƙatar farko don kimanta duk wani da'awa game da abin da blockchain zai iya yi da kuma abin da ba zai iya yi ba a cikin sabis na kuɗi masu ɗaure da doka.

Tambayoyin da Ake Yawan Yi #

Menene bambancin blockchain da database mai rarraba?

Cibiyar bayanai mai rarraba ta gargajiya tana sake kwafin bayanan a cikin nodes don samuwa da aiki, amma amana tana tsakiya — mai gudanarwa zai iya canza rikodi. Blockchain yana sa canza rikodi ya zama mai tsada a ƙididdigewa ta hanyar sarkar hash da yarjejeniya: canza kowane rikodin tarihi yana buƙatar sake duk proof-of-work ko proof-of-stake na gaba, da shawo kan cibiyar sadarwa ta yarda da raunin da aka canza. Dukiya mai bambantawa ita ce shaidar canjin da sirri da zane na ƙarfafawa ke aiwatar da ita maimakon ta hanyar sarrafa damar isa.

Me ya sa Ethereum ke amfani da Keccak-256 maimakon SHA-256?

Ethereum ya ɗauki Keccak-256 (SHA-3 finalist kafin gyare-gyaren daidaito na NIST) wani ɓangare saboda masu zane-zanenta sun so 'yanci daga zuriyar SHA-2 da Bitcoin ya dogara da ita. Keccak yana da kaddarorin algebra daban-daban waɗanda suka sa ya zama mai jan hankali don wasu ayyukan EVM. Tasirin aiki don masu haɓakawa shine samo adireshin Ethereum da kuma hashing na rami na ajiya suna amfani da Keccak-256, ba SHA-256d kamar a Bitcoin ba.

Menene "gas" ke hana a EVM?

Gas yana hana nau'ikan harin biyu. Na farko, yana hana hana sabis ta hanyar ayyukan da suke da tsada a ƙididdigewa: kowane opcode yana yin gas, don haka mai hari ba zai iya tilasta cibiyar sadarwa ta aiwatar da madaukai mara iyaka ba tare da ƙima ba. Na biyu, iyakar gas na toshe yana hana jimlar ƙididdiga a kowane toshe, yana tabbatar da cewa lokacin tabbatarwa na toshe ya kasance mai iyaka da hasashe ga cikakkun nodes. Ba tare da gas ba, kiran kwantireji ɗaya zai iya dakatar da cibiyar sadarwa ta hanyar aiwatar da ƙididdiga mara iyaka.

Yadda proof-of-stake ke canza ƙirar tsaro idan aka kwatanta da proof-of-work?

A cikin proof-of-work, ana samar da tsaro ta hanyar kashe makamashi: kai hari a kan sarkar yana buƙatar sarrafa fiye da 50% na hash rate na cibiyar sadarwa, wanda ke nufin sarrafa fiye da 50% na kayan aikin jiki da ikon sa. A cikin proof-of-stake (da Ethereum ke amfani da shi tun Merge a 2022), ana samar da tsaro ta hanyar hannun jari na tattalin arziƙi: masu tabbatarwa suna kulle ETH a matsayin ta'aziyya, wanda za a yanke idan suka sa hannu a kan toshe masu rikici. Kai hari na 51% yana buƙatar samun da haɗarin fiye da 50% na duk ETH da aka ɗora — tsadar babban jari maimakon tsadar kayan aiki da makamashi. Ƙirar tsaro ta bambanta amma tana kwatankwacin lissafi a cikin sharuɗɗan tattalin arziƙi a ƙarƙashin tunanin cewa masu tabbatarwa masu hankali sun fi son kudin shiga na kuɗin biyan kuɗi maimakon lalata babban jari.

Nassoshi #

Bita ta ƙarshe .

Bita ta ƙarshe .