Princips darbības BlockChain: Kas rada blokus

Anonim

Ja darījumā nav starpnieku, jebkurš dalībnieks var maldināt otru. Problēma ir atrisināta, izmantojot stingrus matemātiskus algoritmus, kuriem ir izveidoti bloki.

Materiālā mēs jums pastāstīsim, kas rada un pārbauda blokus blokā. Jūs uzzināsiet, kā konsensa algoritmi nodrošina šī procesa drošību.

  1. P2P: kur tiek izmantoti salīdzinošie tīkli
  2. Šifrēšana blokā: uz pirkstiem
  3. Blockchalter - darījumu bloku ķēde. Mēs izjaucām definīciju saskaņā ar
  4. Šifrēšana BlockChain: Kāpēc jums ir nepieciešams digitālais paraksts
  5. Princips darbības BlockChain: Kas rada blokus
  6. Kādos nolūkos un uzdevumos atbilst blokhai

Atcerieties pamatjēdzienus

  • Peer tīkls ir tīkls, kurā mezgli mijiedarbojas viens ar otru bez starpnieka.
  • BlockChain ir sava veida peer-to-peer tīkliem, darījumu bloku ķēdi.
  • Bloks - īpaša struktūra ierakstu darījumiem.
  • Darījums - ieraksts par aktīvu stāvokļa izmaiņām.

Neuzticēšanās bloķēšanai

Tā kā blokhain nav servera, pievienojiet un pārbaudiet informāciju lietotājiem pašiem. Tajā pašā laikā katrs dalībnieks var tramdīt viņa personīgās intereses uz bojājumiem bloka drošībai. No šejienes ir problēma neuzticēšanās dalībniekiem viens otram. Lai to atrisinātu, tiek izmantoti matemātiskie algoritmi, kas tiks apspriesti tālāk.

Iedomājieties, ka jūsu maku ir aktīvi, un vēl viens blokhain lietotājs uzskata, ka tie nav. Bez ārējiem traucējumiem ir grūti izlemt, kuras no divām tiesībām. Ir nepieciešams izvēlēties starp tiem, kuri pārbaudīs darījumus un pievienos tikai pareizo. Šādus lietotājus sauc par kalnračiem.

Mainers - bloķēti dalībnieki, kuri nodarbojas ar jaunu bloku un darījumu pārbaudēm.

Lai organizētu pareizu ekspluatāciju kalnračiem, ir nepieciešams vienoties, kurš būs un kā viņi veiks savu darbu. Tas ir grūts uzdevums, jo jums ir nepieciešams nākt klajā ar šādiem noteikumiem, kas būs izdevīgāk ievērot kalnračus nekā lauzt. Tas ir klasisks piemērs uzdevumu no spēles teorijas: kā izvēlēties stratēģiju, kas būs tāda pati izdevīga dalībniekiem ar dažādām interesēm.

Šāds uzdevums tika formulēts un atrisināts matemātiķi pagājušajā gadsimtā. Tagad šis risinājums nodrošina drošību gan blokaChain, gan citās sarežģītās tehnoloģijās. Lai saprastu, kā maindevēji nespēj pārkāpt viena otras intereses, apsveriet šo uzdevumu vairāk.

Bizantiešu ģenerāļu uzdevums

1982. gada zinātniskajā rakstā tika formulēta loģiska dilemma. Tas ilustrē problēmu, kas saistītas ar peer-to-peer tīkla mezglu komunikācijas, kas vienojas par nākamo soli. Kā analoģija, Byzantium tika izmantots - senā feodālā valsts ar daudzām neatkarīgām armijām. Līdz ar to nosaukums - Bizantiešu ģenerāļu uzdevums.

Darbība notiek Bizantijas armijas pilsētas aplenkšanā. Naktī, leģioni no dažādām pusēm ieskauj pilsētu. Katra leģiona ģenerāli gaida komandiera vadības rīkojumu. Pasūtījuma iespējas: "uzbrukums" vai "atkāpšanās".

Princips darbības BlockChain: Kas rada blokus 21098_1
Ģenerāļi gaida komandiera-in-galvenais, lai atrisinātu "uzbrukumu" vai "atkāpšanās"

Pirmā uzdevuma sarežģītība - impērija ir samazinājusies. Jebkurš ģenerālis un pat komandieris-in-galvenais var būt bizantija nodevēji, kas ir ieinteresēti uzvarēt. Ir jāuzskata par nelabvēlīgu iznākumu. Kopumā trīs kaujas rezultāti:

