Me ya kamata mu gina blockchain?

Duk tarihin ɗan adam ci gaba ne na kawar da sarƙoƙi da ƙirƙirar sabbi, har ma masu ƙarfi. (Marubucin da ba a san sunansa ba)

Yin nazarin ayyukan blockchain da yawa (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin, da dai sauransu), Na fahimci cewa daga mahangar fasaha, duk an gina su akan ka'idoji iri ɗaya. Blockchains suna tunawa da gidaje, waɗanda, duk da nau'ikan zane-zane, kayan ado da dalilai, suna da tushe, bango, rufi, tagogi, kofofin da aka haɗa da juna ta wasu hanyoyi. Kuma idan kun fahimci ainihin ka'idodin ginin gine-gine kuma ku san kaddarorin kayan da aka yi amfani da su, to, za ku iya ƙayyade manufar da aka yi niyya na wani gida. A halin yanzu, wani yanayi ya taso tare da blockchain wanda kowa ya ji game da shi, amma mutane kaɗan sun fahimci gine-gine da ka'idodin aiki. Saboda haka, akwai rashin fahimtar dalilin da yasa kuma yadda yake da ma'ana don amfani da fasahar blockchain.

A cikin wannan labarin za mu bincika kaddarorin da ka'idodin gama gari ga duk blockchain. Na gaba, bari mu kalli matsalolin da za a iya magance su ta amfani da blockchain kuma don ƙarfafa kayan, bari mu gina ƙaramin amma ainihin blockchain akan rukunin yanar gizon mu!

Don haka, bari mu tuna menene matsalolin blockchain da farko suka warware.

Na tabbata mutane da yawa za su ce game da bayanan da aka rarraba, rarraba, jama'a da maras canzawa. Amma me yasa duk wannan ya zama dole?

Na fi so in fara nazarin kowace fasaha ta hanyar karanta ka'idodin, tun da duk labarai da littattafai kan batun da ake nazarin sun dogara ne akan su. Amma a halin yanzu babu ƙa'idodin blockchain; ISO kawai ya ƙirƙira kwamitoci domin cigaban su. A halin yanzu, kowane aikin blockchain na jama'a yana da nasa takardar White paper, wanda shine ainihin ƙayyadaddun fasaha. Aikin blockchain na farko da aka sani a bainar jama'a shine hanyar sadarwar Bitcoin. Je zuwa official website na cibiyar sadarwa da kuma duba inda duk ya fara.

Kalubalen Blockchain

Don haka, aikin da blockchain ya warware a cikin hanyar sadarwar majagaba na Bitcoin shine aiwatar da amintaccen canja wurin mallakin kadarori na dijital (kayayyaki) a cikin yanayin da ba amintacce ba ba tare da masu shiga tsakani ba. Misali, a cikin hanyar sadarwar Bitcoin, kadari na dijital shine tsabar dijital na bitcoin. Kuma duk hanyoyin fasaha na Bitcoin da sauran blockchains sun sauko don magance wannan matsala.

Matsalolin da blockchain ke warwarewa

A ce wata ƙungiyar kuɗi ta ce ta gina hanyar sadarwa a duniya tare da taimakon abin da za a iya aika kudi ga kowane mutum. Za ku yarda da ita? Idan wannan ƙungiyar Visa ne ko MasterCard, da alama za ku yarda da shi, amma idan, in mun gwada da magana, AnonymousWorldMoney, tabbas ba za ku iya ba. Me yasa? Amma saboda mun san sosai yadda ake rarraba tsarin da kamfanoni masu zaman kansu ke yin su, don menene dalilai, da abin da wannan zai iya haifar da shi. Bari mu dubi matsalolin irin waɗannan tsarin da kuma yadda za a iya magance su ta amfani da fasahar blockchain.

Bari mu ce a cikin yanayin AnonymousWorldMoney akwai sabobin tare da bayanan bayanai, kuma yana da kyau idan akwai da yawa daga cikinsu a cikin cibiyoyin bayanai daban-daban. Lokacin da mai aikawa ya aika kuɗi, an yi rajistar ciniki, wanda aka yi shi zuwa duk sabobin, kuma kuɗin ya isa ga mai karɓa.

Me ya kamata mu gina blockchain?

