Բովանդակություն:

Ինչպես է իրականում աշխատում բլոկչեյնը
Ինչպես է իրականում աշխատում բլոկչեյնը

Video: Ինչպես է իրականում աշխատում բլոկչեյնը

Video: Ինչպես է իրականում աշխատում բլոկչեյնը
Video: Stealth խաղ, ինչպես Metal Gear Solid-ը: 👥 - Terminal GamePlay 🎮📱 🇦🇲 2024, Մայիս
Anonim

Այս գրառումը նախատեսված է բոլորին պատմելու, թե ինչու է հայտնագործվել բլոկչեյնը, ինչպես են աշխատում կրիպտոարժույթները և ինչու է այն վերջին տարիների ամենագեղեցիկ համակարգը տրամաբանության տեսանկյունից։

Անմիջապես կզգուշացնեմ ձեզ, որ կտրվածքի տակ կա մի Հսկայական տեքստ, և եթե պատրաստ չեք մեկընդմիշտ «փակել» կրիպտոարժույթների թեմայով հարցը, ավելացրեք գրառում ձեր ֆավորիտներում հենց հիմա և պահեք ժամանակ)

Բլոկչեյնը տեխնոլոգիա է՝ նոր, տարօրինակ, անհասկանալի, բայց կարծես թե փոխում է աշխարհը՝ ի տարբերություն ձեր այս պատմությունների։ Ըստ երևույթին, նա երկար ժամանակ մեզ հետ է։

Այս գրառումը գրված է այնպես, կարծես ասվում է այն մարդկանց, ովքեր շատ հեռու են համակարգչից և նրանց միայն մակերեսորեն են ճանաչում, օրինակ՝ պատկերացրեք, որ նա պատրաստվում էր ձեր ծնողներին։ Ես նույնիսկ կարող եմ դա նետել իմ հումանիտար գիտակիցների մոտ և վստահ լինել, որ նրանք կհասկանան:

Եվ Օլեգը կօգնի մեզ բոլորիս այս դժվարին հարցում։ Հանդիպե՛ք

Եթե դու չես սիրում Օլեգին, ես նրան դուրս կհանեմ:

Հիմնականը. ինչու՞ է մեզ անհրաժեշտ բլոկչեյնը:

Բլոկչեյնը նկարագրվել է Սատոշի Նակամոտոյի «Bitcoin. Peer-to-Peer Electronic Cash System» հոդվածում։ Այնտեղ հեղինակը ընդամենը ութ էջերում նկարագրել է Bitcoin կրիպտոարժույթի հիմունքները, որը հիմնված էր Blockchain ալգորիթմի վրա։

Ցուցակ, որը հնարավոր չէ փոխել

Բլոկչեյն - բլոկների շղթա կամ այլ կերպ ասած՝ կապված ցուցակ: Նման ցուցակում յուրաքանչյուր հաջորդ ռեկորդը վերաբերում է մեկ նախորդին, և այսպես շարունակ՝ մինչև առաջինը: Գնացքի վագոնների պես՝ ամեն մեկը մյուսին քարշ է տալիս։ Ցուցակների վերաբերյալ կա Նիկիտա Լիխաչովի մի լավ հոդված TJ-ում, որտեղ նույնը բացատրվում է բոլորովին նորեկների համար։ Նմանությունները մասամբ վերցված են այնտեղից։

Օրինակ բերենք

Օլեգի ընկերները նրանից անընդհատ պարտքով գումար են վերցնում։ Օլեգը բարի է, բայց չափազանց մոռացկոտ։ Մեկ շաբաթ անց նա այլեւս չի հիշում, թե ով չի վերադարձրել իրեն պարտքը, բայց ամաչում է այդ մասին բոլորին հարցնել։ Ուստի մի օր նա որոշեց վերջ տալ դրան՝ իր տան գրատախտակի վրա ստեղծելով ընկերների ցուցակ, որոնցից պարտքով գումար էր վերցրել։

Այժմ Օլեգը միշտ կարող է գնալ տախտակ և համոզվել, որ Մաքսը վերադարձրել է ամեն ինչ, բայց Վանյան արդեն 700 ռուբլի չի տալիս: Մի օր Օլեգը Վանյային հրավիրում է խմելու իր տանը։ Մինչ Օլեգը գնում է զուգարան, Վանյան ջնջում է «Ես Վանյայի համար 200 ռուբլի պարտք եմ վերցրել» գրառումը և դրա փոխարեն գրում «Վանյան տվել է 500 ռուբլի»:

Օլեգը, ով վստահել է իր ցուցակին, մոռանում է պարտքի մասին և կորցնում 700 ռուբլի։ Նա որոշում է ինչ-որ կերպ պայքարել դրա դեմ: Անցյալ տարի Օլեգը հաճախել է ծրագրավորման դասընթաց, որտեղ նրան պատմել են հեշինգի մասին։ Նա հիշում է, որ ցանկացած տող կարող է վերածվել նիշերի միանշանակ բազմության՝ հեշի, իսկ տողի ցանկացած նիշ փոխելով այն ամբողջությամբ կփոխվի։

Վերջում կետ ավելացնելը փոխեց վերջնական հեշը անճանաչելիորեն. կարող եք օգտագործել այն:

Օլեգը վերցնում է հայտնի SHA-256 հեշը և դրա հետ հեշում է յուրաքանչյուր գրառում՝ վերջում ավելացնելով արդյունքը: Այժմ Օլեգը կարող է համոզվել, որ ոչ ոք չի փոխել իր ռեկորդները՝ նորից հեշելով դրանք և համեմատելով կանաչի հետ։

Բայց EVIL IVAN-ը նաև գիտի, թե ինչպես օգտագործել SHA-256-ը և կարող է հեշտությամբ փոխել մուտքը իր հեշի հետ միասին: Հատկապես, եթե հեշը գրված է հենց դրա կողքին գրատախտակին։

Հետևաբար, ավելի մեծ անվտանգության համար Օլեգը որոշում է հեշել ոչ միայն ինքնին գրառումը, այլև այն ավելացնել նախորդ գրառումից հեշի հետ միասին: Այժմ բոլոր հետևյալ գրառումները կախված են նախորդներից։ Եթե փոխեք առնվազն մեկ տող, դուք պետք է վերահաշվարկեք ցուցակի բոլոր մյուսների հեշերը:

Բայց մի օր Իվանը գաղտագողի է գալիս գիշերը, փոխում է իրեն անհրաժեշտ գրառումը և մինչև վերջ թարմացնում է ամբողջ ցուցակի հեշերը: Նրանից մի քանի ժամ է պահանջվում, բայց Օլեգը դեռ խորը քնած է և չի կարողանում լսել։ Առավոտյան Օլեգը հայտնաբերում է բացարձակապես ճիշտ ցուցակ՝ բոլոր հեշերը համընկնում են: Բայց Իվանն ամեն դեպքում խաբեց նրան, թեև անքուն գիշեր անցկացրեց դրա վրա։ Ուրիշ ինչպե՞ս կարող եք պաշտպանվել ձեզ Գիշերային Իվանից:

Օլեգը որոշում է ինչ-որ կերպ բարդացնել իր կյանքը։ Այժմ ցուցակում նոր գրառում ավելացնելու համար Օլեգը կլուծի դրա հետ կապված բարդ խնդիր, օրինակ՝ մաթեմատիկական հավասարում։ Նա կավելացնի պատասխանը վերջնական հեշին։

Օլեգը լավ է մաթեմատիկայից, բայց նույնիսկ տասը րոպե է պահանջվում գրառում ավելացնելու համար: Չնայած դրան, ծախսած ժամանակը արժե այն, քանի որ եթե Իվանը ցանկանում է նորից ինչ-որ բան փոխել, նա պետք է նորից լուծի յուրաքանչյուր շարքի հավասարումները, և դրանք կարող են լինել տասնյակ: Դա շատ ժամանակ կպահանջի, քանի որ ամեն անգամ հավասարումները եզակի են և կապված են կոնկրետ ռեկորդի հետ։

Բայց ցուցակը ստուգելը նույնքան պարզ է. նախ պետք է համեմատել հեշերը, ինչպես նախկինում, ապա ստուգել հավասարումների լուծումները պարզ փոխարինմամբ։ Եթե ամեն ինչ համընկնում է, ցուցակը չի փոխվում։

Իրականում ամեն ինչ այնքան էլ լավ չէ հավասարումների դեպքում. համակարգիչները դրանք չափազանց լավ են լուծում, և որտեղ կարելի է պահել այդքան եզակի հավասարումներ: Ուստի բլոկչեյնի հեղինակներն ավելի գեղեցիկ խնդիր են առաջացրել՝ պետք է գտնել այնպիսի թիվ (ոչ), որպեսզի ամբողջ ռեկորդի վերջնական հեշը սկսվի 10 զրոյից։ Նման նոնս դժվար է գտնել, բայց արդյունքը միշտ կարելի է ստուգել միայն աչքերով։

Այժմ Օլեգը ստուգում է բոլոր հեշերը և լրացուցիչ համոզվում, որ յուրաքանչյուրը սկսվում է նշված թվով զրոներով: Խորամանկ Իվանը, նույնիսկ հզոր նոութբուքով զինված, չի հասցնի մեկ գիշերվա ընթացքում վերահաշվարկել բոլոր հեշերը, որպեսզի նրանք բավարարեն պայմանը. ժամանակ չի լինի:

Նման ցուցակը, ըստ էության, տան բլոկչեյնն է ծնկի վրա: Դրա անվտանգությունը երաշխավորված է մաթեմատիկոսների կողմից, ովքեր ապացուցեցին, որ այս հեշերը հնարավոր չէ ինչ-որ կերպ ավելի արագ հաշվարկել, բացառությամբ բիրտ ուժի։ Յուրաքանչյուր ռեկորդի համար հեշերի նման թվարկումը մայնինգ է, որի մասին այսօր շատ ու մանրամասն կլինի։

Վստահության կենտրոնացում

Մեր ընկերներին դուր եկավ «ով ում պարտքով» կեղծ ցուցակ պահելու գաղափարը։ Նրանք նաև չեն ուզում հիշել, թե ով ում համար է վճարել բարում և դեռ որքան է պարտք, ամեն ինչ գրված է պատին։ Դուք քննարկեցիք գաղափարը և որոշեցիք, որ այժմ ձեզ անհրաժեշտ է միասնական ցուցակ բոլորի համար:

Բայց ո՞ւմ պետք է վստահել այդքան կարևոր հաշվապահական հաշվառումը։ Ի վերջո, երբ խոսքը գնում է փողի մասին, վստահությունն առաջին պլան է մղվում: Մենք չենք վստահի անհայտին մեր փողերը պահելու հարցում. Դրա համար մեր նախնիները հայտնագործեցին բանկերը, որոնց ժամանակի ընթացքում սկսեցին վստահել, քանի որ դրանց հիմքում դրված է լիցենզիա, օրենքներ և Կենտրոնական բանկի ապահովագրություն։

Ընկերական շրջապատում բոլորը վստահում են միմյանց, և դուք կարող եք պարզապես ընտրել ամենապատասխանատուին այս դերի համար։ Բայց ի՞նչ, եթե հարցը անծանոթ մարդկանց մասին է: Մի ամբողջ քաղաք, երկիր կամ ամբողջ աշխարհ, ինչպես օրինակ Bitcoin-ի դեպքում: Ընդհանրապես, այնտեղ ոչ ոք չի կարող ոչ ոքի վստահել։

Ապակենտրոնացում. ոչ ոք ոչ ոքի չի վստահում

Այսպիսով, նրանք առաջարկեցին այլընտրանքային մոտեցում. ցուցակի պատճենը պահեք բոլորի համար: Այսպիսով, հարձակվողը ոչ միայն պետք է վերաշարադրի մեկ ցուցակ, այլև գաղտագողի յուրաքանչյուր տուն և այնտեղ նորից գրի ցուցակները: Եվ հետո պարզվում է, որ ինչ-որ մեկը տանը մի քանի ցուցակ է պահել, որոնց մասին ոչ ոք չգիտեր։ Սա ապակենտրոնացում է։

Այս մոտեցման բացասական կողմն այն է, որ նոր գրառումներ անելու համար դուք պետք է զանգահարեք մյուս բոլոր մասնակիցներին և նրանցից յուրաքանչյուրին տեղեկացնեք վերջին փոփոխությունների մասին: Բայց եթե այս մասնակիցները անհոգի մեքենաներ են, դա ընդհանրապես դադարում է որևէ խնդիր լինել:

Նման համակարգում չկա վստահության մեկ կետ, հետևաբար՝ կաշառակերության և խաբեության հնարավորություն: Համակարգի բոլոր մասնակիցները գործում են մեկ կանոնով՝ ոչ ոք ոչ մեկին չի վստահում։ Յուրաքանչյուր ոք հավատում է միայն այն տեղեկատվությանը, որն ունի իր տրամադրության տակ։ Սա ցանկացած ապակենտրոնացված ցանցի հիմնական օրենքն է:

Գործարքներ

Խանութից զամբյուղ գնելիս դուք մուտքագրում եք ձեր քարտի PIN կոդը՝ թույլ տալով խանութին հարցնել բանկին՝ արդյոք ձեր հաշվի վրա կա 35 ռուբլի: Այսինքն՝ 35 ռուբլու գործարք եք կնքում ձեր փին կոդով, որը բանկը հաստատում կամ մերժում է։

Գործարքներ են նաև «Վանյային 500 ռուբլի պարտք եմ վերցրել» տիպի մեր գրառումները։ Բայց մենք չունենք գործարքների հեղինակին լիազորող բանկ։ Ինչպե՞ս կարող ենք ստուգել, որ Իվանը հանգիստ չի ավելացրել «Մաքսը Օլեգին պարտք է 100 500 ռուբլի» գրառումը:

Բլոկչեյնը դրա համար օգտագործում է հանրային և մասնավոր բանալիների մեխանիզմը, ՏՏ մասնագետները վաղուց օգտագործում են դրանք նույն SSH-ում թույլտվության համար: Ես դա բացատրեցի մատներիս վրա «Անվտանգություն, գաղտնագրում, կիբերպանկ» գրառման մեջ՝ «Գաղտնագրման ներածություն» բաժնում։

Հակիրճ այն մասին, թե ինչպես է աշխատում այս բարդ, բայց գեղեցիկ մաթեմատիկան. դուք ձեր համակարգչում ստեղծում եք մի զույգ երկար պարզ թվեր՝ հանրային և մասնավոր բանալի: Մասնավոր բանալին համարվում է գերգաղտնի, քանի որ այն կարող է վերծանել այն, ինչ գաղտնագրված է հանրության մեջ:

Բայց հակառակն էլ է աշխատում. Եթե դուք կիսում եք հանրային բանալին ձեր բոլոր ընկերների հետ, նրանք կկարողանան գաղտնագրել ցանկացած հաղորդագրություն նրանց համար, որպեսզի միայն դուք կարողանաք կարդալ այն, քանի որ ձեզ է պատկանում մասնավորը:

Բայց բացի դրանից, հանրային բանալին ունի օգտակար ազդեցություն. դրա միջոցով դուք կարող եք ստուգել, որ տվյալները գաղտնագրված են ձեր անձնական բանալիով, առանց տվյալների վերծանման: Այս բոլոր հատկությունները լավ նկարագրված են «Գիրք ծածկագրերում»:

Մենք գտնվում ենք ապակենտրոնացված ինտերնետում, որտեղ ոչ ոքի չի կարելի վստահել: Գործարքը կնքվում է մասնավոր բանալիով և հանրային բանալու հետ միասին ուղարկվում է հատուկ պահեստ՝ չհաստատված գործարքների լողավազան: Այսպիսով, ցանցի ցանկացած անդամ կարող է ստուգել, որ դա դուք եք նախաձեռնել, և ոչ թե մեկ ուրիշը ցանկանում է վճարել ձեր գումարով:

Սա ապահովում է ցանցի բացությունն ու անվտանգությունը: Եթե նախկինում սրա համար պատասխանատու էին բանկերը, ապա բլոկչեյնում սրա համար պատասխանատու են մաթեմատիկոսները։

Սովորական օգտատերերի համար, ովքեր չեն ցանկանում պարզել, թե ինչպես թողարկել և պահել անձնական բանալիներ, առցանց դրամապանակի ծառայությունները կօգնեն: Երկար հանրային բանալիները պատճենելու համար այնտեղ պատրաստվում են հարմար QR կոդեր: Օրինակ՝ Blockchain Wallet-ը, քանի որ այն ունի հարմար բջջային հավելված և աջակցում է երկու հիմնական կրիպտոարժույթներին՝ BTC-ին և ETH-ին:

«Հավասարակշռություն» հասկացության բացակայություն

Ինչպես մեր խորհուրդը, բլոկչեյնը հիմնականում բաղկացած է միայն գործարքների պատմությունից: Այն չի պահպանում յուրաքանչյուր դրամապանակի մնացորդը, հակառակ դեպքում մենք ստիպված կլինեինք հորինել լրացուցիչ պաշտպանության մեթոդներ։

Միայն անձնական բանալին հաստատում է դրամապանակի սեփականությունը: Բայց ինչպե՞ս կարող են ցանցի մյուս անդամները համոզվել, որ ես բավականաչափ գումար ունեմ գնելու համար:

Քանի որ մենք հավասարակշռություն չունենք, դուք պետք է դա ապացուցեք։ Հետևաբար, բլոկչեյն գործարքը ներառում է ոչ միայն ձեր ստորագրությունը և որքան եք ցանկանում ծախսել, այլ նաև հղումներ դեպի նախորդ գործարքներ, որոնցում դուք ստացել եք անհրաժեշտ գումարը:

Այսինքն, եթե դուք ցանկանում եք ծախսել 400 ռուբլի, դուք անցնում եք ձեր եկամտի և ծախսերի ամբողջ պատմությունը և ձեր գործարքին կցում եք այն եկամուտները, որտեղ ձեզ տրվել է 100 + 250 + 50 ռուբլի, դրանով իսկ ապացուցելով, որ դուք ունեք այս 400 ռուբլի:

Ցանցի յուրաքանչյուր անդամ ևս մեկ անգամ անպայման կստուգի, որ դուք երկու անգամ եկամուտ չեք կապել: Որ այդ 300 ռուբլին, որ Մաքսը տվեց անցյալ շաբաթ, դու իսկապես դեռ չես ծախսել։