Labvēlīgs iznākums. Ja visi ģenerāļu uzbrukums - Byzantium iznīcina ienaidnieku.

Princips darbības BlockChain: Kas rada blokus 21098_2

Starpposma rezultāts. Ja visi ģenerāļi atņems - Byzantia saglabās savu armiju.

Princips darbības BlockChain: Kas rada blokus 21098_3

Nelabvēlīgs iznākums. Ja daži ģenerāli tiek uzbrukti, un daži atņems - ienaidnieks galu galā iznīcina visu bizantija armiju daļās.

Princips darbības BlockChain: Kas rada blokus 21098_4

Ja katrs ģenerālis rīkosies pēc saviem ieskatiem, tad labvēlīga iznākuma iespējamība ir diezgan zema. Tāpēc, ģenerāļi ir nepieciešams, lai apmainītos ar informāciju savā starpā, lai nonāktu pie viena risinājuma.

Otrā sarežģītība uzdevumā ir uzticama sakaru kanāla trūkums starp ģenerāļiem. Pat ja ģenerāļiem nav nodevēju, informācija var būt nepatiesa. Piemēram, kurjers aizkavēs vai notveros. Šī situācija sajaucas ar citiem ģenerāliem, un tiks pieņemts nepareizs lēmums. Šādos apstākļos jums ir jāizstrādā vienota rīcības stratēģija, kas būs izdevīga visiem ģenerāliem.

Princips darbības BlockChain: Kas rada blokus 21098_5
Viens no ģenerāļiem nesūtīja pareizo ziņojumu, lai citi nezinātu, kā uzbrukt viņiem vai atkāpties

Matemātika pierādīja, ka vienmēr ir iespējams iegūt risinājumu šajā uzdevumā, ja pareizie ģenerāli ir vairāk nekā divas trešdaļas no kopējā apjoma. Dažādās sistēmās uzdevums var atrisināt dažādos veidos.

Bizantijas defektu tolerance - tīkla spēja turpināt strādāt, pat ja daži no mezgliem atteicās vai darbojas ļaunprātīgi. Citiem vārdiem sakot, šis tīkla īpašums, kurā ir atrisināts Bizantiešu ģenerāļu uzdevums.

Bizantijas defektu tolerance ir nepieciešama gaisa kuģu dzinēju sistēmās, atomelektrostacijās un praktiski jebkurā sistēmā, kuru darbības ir atkarīgas no daudzu sensoru darba rezultātiem. Pat SpaceX uzskata to par potenciālu prasību tās sistēmām.

Ja šis uzdevums ir piemērojams kontekstā blokaChain, tad ģenerāļi ir kalnrači. Viņiem ir jāvienojas un jāatzīst darījums ar reālu, lai tas nonāktu blokā. Šo procesu sauc par vienprātību.

Princips darbības BlockChain: Kas rada blokus 21098_6
Mainers Skatīt visus darījumus un nolemj tos apstiprināt vai noraidīt

Piemēram, kalnrači redz, ka viens lietotājs vēlas nosūtīt bitcoins uz citu. Pirmais Mainītājs uzskata, ka šāds darījums ir jāapstiprina. Otrkārt, aizdomās, ka šī darbība rada uzbrucēju. Trešais atvienots no tīkla un nepārbaudīja darījumu. Veikt vienu risinājumu un pēc tam ierodas vienprātīgi.

Tā kā Bizantijas ģenerāļu uzdevumam ir vairāki risinājumi, tad dažādi bloki sasniedz Bizantijas defektu toleranci, izmantojot dažādus konsensu algoritmus. Apsveriet visizplatītāko.

Algoritmu konsenss

BlockChain strādā, pamatojoties uz izplatītu tīklu. Nav viena centra, kas pārvalda šo tīklu. Lai organizētu drošu darbību blokaChain, jums ir vienoties par to, kas būs kalnraču un kā tas radīs blokus. Mainera darbs pie stingri definētiem noteikumiem, ko sauc par konsensa algoritmu.

Konsensa algoritms ir metode, kas apraksta, kā mainītājs ir izvēlēts blokhain un ar kādiem noteikumiem tas rada blokus.

Lai labāk saprastu, kāda ir vienprātība, kas nepieciešama bloķēšanas sistēmā, iedomājieties dzīvokļu ēkas īrniekus. Blockchas tiem ir nepieciešami, lai mijiedarbotos savā starpā un pieņemtu lēmumus par mājas attīstību: savākt naudu kapitālremontam, izvēlēties apkalpošanas organizāciju vai iecelt nodevu. Ir trīs veidi, kā sarunas - trīs dažādi konsensu algoritmi. Katrs no tiem ir balstīts uz noteiktu matemātisko modeli.