A cikin kyakkyawar duniya, wannan makirci yana aiki sosai, amma a cikin namu akwai matsaloli masu zuwa:

  1. Matsalar gano mahalarta a gefe guda da kuma buƙatar ɓoye suna na ma'amaloli a daya bangaren. Wadancan. kana buƙatar canja wurin kuɗi zuwa takamaiman mai karɓa kuma ta hanyar da babu wanda ya san game da wannan ma'amala sai dai mahalarta a cikin ma'amala. Bankunan suna da lambobin asusu da katunan banki masu alaƙa da takamaiman mutum ko mahaɗan doka, kuma sirrin banki yana kare bayanan ciniki. Kuma wa ya ba da garantin cewa AnonymousWorldMoney na sharadi ba ya amfani da bayanan sirri da bayanan ciniki don dalilai na kansa?
  2. Yadda za a tabbatar da cewa mai karɓa ya karbi daidai adadin da aka tura masa? Idan aka kwatanta, wanda ya aika ya aika dala 100, kuma wanda aka karɓa ya karɓi $10. Mai aikawa ya zo ofishin AnonymousWorldMoney tare da rasidinsa, kuma ma’aikacin ya nuna nau’insa, inda aka rubuta cewa mai aikawa ya aika dala 10 kacal.
  3. Matsalar muhallin da ba a amince da ita ba, alal misali, zamba da ake kira kashe kuɗi biyu. Mahalarci mara mutunci zai iya kashe ma'auni sau da yawa har sai an biya biyan kuɗi zuwa duk sabobin. Ka'idar CAP, ba shakka, babu wanda ya soke, kuma za a cimma yarjejeniya a ƙarshe, amma wani ba zai sami kuɗi don ayyuka ko kayan da aka bayar ba. Sabili da haka, idan babu cikakkiyar amincewa ga ƙungiyar biyan kuɗi ko masu shiga cikin ma'amaloli, to ya zama dole don gina hanyar sadarwa ba bisa dogaro ba, amma akan cryptography.
  4. Conditional AnonymousWorldMoney yana da iyakataccen adadin sabobin da ƙila ba za su samu ba da gangan ko kuma saboda mugun nufi.
  5. AnonymousWorldMoney za ta ɗauki nata na zahirin hukumar.
  6. Yiwuwar sarrafawa. A lokacin aiki na Bitcoin, ya bayyana cewa mutane suna so ba kawai don canja wurin tsabar kudi ga juna ba, amma kuma don duba yanayi daban-daban don ma'amala, yanayin aikin shirin, yin ayyuka ta atomatik dangane da yanayin, da dai sauransu.

Yadda blockchain ke magance waɗannan matsalolin

  1. Ana aiwatar da tantance mahalarta ta amfani da maɓallai biyu: masu zaman kansu da na jama'a, da kuma sa hannu na dijital ta musamman ke tantance mai aikawa da mai karɓa, tare da barin sunayensu ba a bayyana ba.
  2. Ana tattara ma'amaloli a cikin tubalan, ana ƙididdige zantan toshe kuma a rubuta su cikin toshe na gaba. Wannan jerin rikodin hashes a cikin tubalan yana ba fasahar blockchain sunanta, kuma hakan yana sa ba zai yiwu a canza / share tubalan ba ko ma'amala na mutum ɗaya daga tubalan. Don haka, idan an haɗa ma'amala a cikin blockchain, za ku iya tabbata cewa bayanansa ba za su canza ba.
  3. Ana hana zamba sau biyu ta hanyar cimma yarjejeniya ta hanyar sadarwa akan waɗanne bayanan da za a yi la'akari da inganci da waɗanda za a jefar. A cikin hanyar sadarwar Bitcoin, ana samun yarjejeniya ta hanyar shaidar aiki (PoW).
  4. Ana samun amincin hanyar sadarwar ta hanyar gaskiyar cewa blockchain na jama'a ne, inda kowane ɗan takara zai iya gudanar da kumburin kansa, karɓar cikakken kwafin blockchain kuma, ƙari, da kansa ya fara bincika ma'amaloli don daidaito. Ya kamata a lura cewa blockchains na zamani yana ba da damar gina ba kawai na jama'a (buɗe) ba har ma da masu zaman kansu (rufe) blockchains, da kuma amfani da tsarin haɗin gwiwa.
  5. Blockchain ba zai kawar da kwamitocin gaba daya ba, saboda ... dole ne ku biya mutanen da ke goyan bayan hanyar sadarwa, amma a cikin blockchain an tabbatar da buƙatar hukumar ta tabbata cewa babu shakka game da larura.
  6. Blockchain na zamani suna da ikon aiwatar da dabarun kasuwanci, wanda a cikin blockchain ake kira Smart Contracts. Ana aiwatar da dabarun kwangilar wayo a cikin manyan harsuna daban-daban.

Na gaba, za mu yi la'akari da waɗannan mafita dalla-dalla.

Blockchain gine

Abubuwan Blockchain