Գործարքի հետ կապված նման եկամուտները կոչվում են մուտքեր բլոկչեյնում, իսկ փողի բոլոր ստացողները՝ ելքեր: Բոլոր մուտքերի գումարը հազվադեպ է ճիշտ նույնը, ինչ դուք ցանկանում եք փոխանցել միաժամանակ, հետևաբար, ելքերից մեկն ամենից հաճախ ինքներդ եք լինելու: Այլ կերպ ասած, բլոկչեյնով գործարքը նման է «ինձ տրվել է 3 և 2 ԲԹՋ, ես ուզում եմ նրանցից փոխանցել 4 ԲԹՋ և հետ վերադարձնել մնացած 1 ԲԹՋ»:

Բլոկչեյնի գեղեցկությունն այն է, որ մուտքերը պարտադիր չէ, որ ստացվեն մեկ դրամապանակից: Ի վերջո, ստուգվում է միայն բանալին: Եթե դուք գիտեք բոլոր մուտքերի անձնական բանալին, ապա կարող եք հեշտությամբ կցել դրանք ձեր գործարքին և վճարել այս գումարով: Ոնց որ սուպերմարկետում վճարեիք մի քանի քարտերով, որոնցից գիտեք փին կոդը։

Այնուամենայնիվ, եթե կորցնեք ձեր անձնական բանալին, ձեր սկավառակը մեռնի կամ ձեր նոութբուքը գողացնեն, ձեր բիթքոյնները ընդմիշտ կկորչեն: Ոչ ոք չի կարող դրանք օգտագործել որպես միջոցներ նոր գործարքների համար:

Այս գումարը հավիտյան անհասանելի կլինի ողջ աշխարհին՝ ասես թղթադրամի մի կապոց այրես։ Չկա մի բանկ, որտեղ անձնագրի պատճենով դիմում գրես, ինքն էլ կտպի։ Սա պահանջում է նոր բիթքոյնների լրացուցիչ թողարկում «օդից դուրս»:

Կրկնակի ծախսերի խնդիր

Վերևում ասացի, որ գործարքները ավելացվում են հատուկ «չհաստատված գործարքների ֆոնդին»: Ինչո՞ւ է մեզ անհրաժեշտ ինչ-որ միջանկյալ սուբյեկտ, եթե մենք արդեն ունենք, ըստ էության, պատրաստի ստորագրված գործարքներ։ Ինչո՞ւ դրանք ուղղակիորեն չգրել բլոկչեյնին:

Քանի որ A կետից B կետ ազդանշանները միշտ ուշացումով են գնում: Երկու գործարքները կարող են ընթանալ բոլորովին տարբեր ճանապարհներով: Իսկ գործարքը, որն առաջինն է նախաձեռնվել, կարող է ավելի ուշ հասնել ստացողին, քանի որ այն ավելի երկար ճանապարհ է վերցրել։

Սա հանգեցնում է կրկնակի ծախսերի, երբ նույն գումարը ուղարկվում է միանգամից երկու հասցեատերերի, որոնց մասին նրանք չէին էլ կռահի։ Սա օրինագծերը ձեռքից ձեռք հանձնելու համար չէ:

Ապակենտրոնացված ցանցի համար, որտեղ ոչ ոքի չի կարելի վստահել, այս խնդիրը հատկապես սուր է: Ահա, թե ինչպես եք համոզվում, որ մի գործարքը միանշանակ եղել է մյուսից առաջ: Խնդրեք ուղարկողին կարել առաքման ժամանակը դրա մեջ, չէ՞: Բայց հիշեք, որ դուք չեք կարող վստահել ոչ մեկին, նույնիսկ ուղարկողին:

Բոլոր համակարգիչների ժամանակն անպայման կտարբերվի, և դրանց համաժամացման երաշխավորված միջոց չկա: Բլոկչեյնի պատճենը պահվում է ցանցի յուրաքանչյուր համակարգչի վրա, և յուրաքանչյուր մասնակից վստահում է միայն դրան:

Ինչպե՞ս կարող եք համոզվել, որ մեկ գործարքն ավելի վաղ է եղել, քան մյուսը:

Պատասխանը պարզ է՝ անհնար է։ Ապակենտրոնացված ցանցում գործարքի ժամանակը հաստատելու ոչ մի միջոց չկա: Եվ այս խնդրի լուծումը երրորդ կարևոր բլոկչեյն գաղափարն է, որը հորինել է Սատոշին, և որը, տարօրինակ կերպով, գրված է հենց նրա անունով՝ բլոկներ:

Բլոկները բլոկչեյնի ողնաշարն են

Ցանցի յուրաքանչյուր աշխատող համակարգիչ ընտրում է իրեն դուր եկած ցանկացած գործարք ընդհանուր լողավազանից: Սովորաբար միայն ամենաբարձր միջնորդավճարի համար, որը նա կարող է վաստակել դրա վրա: Այսպիսով, նա իր համար գործարքներ է հավաքում այնքան ժամանակ, մինչև դրանց ընդհանուր չափը հասնի բանակցված սահմանաչափին: Bitcoin-ում այս բլոկի չափի սահմանաչափը 1 ՄԲ է (SegWit2x-ից հետո այն կկազմի 2 ՄԲ), իսկ Bitcoin Cash-ում՝ 8 ՄԲ։

Ամբողջ բլոկչեյնը, ըստ էության, նման բլոկների ցանկ է, որտեղ յուրաքանչյուրը վերաբերում է նախորդին: Այն կարող է օգտագործվել ողջ պատմության ընթացքում ցանկացած գործարքի հետևելու համար՝ շրջելով բլոկչեյնը նույնիսկ մինչև առաջին ռեկորդը:

Հենց այս ցուցակն է այժմ կշռում հարյուրավոր գիգաբայթեր և պետք է ամբողջությամբ ներբեռնվի բոլոր համակարգիչների վրա, որոնք ցանկանում են մասնակցել ցանցին (սակայն դա անհրաժեշտ չէ պարզապես գործարքներ ստեղծելու և գումար փոխանցելու համար): Այն ներբեռնվում է նույն կերպ ցանցի մոտակա բոլոր համակարգիչներից, կարծես տորենտներից սերիա եք ներբեռնում, 10 րոպեն մեկ նրանում թողարկվում են նոր նոր դրվագներ։