Darba apliecinājums (POW) ir darba pierādījumu algoritms. Mainītājs var kļūt par jebkuru veste mājās. Lai izveidotu jaunus blokus, tai būs jāizmanto sava dators, lai atrisinātu sarežģītus kriptogrāfiskos uzdevumus.

Algoritms izskatīs pareizo blokaChain versiju, kurā visvairāk bloki. Un lielākā daļa no visa blokiem būs versijā, kura no kuriem īrnieki pavadīja lielāko daļu datora jaudu. Ir iegūta ļoti demokrātiska metode: ja 51% no kalnraču uzskata, ka darījumi blokos ir pareizi un būs. Tāpēc bloķēšana ir gandrīz neiespējama kapāt.

Princips darbības BlockChain: Kas rada blokus 21098_7
Jauni bloki Izveidojiet tos iedzīvotājus, kuriem ir dators

Pierādījums par akciju (POS) ir algoritms par pierādīto īpašumtiesību daļu. Mainers kļūst par tiem, kam ir vairāk aktīvu blokā. Mums būs šis īrnieks ar lielākajiem dzīvokļiem. Un ēteriskajā blockchalter, piemēram, tas būs lietotāji, kuriem ir visvairāk kriptocurrency eth. Ar šo algoritmu elektroenerģijas izmaksas ir minimālas, jo bloku izveidei blokā vairs nav nepieciešams risināt sarežģītas kriptogrāfijas uzdevumus. Jo vairāk jūsu akciju blokā, jo biežāk jūs izveidosiet jaunus blokus.

Pareizā versija blokaChain, tāpat kā darba pierādījums, tiks uzskatīts par to, kurā visvairāk bloki. Bet likmes pierādījums nevar tikt saukts par demokrātisku. Lielākā daļa bloku radīs lielāko daļu iedzīvotāju, bet bagātākie īrnieki. Tomēr tas ir pat drošāks. Ja Majnem pieder lielākajai daļai mājas, tad tas kļūs ļaunprātīgi notikt.

Princips darbības BlockChain: Kas rada blokus 21098_8
Jauni bloki rada iedzīvotājus ar lielākajiem dzīvokļiem

Pilnvaras (POA) ir personības pierādījumu algoritms. Tas var būt, ka īrnieki pulcējās un nolēma, ka būs viens dzīvoklis, lai izveidotu blokus. Šis algoritms tiek izplatīts privātajos, slēgtos blokos. Piemēram, tas ir labi piemērots, lai pārvaldītu dzīvokli mājās no mūsu piemēru.

Ievēlētais kalnraču pats izvēlas blokaChain patieso versiju. Viņam būs jānosaka pats, lai visi iedzīvotāji viņu ticētu. Ja kādā brīdī īrnieki vairs nebūs līdzskaņu ar maneita risinājumiem, viņi varēs piešķirt citu. Jaunais Mainētājs sāks veidot savu ķēdi bloki, un vecā blokhain būs atsevišķi. Šādu procesu blokhain sauc Hardforka.

Princips darbības BlockChain: Kas rada blokus 21098_9
Jauni bloki rada, ka īrnieks, kas tika izvēlēts iepriekš

Konsensa algoritmi ir daudz. Pastāvīgi izgudrot jaunu, bet šie trīs ir visvairāk labi zināmi, laika pārbaudi un bieži izmanto.

Secinājums

Jebkuros peer-to-peer tīklos ir neuzticēšanās starp dalībniekiem. Blockchain, kalnraču atrisināt šo problēmu. Tie ir lietotāji, kas pārbauda darījumus un pievieno tikai pareizu jauniem blokiem.

1982. gada raksts apraksta Bizantiešu ģenerāļu uzdevumu. Vispirms tika aprakstīts algoritmā, kā tīkls var turpināt strādāt, pat ja daži no mezgliem tika atteikti vai nodarīti ļaunprātīgi.

BlockChain, trīs šķirnes konsensu algoritmiem tiek izmantoti:

  • Darba apliecinājums (POW) ir darba pierādījumu algoritms.
  • Pierādījums par akciju (POS) ir algoritms par pierādīto īpašumtiesību daļu.
  • Pilnvaras (POA) ir personības pierādījumu algoritms.

Lasīt vairāk