Kowane ɗan takara zai iya ƙaddamar da kumburin kansa tare da cikakken kwafin blockchain (cikakken kumburi). Ana kiran cikakkun nodes waɗanda zasu iya rikodin ma'amaloli akan blockchain nodes yarjejeniya (shaida) ko masu hakar ma'adinai (mai hakar ma'adinai). Cikakkun nodes waɗanda kawai ke duba daidaiton ma'amaloli ana kiran su duban nodes (audit). Abokan ciniki masu haske (abokan haske) ba sa adana cikakkun kwafin blockchain, amma suna hulɗa tare da hanyar sadarwa ta amfani da cikakkun nodes.
Yawancin masu amfani suna amfani da abokan ciniki masu haske ko walat ɗin yanar gizo don yin ma'amala. Duk nodes an haɗa su da juna. Tare da wannan saitin abubuwan, tsarin gine-ginen cibiyar sadarwa ya zama mafi karko:

Me ya kamata mu gina blockchain?

Zagayowar rayuwar ma'amala

Bari mu kalli zagayen rayuwar mu'amala mu raba shi da guntu-guntu:

Me ya kamata mu gina blockchain?

Blockchain fasahar

Bari mu zauna daki-daki kan hanyoyin fasaha da haɗin kai da juna.

Ganewa

Kowane ma'amala ta blockchain dole ne a sanya hannu ta hanyar dijital. Don haka, don kammala ma'amala, kowane ɗan takara dole ne ya sami maɓalli biyu: na sirri/na jama'a. Wani lokaci maɓalli guda biyu ana kiransa walat, saboda maɓallan suna da alaƙa na musamman tare da keɓaɓɓen adireshin dijital da ma'auni na ɗan takara. A zahiri, maɓallai da adireshi igiyoyi ne kawai na lambobi a tsarin lambobi daban-daban. Misalai na maɓalli da adiresoshin walat:

Private key: 0a78194a8a893b8baac7c09b6a4a4b4b161b2f80a126cbb79bde231a4567420f
Public key: 0579b478952214d7cddac32ac9dc522c821a4489bc10aac3a81b9d1cd7a92e57ba
Address: 0x3814JnJpGnt5tB2GD1qfKP709W3KbRdfb27V

Don ƙirƙirar sa hannu na dijital a cikin blockchain, ana amfani da algorithm bisa ga lanƙwasa elliptic: Elliptic Curve Digital Signature Algorithm (ECDSA). Don yin aiki, maɓallin keɓaɓɓen (lambar 256-bit) yawanci ana ɗaukar shi ba da gangan ba. Yawan key zažužžukan ne 2 zuwa ikon 256, don haka za mu iya magana game da m rashin yiwuwar matching dabi'u na masu zaman kansu keys.

Bayan haka, ana samun maɓalli na jama'a daga mai zaman kansa ta hanyar ninka darajarsa ta hanyar daidaitawa na ma'aunin da ke kan elliptical curve, yana haifar da daidaitawar sabon batu a kan wannan lanƙwasa. Wannan aikin yana tabbatar da samun maɓalli na biyu da suka dace don sa hannu kan ma'amaloli ta lambobi. A ƙarshe, adireshin walat ɗin an samo shi ta musamman daga maɓallin jama'a.

Akwai labarai da yawa tare da cikakkun bayanai game da cryptography da aka yi amfani da su a cikin blockchain, alal misali: Bitcoin a takaice - Cryptography

Maɓallin keɓaɓɓen dole ne ya kasance mai cikakken sirri kuma a kiyaye shi. Maɓallin jama'a sananne ne ga kowa. Idan maɓallin keɓaɓɓen ya ɓace, ba za a iya dawo da damar yin amfani da kadari (tsabar kudi) ba kuma za a rasa kuɗin har abada. Don haka, aikin adana maɓalli na sirri yana da matuƙar dacewa, saboda Wannan ba banki bane inda koyaushe zaka iya zuwa da fasfo ɗinka kuma ka dawo da asusunka. Akwai masana'antar gaba ɗaya don samar da abin da ake kira wallet ɗin crypto masu sanyi, kama da fayafai:

Me ya kamata mu gina blockchain?

ko za ku iya amfani da ƙarin ingantattun hanyoyin, misali, tambarin ƙimar maɓalli na sirri akan alamu:

Me ya kamata mu gina blockchain?

Ma'amaloli

Ana iya samun ƙarin cikakkun bayanai game da tsarin ma'amala a cikin labarin Bitcoin a takaice - Kasuwanci. Yana da mahimmanci a gare mu mu fahimci cewa kowace ciniki tana da aƙalla bayanan masu zuwa:

From: 0x48C89c341C5960Ca2Bf3732D6D8a0F4f89Cc4368 - цифровой адрес отправителя
To: 0x367adb7894334678b90аfe7882a5b06f7fbc783a - цифровой адрес получателя
Value: 0.0001 - сумма транзакции
Transaction Hash: 0x617ede331e8a99f46a363b32b239542bb4006e4fa9a2727a6636ffe3eb095cef - хэш транзакции

Bayan haka, an sanya hannu kan ma'amala tare da maɓalli na sirri kuma a aika (duba cikakkun bayanai kan aikin ƙa'idar Bitcoin a takaice-Protocol) zuwa duk nodes a cikin blockchain waɗanda ke bincika ma'amala don inganci. Algorithm na tabbatar da ma'amala ba maras muhimmanci ba kuma ya haɗa da dozin biyu matakai.

Katangar ciniki