Լողավազանից իր համար մուտքագրելով գործարքներ՝ համակարգիչը սկսում է դրանցից կազմել նույն անուղղելի ցուցակը, ինչ մենք արել ենք տանը գրատախտակի վրա գրառման սկզբում:

Միայն նա է այն պատրաստում ծառի տեսքով՝ կրկնօրինակում է գրառումները զույգերով, հետո արդյունքը կրկին զույգերով է լինում, և այդպես շարունակ, մինչև մնա միայն մեկ հեշ՝ ծառի արմատը, որն ավելացվում է բլոկին։ Ինչու հենց ծառի հետ. պատասխանը չգտա, բայց ենթադրում եմ, որ այդպես ավելի արագ է։ Կարդալ ավելին վիքիում՝ Մերկլի ծառ։

Քանի որ ընթացիկ բլոկչեյնն արդեն ներբեռնվել է, մեր համակարգիչը հստակ գիտի, թե որն է վերջին բլոկը դրա մեջ: Նա պարզապես պետք է դրա հղումը ավելացնի բլոկի վերնագրում, հեշի այդ ամենը և ասի ցանցի մյուս բոլոր համակարգիչներին.

Մնացածը պետք է ստուգի, որ բլոկը կառուցված է բոլոր կանոններով, և որ մենք այնտեղ ավելորդ գործարքներ չենք ավելացրել, և հետո դրանք ավելացնեն մեր շղթաներում։ Հիմա դրանում բոլոր գործարքները հաստատված են, բլոկչեյնը մեկ բլոկով ավելացել է ու ամեն ինչ լավ է ընթանում, չէ՞։

Բայց ոչ. Հազարավոր համակարգիչներ միաժամանակ աշխատում են ցանցում, և հենց նրանք հավաքում են նոր բլոկ, նրանք գրեթե միաժամանակ շտապում են տեղեկացնել բոլորին, որ իրենց բլոկը ստեղծվել է առաջինը։ Իսկ նախորդ բաժնից մենք արդեն գիտենք, որ ապակենտրոնացված ցանցում անհնար է ապացուցել, թե իրականում ով է եղել առաջինը։

Ինչպես դպրոցում, երբ բոլորը դժվար թեստ էին լուծում, հազվադեպ էր պատահում, որ նույնիսկ գերազանցիկ աշակերտները պատասխանները միաժամանակ վերցնեին։

Բայց եթե մարդու համար դժվար խնդիր է արձակուրդ պլանավորել այնպես, որ նա հասնի մայիսյան տոներին, իսկ ծովի տոմսերը էժան են, ապա համակարգչի համար նման թիվ (ոչ) ավելացնելն է վերջում. արգելափակել այնպես, որ արդյունքում SHA-256 հեշը ամբողջ բլոկի համար սկսվի, ասենք, 10 զրո: Սա այն խնդիրն է, որը պետք է լուծվի՝ բիթքոյն ցանցին բլոկ ավելացնելու համար: Այլ ցանցերի համար առաջադրանքները կարող են տարբեր լինել:

Այսպիսով, մենք հասնում ենք հանքարդյունաբերության հայեցակարգին, որով բոլորն այդքան տարված էին վերջին տարիներին:

Հանքարդյունաբերություն

Bitcoin-ի մայնինգը ինչ-որ սուրբ հաղորդություն չէ: Մայնինգը ինտերնետի խորքերում ինչ-որ տեղ նոր բիթքոյններ գտնելը չէ: Մայնինգն այն է, երբ հազարավոր համակարգիչներ ամբողջ աշխարհում բզզում են նկուղներում՝ վայրկյանում միլիոնավոր թվերի միջով անցնելով՝ փորձելով գտնել 10 զրոյից սկսվող հեշ: Նրանք նույնիսկ կարիք չունեն առցանց լինել դա անելու համար:

Հարյուրավոր զուգահեռ միջուկներով վիդեո քարտերը լուծում են այս խնդիրը ավելի արագ, քան ցանկացած պրոցեսոր:

Ինչու՞ հենց 10 զրո: Եվ հենց այնպես, դա անիմաստ է: Այսպիսով, Սատոշին եկավ. Որովհետև սա այն խնդիրներից է, որոնց լուծումը միշտ էլ կա, բայց իհարկե հնարավոր չէ գտնել ավելի արագ, քան տարբերակների երկար միապաղաղ թվարկումը։

Հանքարդյունաբերության բարդությունը ուղղակիորեն կախված է ցանցի չափից, այսինքն՝ դրա ընդհանուր հզորությունից: Եթե դուք ստեղծեք ձեր սեփական բլոկչեյնը և այն գործարկեք ինքներդ տանը երկու նոթբուքերի վրա, ապա խնդիրը պետք է ավելի պարզ լինի: Օրինակ այնպես, որ հեշը սկսվի միայն մեկ զրոյով, կամ այնպես, որ զույգ թվանշանների գումարը հավասար լինի կենտների գումարին։

Մի քանի տասնամյակ կպահանջվի, որպեսզի մեկ համակարգիչ գտնի 10 զրոյից սկսվող հեշ: Բայց եթե հազարավոր համակարգիչներ միավորեք մեկ ցանցի մեջ և զուգահեռ որոնեք, ապա, ըստ հավանականության տեսության, այս խնդիրը լուծվում է միջինը 10 րոպեում։ Սա այն ժամանակն է, երբ նոր բլոկ է հայտնվում բիթքոյնի բլոկչեյնում:

Ամեն 8-12 րոպեն մեկ երկրագնդի վրա ինչ-որ մեկը գտնում է նման հաշ և իր հայտնագործության մասին բոլորին հայտարարելու արտոնություն է ստանում՝ դրանով իսկ խուսափելով այն խնդրից, թե ով է եղել առաջինը:

Պատասխան գտնելու համար համակարգիչը (2017 թվականի դրությամբ) ստանում է 12,5 ԲԹՋ – սա այն պարգևի չափն է, որը գոյանում է բիթքոյն համակարգի կողմից «օդից դուրս» և նվազում յուրաքանչյուր չորս տարին մեկ։

