Má bhreathnaíonn muid ar threochtaí na mblianta roimhe seo, chuala muid faoi blockchain an t-am ar fad, ach gan mórán faoi na sonraí.
Tá a fhios againn go léir go bhfuil cryptocurrencies cosúil le Bitcoin, Ethereum, Dogecoin, Matic, agus daoine eile ag brath ar theicneolaíocht blockchain. Bhí Blockchain i gceannas ar na himeachtaí suntasacha a d'athraigh tionscail iomadúla in 2021 agus a réitigh an bealach le haghaidh éachtaí nua.
Is modh é Blockchain chun sonraí a stóráil ar bhealach atá deacair nó dodhéanta a chur in eagar, a hack nó a swindle. Is mórleabhar digiteach idirbheart é a dhéantar a mhacasamhlú agus a scaipeadh ar fud líonra iomlán na gcóras ríomhaireachta blockchain.
Is í an teicneolaíocht bhunachar sonraí ceannródaíoch a chumhachtaíonn beagnach gach cryptocurrencies. Déanann Blockchain sé thar a bheith deacair an córas a hack nó a cheatú trí chóipeanna comhionanna de bhunachar sonraí a scaipeadh thar líonra iomlán.
Cé gurb é Bitcoin an úsáid is suntasaí le haghaidh blockchain anois, is féidir leis an teicneolaíocht freastal ar éagsúlacht an-leathan feidhmchlár.
Tá níos mó tóir ag baint le cripte-airgeadraí agus blockchain le blianta beaga anuas, agus táthar ag súil go leanfaidh an treocht seo.
Déanfaimid blockchain simplí le JavaScript sa rang teagaisc seo. Tabharfaidh sé tuiscint bhunúsach duit ar conas a oibríonn blockchain.
Glaoimis MelodyCoin air agus cuirimis isteach ceart ar an aicsean!
Bloc a Chruthú
Chun tús a chur leis, cruthóimid comhad JavaScript nua ina gcuirfimid ár gcód ar fad.
Glaoch orainn é main.js agus tús a chur le cur síos ar conas ba chóir blockchain agus bloic cuma.
Cruthaigh rang bloc agus tabhair feidhm dó Object() { [cód dúchais] } ar dtús.
Ní mór duit dáta, agus hash an bhloc roimhe seo a thabhairt agus bloc nua á chruthú:
Seo iad na sainmhínithe ar gach airí:
- Léiríonn an stampa ama cathain a rinneadh an bloc. Is féidir leat cibé formáid a roghnaíonn tú a úsáid (stampa ama UNIX sa chás seo).
- Is féidir aon chineál sonraí is mian leat a nascadh leis an mbloc seo a áireamh sa pharaiméadar sonraí. Más mian leat cryptocurrency a chruthú, is féidir leat sonraí idirbhirt a choinneáil amhail an seoltóir/glacadóir agus an méid airgid a athraíodh anseo.
- Is teaghrán é anHash roimhe seo a choinníonn hash an bhloc roimhe seo. Is é seo a ghinfidh an slabhra bloic, a bheidh ríthábhachtach chun sláine ár blockchain a sholáthar níos déanaí.
Hashes a Chruthú
Nascann gach bloc leis an mbloc roimhe seo (dá bhrí sin an mhaoin roimheHash). Is é sin, éilíonn gach bloc hash. Tá hash cosúil le méarloirg. Tá sé ar leith do gach bloc.
Is féidir hais bloc a ríomh tríd a bhfuil ann go léir a chur trí fheidhm hash.
Mar sin, déanaimis tús a chur le feidhm a ríomh a ríomhann hash an bhloc reatha.
Mar sin, faoin rang Bloc, sainmhínímid an fheidhm ríomhHash:
Mar sin féin, ní thacaíonn JavaScript leis an hash SHA256 agus ní mór é a fháil ó leabharlann sheachtrach.
Is pacáiste iontach é Crypto-js a áiríonn cur i bhfeidhm slán ar roinnt halgartaim hash.
Ansin is féidir linn é a allmhairiú isteach inár gcód main.js.
Anois go bhfuil ár bhfeidhm ríomhHash() againn, déanaimis é a úsáid i bhfeidhm ár mBloc:
Tar éis dúinn cur síos a dhéanamh ar an gcuma atá ar Bhloc, is féidir linn a shainiú cad ba cheart do Blockchain cuma. Mar sin déanaimis rang nua a chruthú.
Sa chás seo, is rud an-simplí é an blockchain a bhfuil slabhra maoine aige. Is eagar é seo ina gcoimeádtar na bloic go léir ar an slabhra.
Sular féidir linn bloic a chur leis, ní mór dúinn ar dtús rud ar a dtugtar “bloc genesis” a chruthú. Is é seo an chéad bhloc sa slabhra, agus tá sé uathúil sa mhéid is nach féidir leis pointe a chur le bloc roimhe seo (is é an chéad bhloc!).
Mar sin, chun an bloc genesis a thógáil, cuirfidh mé feidhm lenár rang darb ainm createGenesisBlock (). Ar ais san fheidhm Object() { [cód dúchais] } dár rang Blockchain.
Is féidir linn an bloc genesis a áireamh anois am ar bith a thógaimid sampla Blockchain nua:
Modhanna Blockchain
Anois, cuirimis modhanna lenár rang Blockchain a ligfidh dúinn rudaí a dhéanamh cosúil le bloic nua a chur leis agus an bloc is déanaí a fháil.
Is í an fheidhm getLatestBlock an ceann is bunúsaí. Níl ann ach an ball deiridh den eagar slabhra a thabhairt ar ais:
Tá baint beagán níos mó ag an teicníc addBlock.
Sular féidir linn bloc nua a chur lenár slabhra, ní mór dúinn an réimse roimheHash sin a shocrú go cuí ar dtús.
Ní mór é a shocrú ar an hash den bhloc is déanaí a cuireadh lenár slabhra. Ní mór dúinn freisin hash an bhloc nua a ríomh:
Tástáil
A ligean ar a fheiceáil conas a tháinig ár MelodyCoin amach.
Cruthaigh sampla blockchain chun é seo a bhaint amach. Cuirimis cúpla bloc eile leis:
Tá dhá bhloc nua déanta againn ansin. Breathnaímis ar an gcuma atá ar ár blockchain faoi láthair.
Déanfar MelodyCoin a shíneadh agus a fhormáidiú le ceithre spás:
Fíoraigh Ionracas an Blockchain
Tá blockchains iontach mar a luaithe a chuirtear bloc leis, ní féidir é a mhodhnú gan an chuid eile den slabhra a neamhbhailiú.
Mar sin féin, níl aon mhodh ann dom sláine ár blockchain a sheiceáil leis an gcur chun feidhme seo.
Déanaimis feidhm isChainValid a thabhairt isteach inár blockchain. Má tá an slabhra dlisteanach, beidh sé ar ais fíor; ar shlí eile, fillfidh sé bréagach:
Tástáil Ionracas
Is féidir linn sláine ár blockchain a thástáil anois. Má dhéanaimid é a fhorghníomhú anois, deimhneoidh sé go bhfuil ár slabhra fíor.
Déanaimis iarracht anois cur isteach ar ár blockchain. Athróimid bloc 2 agus scríobhfaimid a bhfuil ann (is dócha gur aistrigh muid 100 bonn in ionad ceithre).
Nuair a dhéanaimid é seo, is féidir linn a fheiceáil go n-aithníonn na bogearraí ár n-iarracht cur isteach ar an slabhra.
Mar sin féin, is féidir leat a chreidiúint go bhfuil modh eile ann chun dul i ngleic leis seo. D'athraigh mé an t-ábhar sa bhloc ach níor athríomh an hash. Mar sin is féidir leat iarracht a dhéanamh a bheith cliste agus hash an bhloc céanna sin a athríomh.
Sin é go léir a bhí lenár socrú blockchain beag bídeach! Cuireann sé ar ár gcumas bloic nua a chur leis agus cur isteach ar shonraí laistigh den slabhra a bhrath.
Tá dhá shaincheist ann maidir lenár blockchain beag nach mór dúinn dul i ngleic leo:
- Tá ríomhairí nua-aimseartha thar a bheith tapa agus is féidir leo na mílte bloc a chur lenár slabhra i soicindí. Is léir nach dteastaíonn uainn go ndéanfadh aon duine spamáil ar ár blockchain.
- Tá ár blockchain fós i mbaol cur isteach. Is féidir leat a bhfuil sa bhloc a nuashonrú agus ansin na hashes (agus na hashes roimhe seo) a athríomh do na bloic go léir seo a leanas. Fiú má dhéanann tú praiseach leis, beidh slabhra dlisteanach agat sa deireadh.
Chun aghaidh a thabhairt ar na hábhair imní seo, úsáideann blockchains teicníc ar a dtugtar "cruthúnas oibre." Ní mór duit a léiriú gur úsáid tú méid suntasach acmhainní ríomhaireachtúla chun bloc a chruthú ag baint úsáide as an gcur chuige seo. Tugtar seo freisin mianadóireachta.
Éilíonn cruthúnas-oibre go dtosaíonn hash an bhloc le méid sonrach nialais. Ach conas is féidir a fhios cé acu an n-oireann do hash an riail seo?
Cinneann an t-ábhar bloc a hash. Mar sin faighimid an hash céanna i gcónaí, ar choinníoll nach modhnaítear an t-ábhar.
Ba cheart go mbeadh luach nonce curtha le gach bloc mar réiteach. Is é seo go bunúsach roinnt sonraí randamacha is féidir linn a nuashonrú go dtí go dtosaíonn hash ár mbloc le go leor nialais. Toisc nach féidir leat aschur feidhm hash a athrú, caithfidh tú a lán teaglaim éagsúla a thástáil agus a bheith ag súil leis an gceann is fearr.
Mianadóireacht a thabhairt isteach sa Blockchain
Tosaímid trí nonce a áireamh inár rang Bloc. Is é an nonce an luach aonair laistigh dár bloc is féidir linn a mhodhnú chun tionchar a imirt ar hash an bhloc.
Ní féidir linn an stampa ama ná na sonraí a athrú.
Ansin, scríobhaimis feidhm mineBlock() a dhéanfaidh an mianadóireacht iarbhír ar bhloc. Beidh an fheidhm seo a sheoladh ar an deacracht is gá mar pharaiméadar agus leanfaidh sé ar aghaidh a fhorghníomhú go dtí go dtosaíonn an hash ar ár bloc le nialais leor.
Rinne mé ach lúb bunúsach ama a rithfeadh go dtí go dtosaíonn ár hash le go leor nialais. Bainimid úsáid as an deacracht chun a chinneadh cé mhéad nialais atá ag teastáil. Le deacracht de 5, ní mór ár hash tosú le 5 nialais.
Nuair nach bhfuil go leor nialais inár hash, ardóimid an nonce ar cheann agus athríomh an hash. Agus má aimsímid hash a fhreagraíonn don deacracht, déanaimid é a logáil isteach sa chonsól.
Tá rud amháin eile nach mór dúinn a dhéanamh. Ní chuirimid an athróg nonce san áireamh i ndáiríre inár modh ríomhHash, mar sin seo é:
Rang Blockchain
Cuirimis an cur chuige nua seo leis an tástáil inár rang blockchain agus féachfaimid conas a théann sé.
Chun tús a chur leis, saineoidh mé deacracht ár blockchain san fheidhm Object(). Sainmhínímid anseo é mar is féidir linn é a úsáid áit éigin níos déanaí.
Ní mór an fheidhm addBlock a mhodhnú ansin ionas go mbainfidh sé an bloc roimh é a chur isteach inár slabhra.
Bain úsáid as an Blockchain
Anois, cuirimis ár blockchain nua le húsáid leis an algartam cruthúnais-oibre. Anseo, cuir cúpla console.log ráitis.
Nuair a dhéanaimid an cód seo a fhorghníomhú, is féidir linn a thabhairt faoi deara nach bhfuil an próiseas mianadóireachta thar a bheith tapa a thuilleadh.
Tógann sé roinnt ama don algartam bloic a ghiniúint le hashes a thosaíonn le trí nialais (mar atá cumraithe ag deacracht).
Mar sin ba é sin deireadh ár mbunsocrú blockchain.
Is féidir linn a rialáil cé chomh tapa agus a chuirtear bloic nua lenár blockchain a bhuíochas leis an meicníocht cruthúnais-oibre.
Is í an ghné slándála is suntasaí ar blockchain. Agus anois go dtuigeann tú conas a oibríonn sé, déan do chuid féin a chruthú!
Leave a Reply