Bayan duba ingancin ma'amaloli, nodes suna ƙirƙirar tubalan daga gare su. Baya ga ma’amaloli, ana rubuta hash na block ɗin da ya gabata da lamba (Nonce counter) a cikin toshe, kuma ana ƙididdige zaton block ɗin na yanzu ta amfani da SHA-256 algorithm. Hash ɗin dole ne ya kafa yanayi masu rikitarwa. Misali, a cikin hanyar sadarwar Bitcoin, ana canza wahalar hash ta atomatik kowane mako 2 ya danganta da ƙarfin hanyar sadarwar ta yadda ake samar da toshe kusan sau ɗaya kowane minti 10. An ƙayyade rikitarwa ta yanayi mai zuwa: zaton da aka samo dole ne ya kasance ƙasa da adadin da aka ƙayyade. Idan wannan yanayin bai cika ba, to ana ƙara 1 zuwa Nonce, kuma ana maimaita aikin ƙididdige hash. Don zaɓar zanta, ana amfani da filin Nonce, saboda Wannan shine kawai bayanai a cikin toshe wanda za'a iya canzawa; sauran dole ne su kasance ba canzawa. Madaidaicin zanta dole ne ya kasance yana da takamaiman adadin sifili, kamar ɗayan hashes na gaske:

000000000000000000000bf03212e7dd1176f52f816fa395fc9b93c44bc11f91

Nasarar gano zanta shine tabbacin aikin da aka yi (Hujja-na-Aiki, PoW) don cibiyoyin sadarwar Bitcoin ko Ethereum. Hanyar gano hashes ana kiranta hakar ma'adinai, kama da hakar gwal. Sunan yana bayyana ainihin ma'anar tsarin, saboda akwai bincike mai sauƙi na zaɓuɓɓuka, kuma idan wani ya sami hash mai dacewa, to wannan shine ainihin sa'a. Yana kama da nemo ainihin gwal ɗin gwal a cikin ton na sharar dutse. Ladan toshe a yanzu shine 12.5 BTC kuma idan kun ninka shi da ƙimar Bitcoin na yanzu na $ 3900, kuna samun fiye da kilogiram na zinariya tsantsa. Akwai abin da za a yi yaƙi don!

Bayan samun nasarar gano hash, toshe da hash ɗin da aka samo da kansa an rubuta su zuwa blockchain azaman toshe na gaba. Ana iya samun ƙarin cikakkun bayanai game da tsarin tubalan a cikin labarin Bitcoin a takaice-Blockchain, kuma a ƙasa akwai sassauƙan zane:

Me ya kamata mu gina blockchain?

Blockchain yana farawa da toshe wanda har yanzu bai sami hash na tubalan da ya gabata ba. Akwai irin wannan toshe guda ɗaya kawai a cikin blockchain kuma yana da nasa sunan toshe na Farawa. Sauran tubalan suna da tsari iri ɗaya kuma sun bambanta kawai a cikin adadin ma'amaloli. Ana iya ganin ma'amaloli na gaske da tubalan da ake ƙirƙira a cikin Bitcoin ko Ethereum a ciki Tsallake Internet.

Girman tubalan a cikin Bitcoin yana iyakance zuwa 1MB kuma tare da ƙaramin adadin bayanai a cikin ma'amalar kusan bytes 200, matsakaicin adadin ma'amala a cikin toshe zai iya zama kusan 6000. Daga nan, ta hanyar, yana biye da aikin Bitcoin, wanda kowa ya yi dariya: ana samar da toshe kusan sau ɗaya a kowane minti 10 * 60 seconds = 600 seconds, wanda ke ba da aikin yau da kullun na kusan 10 TPS. Kodayake a gaskiya, wannan ba yawan aiki ba ne, amma da gangan aiwatar da algorithm na aiki. A cikin Ethereum, don gasa, kawai sun sanya lokacin ƙarni na toshe 15 seconds. kuma yawan aiki ya ƙaru sosai. Saboda haka, a cikin blockchains da ke amfani da PoW a matsayin yarjejeniya, ba shi da ma'ana don kwatanta aikin kwata-kwata, saboda kai tsaye ya dogara da rikitarwa na lissafin cache, wanda za'a iya sanya shi zuwa kowane ƙima.

cokali mai yatsu

Me zai faru idan, alal misali, nodes da yawa sun sami hashes waɗanda suka dace da yanayin sarƙaƙƙiya, amma sun bambanta da ƙimar (a wasu kalmomi, sun zo ga yarjejeniya daban-daban) kuma sun rubuta tubalan zuwa blockchain? Bari mu ga yadda blockchain ke karewa daga wannan yanayin. A wannan yanayin, abin da ake kira cokali mai yatsa yana faruwa, kuma blockchain yana da nau'i biyu na sarkar:

Me ya kamata mu gina blockchain?

Me zai faru a gaba? Na gaba, wani ɓangare na cibiyar sadarwa ya fara aiki akan toshe N + 2 daga sarkar ɗaya, kuma sashi daga wani:

Me ya kamata mu gina blockchain?

Za a samo ɗayan waɗannan tubalan a baya kuma a aika zuwa blockchain, sannan, bisa ga ka'idoji, toshewar zai canza zuwa sarkar mai tsayi kuma ya soke duk ma'amaloli daga madadin toshe:

Me ya kamata mu gina blockchain?

A lokaci guda, wani yanayi na iya tasowa lokacin da ma'amalar ɗan takara ta kasance kawai a cikin ɗayan tubalan cokali mai yatsa, wanda aka soke. Don haka, don tabbatar da cewa ana yin rikodin ma'amalar da ake so a cikin blockchain, akwai shawarwarin gabaɗaya - kafin aminta da ciniki, yakamata ku jira har sai an ƙara ƴan tubalan na gaba zuwa blockchain. Shawarwari na nawa tubalan jira don blockchain daban-daban sun bambanta. Misali, don hanyar sadarwar Bitcoin mafi ƙarancin shine tubalan 2, matsakaicin shine 6.

Haka hoto tare da toshe cokali mai yatsu za a lura a lokacin da ake kira 51% harin - wannan shi ne lokacin da gungun masu hakar ma'adinai kokarin girma wani madadin block sarkar, neman soke sarkar da su na yaudara ma'amaloli. Ko da yake a halin yanzu, maimakon zamba, ya fi riba ka kashe ikonka a kan haƙar ma'adinai na gaskiya.

Ijma'i

Don yin rikodin toshe akan blockchain, dole ne hanyar sadarwar ta cimma yarjejeniya. Mu tuna da aikin cimma yarjejeniya a hanyoyin sadarwar kwamfuta. An tsara matsalar azaman aikin janar na Byzantine BFT (Hakurin Byzantine). Yin watsi da kyakkyawan bayanin matsalolin sojojin Byzantine, za a iya tsara matsalar kamar haka: ta yaya za a iya samun sakamako na gama gari idan wasu nodes na cibiyar sadarwa na iya gurbata su da gangan. Algorithms na zamani don magance matsalar BFT sun nuna cewa hanyar sadarwa na iya aiki daidai idan akwai ƙasa da 1/3 masu zamba. Me yasa ba a yi amfani da yarjejeniya ta BFT akan hanyar sadarwar Bitcoin ba? Me yasa ya zama dole don amfani da PoW? Akwai dalilai da yawa:

  • BFT yana aiki da kyau tare da ƙananan ƙayyadaddun kafaffen nodes, amma a cikin blockchain na jama'a adadin nodes ba shi da tabbas kuma, haka ma, nodes za a iya kunna da kashe bazuwar.
  • Wajibi ne a motsa mutane su kaddamar da blockchain nodes. Don yin wannan, dole ne a ba mutane lada. A cikin BFT babu wani abu a zahiri don karɓar lada, amma abin da lada yake a cikin PoW ya bayyana ga kowa da kowa akan matakin fahimta: don wutar lantarki da mai sarrafa ke cinyewa a cikin aiwatar da gano toshe hash.

Baya ga PoW, akwai wasu yarjejeniya da yawa waɗanda ake amfani da su a cikin blockchain na zamani, misali:

  • PoS (Hujja-na-Stake) - akan blockchain Hyperledger
  • DPoS (Delegated Proof-of-Stake) - akan blockchain BitShares
  • Canje-canje na BFT: SBFT (BFT Sauƙaƙe) da PBFT (Practical BFT), misali a cikin blockchain Exonum

Bari mu dan dakata kadan kan yarjejeniya ta PoS, saboda... PoS ne da nau'ikan sa waɗanda suka fi yaɗu a cikin blockchain masu zaman kansu. Me yasa a cikin sirri? A gefe guda, halayen PoS sun fi kyau idan aka kwatanta da PoW, saboda Don cimma yarjejeniya, ana buƙatar ƙananan albarkatun kwamfuta, wanda ke nufin saurin rubuta bayanai zuwa blockchain yana ƙaruwa. Amma a gefe guda, PoS yana da ƙarin dama don zamba, don haka don kawar da wannan, duk mahalarta a cikin blockchain dole ne a san su.

Yarjejeniyar PoS ta dogara ne akan zaɓi na kumburi wanda zai iya rubuta toshe tare da ma'amaloli zuwa blockchain dangane da adadin kuɗi a cikin asusun, ko kuma, ba a cikin asusun ba, amma a cikin jingina, watau. Yawan kuɗin da kuke da shi a matsayin jingina, mafi kusantar hanyar sadarwar za ta zaɓi kumburin ku don rubuta toshe. Ba za a dawo da ajiyar kuɗi ba idan katangar ba ta da inganci. Wannan yana ba da kariya daga zamba. Akwai bambance-bambancen PoS masu zuwa:

  • Yarjejeniyar PoS (DPoS) ta wakilai ta raba mahalarta zuwa "masu jefa kuri'a" da "masu tabbatarwa". Masu rike da tsabar kudi (masu halartar zaɓe) suna ba da ikon su don tabbatarwa da yin rikodin ma'amaloli akan blockchain ga sauran mahalarta. Don haka, masu inganci suna yin duk aikin lissafi kuma suna samun lada a kansa, kuma kasancewar masu jefa ƙuri'a yana tabbatar da gaskiyar masu inganci, saboda. ana iya canza su a kowane lokaci.
  • LPoS (Leased Proof-of-Stake) yarjejeniya yana ba ku damar yin hayar kuɗin ku zuwa wasu nodes domin su sami mafi kyawun damar tabbatar da tubalan. Wannan. Kuna iya karɓar kwamiti don ma'amaloli ba tare da shiga cikin ainihin tabbatar da ma'amala da toshe ma'adinai ba.

Akwai wasu ra'ayoyi da yawa waɗanda har yanzu ba a yi amfani da su sosai ba, zan jera su kawai don bayani, kuma ana iya samun bayyani na algorithms yarjejeniya da kansu, alal misali, a cikin labarin: Algorithms Consensus a cikin Blockchain.

  • PoET (Tabbacin-Lokaci)
  • PoC (Tabbacin iyawa)
  • PoB (Tabbacin Konewa)
  • PoWeight (Tabbacin Nauyi)
  • PoA (Tabbacin-Aiki) - PoW + PoS
  • PoI (Tabbacin-Mahimmanci)

Dogaro da ƙaddamar da samfuran blockchain

Jama'a blockchain

РЈСЃС‚РѕР№С ‡ ивость Jama'a ko wani suna Blockchain mara izini Ana samun wannan ta hanyar ƙyale kowa ya haɗa da duba bayanai ko ma haɗa kullin nasu, kuma an gina dogara akan yarjejeniya ta PoW.

blockchain masu zaman kansu

Private ko Blockchain mai zaman kansa. A cikin waɗannan blockchain, kawai wasu rukuni na mahalarta (ƙungiyoyi ko mutane) suna samun damar samun bayanai. Irin waɗannan blockchain an gina su ta ƙungiyoyi tare da burin haɓaka fa'ida ko inganci gabaɗaya. An tabbatar da amincin su ta hanyar manufofin gama gari na mahalarta da PoS da BFT yarjejeniya algorithms.

Blockchain Consortium

Akwai Ƙungiya ko Blockchain Izinin Jama'a. Waɗannan su ne blockchain da kowa zai iya haɗawa don dubawa, amma ɗan takara zai iya ƙara bayanai ko haɗa kullin sa kawai tare da izinin sauran mahalarta. Ƙungiyoyi suna gina irin waɗannan blockchain don haɓaka amincewa daga ɓangaren abokan ciniki ko masu amfani da kayayyaki ko al'umma gaba ɗaya. Anan, ana samun dogaro kuma ta hanyar kasancewar amana tsakanin mahalarta da wannan PoS da algorithms yarjejeniya na BFT.

Yarjejeniyar Smart

Blockchains da aka aiwatar bayan Bitcoin sun, zuwa mataki ɗaya ko wani, sun kara da ikon aiwatar da kwangiloli masu wayo. Ainihin, kwangila mai wayo shine ma'amala wanda aka sanya lambar shirin don aiwatarwa. Kwangilolin Smart akan hanyar sadarwar Ethereum ana aiwatar da su a cikin EVM (Ethereum Virtual Machine). Don fara aiwatar da kwangilar wayo, dole ne wata ma'amala ta ƙaddamar da ita a sarari, ko kuma a cika sharuɗɗan aiwatarwa. Hakanan za a rubuta sakamakon aiwatar da kwangilar wayo a cikin blockchain. Karɓar bayanai daga wajen blockchain yana yiwuwa, amma iyakacin iyaka.

Wadanne dabaru na kasuwanci za a iya aiwatar da su ta amfani da kwangila mai wayo? A gaskiya ma, babu da yawa, misali, duba yanayi ta amfani da bayanai daga blockchain, canza masu mallakar dijital dukiya dangane da wadannan yanayi, rikodin bayanai a cikin dindindin ajiya a cikin blockchain. Ana aiwatar da dabaru a cikin Harshen Harshe na musamman na musamman.

Misali na yau da kullun na ayyuka wanda aka aiwatar ta amfani da kwangiloli masu wayo shine samar da alamun ICOs. Misali, na aiwatar da kwangila mai wayo don bayar da matsakaicin 500 AlexToken. By link in Etherscan is located

lambar tushe na kwangilar wayo a cikin Harshen Solidity

pragma solidity ^0.4.23;
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
**/
function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
if (a == 0) {
return 0;
}
c = a * b;
assert(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
**/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
// uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return a / b;
}
/**
* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
**/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
/**
* @dev Adds two numbers, throws on overflow.
**/
function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
**/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender account.
**/
constructor() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
**/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
**/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @title ERC20Basic interface
* @dev Basic ERC20 interface
**/
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
**/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
**/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) balances;
uint256 totalSupply_;
/**
* @dev total number of tokens in existence
**/
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
**/
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
**/
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
}
contract StandardToken is ERC20, BasicToken {
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint256 the amount of tokens to be transferred
**/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
*
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
**/
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
**/
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _addedValue The amount of tokens to increase the allowance by.
**/
function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _subtractedValue The amount of tokens to decrease the allowance by.
**/
function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
uint oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
/**
* @title Configurable
* @dev Configurable varriables of the contract
**/
contract Configurable {
uint256 public constant cap = 1000000000*10**18;
uint256 public constant basePrice = 100*10**18; // tokens per 1 ether
uint256 public tokensSold = 0;
uint256 public constant tokenReserve = 500000000*10**18;
uint256 public remainingTokens = 0;
}
/**
* @title CrowdsaleToken 
* @dev Contract to preform crowd sale with token
**/
contract CrowdsaleToken is StandardToken, Configurable, Ownable {
/**
* @dev enum of current crowd sale state
**/
enum Stages {
none,
icoStart, 
icoEnd
}
Stages currentStage;
/**
* @dev constructor of CrowdsaleToken
**/
constructor() public {
currentStage = Stages.none;
balances[owner] = balances[owner].add(tokenReserve);
totalSupply_ = totalSupply_.add(tokenReserve);
remainingTokens = cap;
emit Transfer(address(this), owner, tokenReserve);
}
/**
* @dev fallback function to send ether to for Crowd sale
**/
function () public payable {
require(currentStage == Stages.icoStart);
require(msg.value > 0);
require(remainingTokens > 0);
uint256 weiAmount = msg.value; // Calculate tokens to sell
uint256 tokens = weiAmount.mul(basePrice).div(1 ether);
uint256 returnWei = 0;
if(tokensSold.add(tokens) > cap){
uint256 newTokens = cap.sub(tokensSold);
uint256 newWei = newTokens.div(basePrice).mul(1 ether);
returnWei = weiAmount.sub(newWei);
weiAmount = newWei;
tokens = newTokens;
}
tokensSold = tokensSold.add(tokens); // Increment raised amount
remainingTokens = cap.sub(tokensSold);
if(returnWei > 0){
msg.sender.transfer(returnWei);
emit Transfer(address(this), msg.sender, returnWei);
}
balances[msg.sender] = balances[msg.sender].add(tokens);
emit Transfer(address(this), msg.sender, tokens);
totalSupply_ = totalSupply_.add(tokens);
owner.transfer(weiAmount);// Send money to owner
}
/**
* @dev startIco starts the public ICO
**/
function startIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
currentStage = Stages.icoStart;
}
/**
* @dev endIco closes down the ICO 
**/
function endIco() internal {
currentStage = Stages.icoEnd;
// Transfer any remaining tokens
if(remainingTokens > 0)
balances[owner] = balances[owner].add(remainingTokens);
// transfer any remaining ETH balance in the contract to the owner
owner.transfer(address(this).balance); 
}
/**
* @dev finalizeIco closes down the ICO and sets needed varriables
**/
function finalizeIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
endIco();
}
}
/**
* @title LavevelToken 
* @dev Contract to create the Lavevel Token
**/
contract AlexToken is CrowdsaleToken {
string public constant name = "AlexToken";
string public constant symbol = "ALT";
uint32 public constant decimals = 18;
}

da kuma wakilcin binary kamar yadda hanyar sadarwa ke gani

60806040526000600355600060045533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560146101000a81548160ff021916908360028111156200006f57fe5b0217905550620001036b019d971e4fe8401e74000000600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024a6401000000000262000b1d179091906401000000009004565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001986b019d971e4fe8401e740000006001546200024a6401000000000262000b1d179091906401000000009004565b6001819055506b033b2e3c9fd0803ce8000000600481905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b019d971e4fe8401e740000006040518082815260200191505060405180910390a362000267565b600081830190508281101515156200025e57fe5b80905092915050565b611cb880620002776000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104c7578063095ea7b31461055757806318160ddd146105bc57806323b872dd146105e7578063313ce5671461066c578063355274ea146106a3578063518ab2a8146106ce57806366188463146106f957806370a082311461075e57806389311e6f146107b55780638da5cb5b146107cc578063903a3ef61461082357806395d89b411461083a578063a9059cbb146108ca578063bf5839031461092f578063c7876ea41461095a578063cbcb317114610985578063d73dd623146109b0578063dd62ed3e14610a15578063f2fde38b14610a8c575b60008060008060006001600281111561012757fe5b600560149054906101000a900460ff16600281111561014257fe5b14151561014e57600080fd5b60003411151561015d57600080fd5b600060045411151561016e57600080fd5b3494506101a7670de0b6b3a764000061019968056bc75e2d6310000088610acf90919063ffffffff16565b610b0790919063ffffffff16565b9350600092506b033b2e3c9fd0803ce80000006101cf85600354610b1d90919063ffffffff16565b111561024c576101f66003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b915061022e670de0b6b3a764000061022068056bc75e2d6310000085610b0790919063ffffffff16565b610acf90919063ffffffff16565b90506102438186610b3990919063ffffffff16565b92508094508193505b61026184600354610b1d90919063ffffffff16565b6003819055506102886003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b6004819055506000831115610344573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156102dd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b610395846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a361045184600154610b1d90919063ffffffff16565b600181905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156104bf573d6000803e3d6000fd5b505050505050005b3480156104d357600080fd5b506104dc610b52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056357600080fd5b506105a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8b565b604051808215151515815260200191505060405180910390f35b3480156105c857600080fd5b506105d1610c7d565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610652600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c87565b604051808215151515815260200191505060405180910390f35b34801561067857600080fd5b50610681611041565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156106af57600080fd5b506106b8611046565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e3611056565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b6040518082815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611335565b005b3480156107d857600080fd5b506107e16113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082f57600080fd5b50610838611411565b005b34801561084657600080fd5b5061084f6114ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088f578082015181840152602081019050610874565b50505050905090810190601f1680156108bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d657600080fd5b50610915600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b34801561093b57600080fd5b50610944611703565b6040518082815260200191505060405180910390f35b34801561096657600080fd5b5061096f611709565b6040518082815260200191505060405180910390f35b34801561099157600080fd5b5061099a611716565b6040518082815260200191505060405180910390f35b3480156109bc57600080fd5b506109fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611726565b604051808215151515815260200191505060405180910390f35b348015610a2157600080fd5b50610a76600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b6040518082815260200191505060405180910390f35b348015610a9857600080fd5b50610acd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a9565b005b600080831415610ae25760009050610b01565b8183029050818382811515610af357fe5b04141515610afd57fe5b8090505b92915050565b60008183811515610b1457fe5b04905092915050565b60008183019050828110151515610b3057fe5b80905092915050565b6000828211151515610b4757fe5b818303905092915050565b6040805190810160405280600981526020017f416c6578546f6b656e000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d9c57600080fd5b610ded826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e80826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6b033b2e3c9fd0803ce800000081565b60035481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561116d576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611201565b6111808382610b3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139157600080fd5b60028081111561139d57fe5b600560149054906101000a900460ff1660028111156113b857fe5b141515156113c557600080fd5b6001600560146101000a81548160ff021916908360028111156113e457fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b60028081111561147957fe5b600560149054906101000a900460ff16600281111561149457fe5b141515156114a157600080fd5b6114a9611b01565b565b6040805190810160405280600381526020017f414c54000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561152157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156e57600080fd5b6115bf826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611652826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b68056bc75e2d6310000081565b6b019d971e4fe8401e7400000081565b60006117b782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a4157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6002600560146101000a81548160ff02191690836002811115611b2057fe5b021790555060006004541115611c0a57611ba5600454600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611c89573d6000803e3d6000fd5b505600a165627a7a723058205bbef016cc7699572f944871cb6f05e69915ada3a92a1d9f03a3fb434aac0c2b0029

Ana iya samun ƙarin cikakkun bayanai game da kwangiloli masu wayo a cikin labarin: Menene kwangilar wayo a cikin Ethereum.

ƙarshe

Mun jera fasahohin da aka gina blockchain na zamani da yadda ake hada su da juna. Yanzu bari mu tsara waɗanne matsalolin za a iya magance su ta amfani da blockchain, kuma waɗanne mafita za su kasance, a mafi kyawu, marasa amfani. Don haka, yin amfani da blockchain ba lallai ba ne idan:

  • Ana gudanar da mu'amala a cikin amintaccen muhalli;
  • Kasancewar kwamitin masu shiga tsakani ba ya dagula rayuwar mahalarta;
  • Mahalarta ba su da dukiya da za a iya wakilta a matsayin kadarorin dijital;
  • Babu rarrabawa a cikin kadarorin dijital, watau. Mahalarci ɗaya ne kawai ya mallaka ko kuma ya ba da ƙimar.

Menene makomar blockchain zai kasance? Yanzu za mu iya kawai hasashe kan hanyoyin da za a iya haɓaka fasahar blockchain:

  • Blockchain zai zama fasahar bayanai na gama gari kamar, alal misali, SQL ko NoSQL don magance takamaiman kewayon matsalolinsa;
  • Blockchain zai zama yarjejeniya mai yaduwa, kamar HTTP na Intanet;
  • Blockchain zai zama tushen sabon tsarin kuɗi da siyasa a duniya!

A kashi na gaba za mu duba menene blockchain a halin yanzu da kuma dalilin da yasa ake amfani da su a masana'antu daban-daban.

Wannan shine farkon!

source: www.habr.com

Add a comment