Տեխնիկապես դա նշանակում է, որ յուրաքանչյուր հանքագործ միշտ իր բլոկին ավելացնում է ևս մեկ գործարք՝ «ստեղծիր 12,5 ԲԹՋ և ուղարկիր դրանք իմ դրամապանակին»: Երբ լսում եք «աշխարհում բիթքոյնների թիվը սահմանափակված է 21 միլիոնով, այժմ նրանք արդեն վարձել են 16 միլիոն», սրանք են ցանցի կողմից գեներացված պարգևները:

Գնացեք տեսեք իրական կենդանի Bitcoin բլոկ նվիրված կայքերից մեկում: Կան նաև գործարքներ մուտքերով և ելքերով, և սկզբում մինչև 18 զրո և վերը նկարագրված բոլոր հեշերը:

Հենց հանքագործներն են բլոկչեյնին ավելացնում առաջացող գործարքները։ Այսպիսով, եթե ինչ-որ մեկը ձեզ ասում է, որ նա «կստեղծի բլոկչեյն ***-ի համար», առաջին հարցը, որին նա պետք է պատասխանի, այն է, թե ով և ինչու է արդյունահանելու դրա վրա: Ամենից հաճախ ճիշտ պատասխանն է՝ «բոլորը կանեն, քանի որ մայնինգի համար մենք տալիս ենք մեր մետաղադրամները, որոնք կաճի, և դա ձեռնտու է հանքագործների համար»: Բայց դա չի վերաբերում բոլոր նախագծերին։

Օրինակ, վաղը Առողջապահության ինչ-որ նախարարություն բժիշկների համար ստեղծում է իր փակ բլոկչեյնը (և նրանք դա են ուզում), ո՞վ է այն ականապատելու: Հանգստյան թերապևտներ.

Բայց ի՞նչ օգուտ կունենա հանքագործները հետագայում, երբ պարգևները անհետանան կամ սակավանան:

Ըստ Արարչի գաղափարի, այդ ժամանակ մարդիկ պետք է հավատան բիթքոյնի իրականությանը, և մայնինգը կսկսի վճարել յուրաքանչյուր գործարքում ներառված վճարների չափով։ Ահա թե որտեղ է ամեն ինչ գնում. դեռևս 2012-ին բոլոր միջնորդավճարները զրոյական էին, հանքագործները արդյունահանվում էին միայն բլոկներից ստացված պարգևների համար: Այսօր զրոյական միջնորդավճարով գործարքը կարող է մի քանի ժամ կախված մնալ լողավազանում, քանի որ կա մրցակցություն, և մարդիկ պատրաստ են վճարել արագության համար։

Այսինքն՝ հանքարդյունաբերության էությունը անիմաստ խնդիրների լուծման մեջ է։ Մի՞թե այս ամբողջ ուժը չէր կարող օգտագործվել ավելի օգտակար բանի համար՝ օրինակ քաղցկեղի բուժման համար:

Մայնինգի էությունը ցանկացած հաշվողական խնդիր լուծելն է։Այս առաջադրանքը պետք է լինի բավական պարզ, որպեսզի ցանցի մասնակիցները պատասխան գտնելու կայուն հավանականություն ունենան, հակառակ դեպքում գործարքները հավերժ կհաստատվեն: Պատկերացրեք, որ խանութի դրամարկղում դուք պետք է ամեն անգամ կես ժամ սպասեք, որպեսզի բանկը հաստատի ձեր գործարքը: Նման բանկից ոչ ոք չի օգտվի։

Բայց առաջադրանքը պետք է միաժամանակ բարդ լինի, որպեսզի բոլոր համացանցային օգտվողները միանգամից չգտնեն պատասխանը։ Որովհետեւ այս դեպքում նույն գործարքներով բազմաթիվ բլոկներ կհայտարարեն ցանցին ու «կրկնակի թափոնների» հավանականություն կլինի, ինչի մասին նշեցի։ Կամ նույնիսկ ավելի վատ՝ մեկ բլոկչեյնը բաժանել մի քանի ճյուղերի, որոնցում ոչ ոք չի կարող պարզել, թե որ գործարքն է հաստատված, որը՝ ոչ:

Եթե 12,5 BTC պարգևը բաժանվի 10 րոպեն մեկ անգամ և միայն մեկ մարդ, ով գտել է բլոկը, պարզվում է, որ ես պետք է վատնեմ վիդեո քարտերը մի քանի տարի այն հույսով, որ մի օր կնվազեմ 40,000 դոլար (ընթացիկ փոխարժեքը)

Սա հենց բիթքոյնի դեպքում է: Բայց միշտ չէ, որ այդպես է եղել։ Նախկինում ցանցն ավելի փոքր էր, բարդությունը՝ ավելի քիչ, ինչը նշանակում է, որ նոր բլոկի համար հեշ գտնելու հավանականությունն ավելի մեծ է։ Բայց այն ժամանակ բիթքոյնն այնքան էլ թանկ չէր։

Այժմ ոչ ոք միայնակ չի մայնինգով բիթքոյններ անում: Այժմ մասնակիցները միավորված են հատուկ խմբերում՝ մայնինգ լողավազաններում, որտեղ բոլորը միասին փորձում են գտնել ճիշտ հեշը։

Եթե խմբից գոնե մեկը գտնում է, ապա ամբողջ պարգևը բաժանվում է մասնակիցների միջև՝ կախված ընդհանուր աշխատանքում նրանց ունեցած ներդրումից: Ստացվում է, որ դուք մայնինգ եք անում և ամեն շաբաթ մեկ կոպեկ եք ստանում ընդհանուր բաժնեմասից։

Բայց սոլո մայնինգը միանգամայն հնարավոր է այլ ցանցերում: Մինչև վերջերս հեշտ էր արդյունահանել Ethereum-ը, որտեղ բլոկները հայտնաբերվում են յուրաքանչյուր 10 վայրկյանը մեկ: Բլոկի պարգևն այնտեղ շատ ավելի ցածր է, բայց բավականին մեծ կոպեկ վաստակելու հավանականությունն ավելի մեծ է:

Ուրեմն իզուր հազարավոր վիդեո քարտեր ենք վառելու ու ելք չկա՞։

Այո, բայց գաղափարներ կան։ Մայնինգը, որը ես նկարագրեցի, դասական է և կոչվում է Proof-of-Work (աշխատանքի ապացույց): Այսինքն՝ յուրաքանչյուր մեքենա ապացուցում է, որ աշխատել է ի շահ ցանցի՝ լուծելով անիմաստ խնդիրներ՝ տվյալ հավանականությամբ։

