Corda - բաց կոդով բլոկչեյն բիզնեսի համար

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

Դիտարկենք Corda-ի հիմնական հատկանիշները և նրա յուրահատկությունը մյուս բլոկչեյնների միջև.

  • Corda-ն չունի սեփական կրիպտոարժույթ:
  • Corda-ն չի օգտագործում հանքարդյունաբերության հայեցակարգը և Proof-of-Work համակարգը:
  • Տվյալների փոխանցումը կատարվում է միայն գործարքի/պայմանագրի կողմերի միջև: Չկա գլոբալ հեռարձակում բոլոր ցանցային հանգույցներին:
  • Չկա կենտրոնական վերահսկիչ, որը կառավարում է բոլոր գործարքները:
  • Corda-ն աջակցում է կոնսենսուսի տարբեր մեխանիզմների:
  • Մասնակիցների միջև կոնսենսուս է ձեռք բերվում անհատական ​​համաձայնագրի/պայմանագրի մակարդակով, այլ ոչ թե ամբողջ համակարգի մակարդակով:
  • Գործարքը հաստատվում է միայն դրա հետ առնչվող մասնակիցների կողմից:
  • Corda-ն ուղիղ կապ է առաջարկում մարդու պաշտոնական իրավական լեզվի և խելացի պայմանագրի կոդի միջև:

Գրացուցակը

Կորդայում մատյան հասկացությունը սուբյեկտիվ է: Չկա տվյալների միասնական կենտրոնական պահոց: Փոխարենը, յուրաքանչյուր հանգույց պահպանում է իրեն հայտնի փաստերի առանձին տվյալների բազա:

Օրինակ, պատկերացրեք 5 հանգույցներից բաղկացած ցանց, որտեղ շրջանագիծը հանգույցին հայտնի փաստ է:

Corda - բաց կոդով բլոկչեյն բիզնեսի համար

Ինչպես տեսնում ենք, Էդը, Կարլը և Դեմին գիտեն 3-րդ փաստի մասին, բայց Ալիսն ու Բոբը նույնիսկ տեղյակ չեն այդ մասին։ Corda-ն երաշխավորում է, որ ընդհանուր փաստերը պահվում են յուրաքանչյուր հանգույցի տվյալների բազայում, և տվյալները կլինեն նույնական։

Պետությունները

Պետությունն է անփոփոխելի օբյեկտ, որը ներկայացնում է փաստ, որը հայտնի է մեկ կամ մի քանի ցանցային հանգույցներին ժամանակի որոշակի կետում:

Պետությունները կարող են պահել կամայական տվյալներ, օրինակ՝ բաժնետոմսեր, պարտատոմսեր, փոխառություններ, նույնականացման տվյալներ։

Օրինակ՝ հետևյալ պետությունը ներկայացնում է IOU՝ համաձայնագիր, որ Ալիսը Բոբին X գումար է պարտք.

Corda - բաց կոդով բլոկչեյն բիզնեսի համար
Փաստի կյանքի ցիկլը ժամանակի ընթացքում ներկայացված է վիճակների հաջորդականությամբ: Երբ անհրաժեշտ է թարմացնել ներկայիս վիճակը, մենք ստեղծում ենք նորը և ներկայիսը նշում ենք որպես պատմական։

Corda - բաց կոդով բլոկչեյն բիզնեսի համար

Գործարքի

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

Գործարքը կավելացվի մատյանում, եթե այն.

  • պայմանագրային ուժի մեջ
  • ստորագրված բոլոր պահանջվող մասնակիցների կողմից
  • չի պարունակում կրկնակի ծախսեր

Corda-ն օգտագործում է UTXO (չծախսված գործարքի ելք) մոդելը, որում գրանցամատյանների յուրաքանչյուր վիճակ անփոփոխ է:

Երբ ստեղծվում է գործարք, նախորդ գործարքի ելքային վիճակը (ըստ հեշի և ինդեքսի) փոխանցվում է մուտքագրմանը:

Corda - բաց կոդով բլոկչեյն բիզնեսի համար
Գործարքի կյանքի ցիկլը.

  • Ստեղծում (Այս պահին գործարքը պարզապես մատյանը թարմացնելու առաջարկ է)
  • Ստորագրություններ հավաքել (Գործարքի պահանջվող կողմերը հաստատում են թարմացման առաջարկը՝ գործարքին ստորագրություն ավելացնելով)
  • Գործարքը կատարել մատյանում

Երբ գործարքն ավելացվում է մատյանում, մուտքային վիճակները նշվում են որպես պատմական և չեն կարող օգտագործվել ապագա գործարքներում:

Corda - բաց կոդով բլոկչեյն բիզնեսի համար
Բացի մուտքային և ելքային վիճակներից, գործարքը կարող է պարունակել.

  • Հրամաններ (գործարքի պարամետր, որը ցույց է տալիս գործարքի նպատակը)
  • Հավելվածներ (տոնական օրացույց, արժույթի փոխարկիչ)
  • Ժամկետային պատուհաններ (գործողության ժամկետ)
  • Նոտար (Նոտար, գործարքները վավերացնող ցանցի հատուկ մասնակիցներ)

Corda - բաց կոդով բլոկչեյն բիզնեսի համար

Պայմանագրեր

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

Corda-ում պայմանագրերը գրված են ցանկացած JVM լեզվով (օրինակ՝ Java, Kotlin):

class CommercialPaper : Contract {
    override fun verify(tx: LedgerTransaction) {
        TODO()
    }
}

Դասից ժառանգություն է պետք Պայմանագիր և անտեսել մեթոդը ստուգել. Եթե ​​գործարքը անվավեր է, ապա բացառություն կկատարվի:

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

Կորդայում պայմանագրերը կատարվում են այսպես կոչված ավազատուփում` մի փոքր փոփոխված JVM, որը երաշխավորում է պայմանագրերի վճռական կատարումը:

հոսքեր

Ցանցային հանգույցների միջև հաղորդակցությունն ավտոմատացնելու համար ավելացվել են թելեր:

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

Corda - բաց կոդով բլոկչեյն բիզնեսի համար

Երբեմն տևում է ժամեր, օրեր, մինչև գործարքը ստորագրվի բոլոր կողմերի կողմից և մտնի մատյան: Ի՞նչ կլինի, եթե անջատեք գործարքին մասնակցող հանգույցը: Թելերն ունեն անցակետեր, որոնցում շարանի վիճակը գրվում է հանգույցի տվյալների բազայում։ Երբ հանգույցը վերականգնվում է ցանցում, այն կշարունակվի այնտեղ, որտեղ մնացել է:

Համաձայնություն

Գրասենյակ մտնելու համար գործարքը պետք է հասնի 2 համաձայնության՝ վավերականություն և եզակիություն:

Գործարքի վավերականության մասին որոշումը կայացնում են միայն դրան անմիջականորեն ներգրավված կողմերը:

Նոտարական հանգույցները ստուգում են գործարքի եզակիությունը և կանխում կրկնակի ծախսերը:

Եկեք պատկերացնենք, որ Բոբն ունի 100 դոլար և ցանկանում է 80 դոլար փոխանցել Չարլիին, իսկ 70 դոլար՝ Դենին՝ օգտագործելով նույն մուտքային վիճակը:

Corda - բաց կոդով բլոկչեյն բիզնեսի համար

Կորդան ձեզ թույլ չի տա նման հնարք կատարել: Չնայած գործարքը կանցնի վավերականության ստուգում, եզակիության ստուգումը չի հաջողվի:

Ամփոփում

Corda հարթակը, որը մշակվել է R3 բլոկչեյն կոնսորցիումի կողմից, բլոկչեյն տեխնոլոգիայի մաքուր օգտագործման դեպք չէ: Corda-ն բարձր մասնագիտացված գործիք է ֆինանսական հաստատությունների համար:

Source: www.habr.com

Добавить комментарий