Բայց որոշ տղաներ սկսում են բլոկչեյններ ստեղծել այլ տեսակի մայնինգի միջոցով: Այժմ երկրորդ ամենահայտնի հայեցակարգը Proof-of-Stake-ն է (ցցի ապացույց): Այս տեսակի մայնինգում, որքան շատ «մետաղադրամներ» ունենա ցանցի մասնակիցն իր հաշվում, այնքան ավելի հավանական է, որ նա իր բլոկը մտցնի բլոկչեյն: Ինչպես գյուղի ամենաաղմկոտ տղան։

Դուք կարող եք մտածել այլ տեսակի հանքարդյունաբերության մասին: Ինչպես արդեն առաջարկվել է, ցանցի բոլոր համակարգիչները կարող են փնտրել քաղցկեղի բուժում, միայն դուք պետք է պարզեք, թե ինչպես այս դեպքում գրանցել իրենց ներդրումը համակարգում: Ի վերջո, ես կարող եմ հայտարարել, որ ես էլ եմ մասնակցում, բայց անջատեք իմ վիդեո քարտը և ոչինչ չհաշվեմ։

Ինչպե՞ս եք քանակականորեն գնահատում յուրաքանչյուր մասնակցի ներդրումը քաղցկեղի դեմ դեղամիջոց գտնելու գործում: Եթե մտածեք դրա մասին, համարձակվեք կտրել ձեր CancerCoin-ը, ապա ձեզ համար երաշխավորված է մեդիայում աղմուկը:

Բլոկչեյն

Պատկերացրեք մի իրավիճակ, որում, չնայած մեր բոլոր հավանականության տեսությանը, երկու հանքագործներ, այնուամենայնիվ, կարողացան գտնել ճիշտ պատասխանը միաժամանակ: Նրանք սկսում են երկու բացարձակապես ճիշտ բլոկ ուղարկել ցանցով։

Այս բլոկները երաշխավորված են տարբեր լինելու համար, քանի որ նույնիսկ եթե նրանք հրաշքով ընտրեն նույն գործարքները լողավազանից, կատարեն բացարձակապես նույնական ծառեր և գուշակեն նույն պատահական թիվը (ոչ մեկ), նրանց հեշերը դեռ տարբեր կլինեն, քանի որ յուրաքանչյուրը կգրի իր դրամապանակի համարը: բլոկը պարգևատրման համար:

Այժմ մենք ունենք երկու վավեր բլոկ, և կրկին խնդիր է առաջանում, թե ով պետք է առաջինը դիտարկել: Ինչպե՞ս կվարվի ցանցն այս դեպքում։

Բլոկչեյն ալգորիթմը նշում է, որ ցանցի մասնակիցները պարզապես ընդունում են իրենց հասած առաջին ճիշտ պատասխանը։ Հետո նրանք ապրում են աշխարհի սեփական պատկերի հիման վրա։

Երկու հանքագործներն էլ կստանան իրենց պարգևը, իսկ մնացած բոլորը սկսում են արդյունահանել՝ հենվելով իրենց անձամբ ստացած վերջին բլոկի վրա, հրաժարվելով մնացած բոլորը նորից ճիշտ են: Ցանցում հայտնվում է ճիշտ բլոկչեյնի երկու տարբերակ։ Այսպիսին է պարադոքսը.

Սա սովորական իրավիճակ է, որում հավանականությունների տեսությունը կրկին օգնում է:Ցանցը գործում է նման երկփեղկված վիճակում, մինչև որ հանքագործներից մեկը գտնի այս շղթաներից մեկի հաջորդ բլոկը:

Հենց որ այդպիսի բլոկ հայտնաբերվի և տեղադրվի շղթայում, այն դառնում է ավելի երկար և ներառվում է բլոկչեյն ցանցի պայմանագրերից մեկը. ցանկացած պայմաններում ամենաերկար բլոկչեյնն ընդունվում է որպես միակ ճշմարիտը ողջ ցանցի համար:

Կարճ շղթան, չնայած իր ողջ ճիշտությանը, մերժվում է ցանցի բոլոր մասնակիցների կողմից։ Դրանից գործարքները վերադարձվում են լողավազան (եթե դրանք չեն հաստատվել մեկ այլում), և դրանց վերամշակումը սկսվում է նորից: Հանքագործը կորցնում է իր պարգևը, քանի որ նրա բլոկն այլևս գոյություն չունի:

Ցանցի աճի հետ «շատ քիչ հավանականից» նման զուգադիպությունները մտնում են «դե, երբեմն պատահում է» կատեգորիայի մեջ։ Հին ժամանակներն ասում են, որ եղել են դեպքեր, երբ միանգամից չորս բլոկից բաղկացած շղթա են գցել։

Դրա պատճառով հորինվել են շղթայի անապահովության երեք վերջի կանոններ

1. Մայնինգի համար պարգևները կարող են օգտագործվել միայն ստանալուց հետո ևս 20 հաստատված բլոկներից հետո: Bitcoin-ի համար սա մոտավորապես երեք ժամ է:

2. Եթե ձեզ բիթքոյններ են ուղարկվել, կարող եք դրանք օգտագործել որպես մուտքային նոր գործարքներ միայն 1-5 բլոկից հետո։

3. 1-ին և 2-րդ կանոնները պարզապես գրված են յուրաքանչյուր հաճախորդի կարգավորումներում: Ոչ ոք չի հետևում դրանց պահպանմանը։ Բայց ամենաերկար շղթայի օրենքը դեռ կջնջի ձեր բոլոր գործարքները, եթե դուք փորձեք խաբել համակարգին՝ դրանք չկատարելու համար:

Փորձում են խաբել բլոկչեյնը

Այժմ, երբ դուք գիտեք ամեն ինչ մայնինգի, բլոկչեյնի սարքի և ամենաերկար շղթայի կանոնի մասին, կարող եք հարց ունենալ՝ հնարավո՞ր է ինչ-որ կերպ հատուկ առաջ անցնել բլոկչեյնից՝ ինքներդ ստեղծելով ամենաերկար շղթան՝ դրանով իսկ հաստատելով ձեր կեղծ գործարքները:

Ենթադրենք, դուք ունեք աշխարհի ամենահզոր համակարգիչը: Google-ի և Amazon-ի տվյալների կենտրոնները հավաքվել են ձեր տրամադրության տակ, և դուք փորձում եք հաշվարկել այնպիսի շղթա, որը կդառնա ցանցի ամենաերկար բլոկչեյնը:

Դուք չեք կարող վերցնել և անմիջապես հաշվարկել շղթայի մի քանի բլոկ, քանի որ յուրաքանչյուր հաջորդ բլոկ կախված է նախորդից: Այնուհետև դուք որոշում եք հնարավորինս արագ հաշվել յուրաքանչյուր բլոկ ձեր հսկայական տվյալների կենտրոնների վրա՝ զուգահեռ այն բանին, թե ինչպես են մյուս բոլոր մասնակիցները շարունակում մեծացնել հիմնական բլոկչեյնը: Հնարավո՞ր է շրջանցել նրանց։ Հավանաբար այո։

Եթե ձեր հաշվողական հզորությունը ցանցի բոլոր մասնակիցների հզորության 50%-ից ավելին է, ապա 50% հավանականությամբ դուք կկարողանաք ավելի երկար շղթա կառուցել ավելի արագ, քան բոլոր մյուսները միասին վերցրած: Սա բլոկչեյնին խաբելու տեսականորեն հնարավոր միջոց է՝ հաշվարկելով գործարքների ավելի երկար շղթա: Այնուհետև իրական ցանցի բոլոր գործարքները կհամարվեն անվավեր, և դուք կհավաքեք բոլոր պարգևները և կսկսեք նոր հանգրվանը կրիպտոարժույթի պատմության մեջ, որը կոչվում է «բլոկչեյն բաժանում»: Մի անգամ կոդի սխալի պատճառով այդպես էր Ethereum-ը:

Բայց իրականում տվյալների ոչ մի կենտրոն չի կարող համեմատվել աշխարհի բոլոր համակարգիչների հզորության առումով: Մեկուկես միլիարդ չինացի սառցաբեկորներով, ևս մեկուկես միլիարդ սոված հնդիկներ՝ հանքարդյունաբերական ֆերմաներով և էժան էլեկտրաէներգիայով. սա հսկայական հաշվողական հզորություն է: Աշխարհում դեռ ոչ ոք միայնակ չի կարող մրցել նրանց հետ, նույնիսկ Google-ը:

Դա նման է փողոց դուրս գալուն և աշխարհի բոլոր մարդկանց համոզելու, որ դոլարն այժմ արժե 1 ռուբլի և ժամանակին եղիր, քանի դեռ լրատվամիջոցները քեզ կբացահայտեն: Եվ եթե ձեզ հաջողվի համոզել բոլորին, կարող եք փլուզել համաշխարհային տնտեսությունը։ Տեսականորեն հնարավոր չէ՞։ Բայց գործնականում, չգիտես ինչու, ոչ մեկին դա չհաջողվեց։

Բլոկչեյնը նույնպես հենվում է այս հավանականության վրա: Որքան շատ մասնակից-հանքագործներ, այնքան ավելի շատ անվտանգություն և վստահություն ցանցի նկատմամբ: Հետևաբար, երբ Չինաստանում ծածկվում է ևս մեկ խոշոր հանքարդյունաբերական ֆերմա, ցուցանիշը փլուզվում է: Բոլորը վախենում են, որ աշխարհում ինչ-որ տեղ կար մի չար հանճար, ով արդեն հավաքել էր հանքափորների լողավազան ~ 49% հզորությամբ:

Եզրակացություն

Blockchain-ը խստորեն սահմանված ալգորիթմների հավաքածու չէ: Դա մասնակիցների միջև կեղծ ցանց կառուցելու կառույց է, որտեղ ոչ ոք չի կարող վստահել ոչ մեկին։Ընթերցանության ընթացքում, հավանաբար, մեկ անգամ չէ, որ մտածել եք, որ «դուք կարող եք դա անել այսպես, և դա ավելի օգտակար կլինի»: Սա նշանակում է, որ դուք հասկանում եք բլոկչեյնը, շնորհավորում եմ:

Աշխարհի որոշ տղաներ նույնպես դա հասկանում էին և ցանկանում էին կատարելագործվել կամ հարմարվել որոշ կոնկրետ առաջադրանքների համար: Կրիպտոարժույթները նույնը չեն, թեև դրանք նույնպես շատ են: Ահա որոշ գաղափարների և նախագծերի կարճ ցուցակ, որոնք որոշակի ժողովրդականություն են ձեռք բերել բլոկչեյնի գաղափարի վերաիմաստավորման շնորհիվ:

Ethereum

«Եթերները» երկրորդ ամենահայտնի բառն է, որը դուք լսում եք կրիպտո-hype նորություններում՝ Bitcoin-ից հետո: Սովորական մարդկանց համար սա ևս մեկ կրիպտոարժույթ է և ամենաժամանակակից բան անելու միջոց, որը կոչվում է ICO: Կայքի մշակողները Ethereum-ը նկարագրում են որպես «բլոկչեյն ստեղծող ձեր կարիքների համար»: Սա նույնպես հնարավոր է, այո։

Բայց եթե դուք էլ ավելի խորանաք, եթերը պարզապես մետաղադրամների ցանց չէ: Սա հսկայական գլոբալ հաշվողական մեքենա է, որտեղ օգտատերերը կատարում են այլ մարդկանց ծրագրերի կոդը (խելացի պայմանագրեր)՝ ստանալով պարգև յուրաքանչյուր կատարվող տողի համար։ Եվ այս ամենը ապակենտրոնացված է, անխորտակելի և բլոկչեյնի բոլոր երաշխիքներով։

Ethereum-ի ու խելացի պայմանագրերի մասին կարելի է այնքան երկար խոսել, որ բավական կլինի հերթական նման գրառման համար։ Հետևաբար, մենք գործելու ենք թոփ բլոգերների ոճով. եթե այս գրառումն ակտիվորեն վերահրապարակվի և ռեթվիթվի, և մինչև ուրբաթ այն հավաքի առնվազն 1500 եզակի դիտում, ես կգրեմ շարունակություն Ethereum-ի և խելացի պայմանագրերի մասին։

Խորհուրդ ենք տալիս: