د Dummies لپاره Hyperledger پارچه

د شرکت لپاره د بلاکچین پلیټ فارم

د Dummies لپاره Hyperledger پارچه

ماسپښین مو پخیر، ګرانو لوستونکو، زما نوم نیکولای نیفیدوف دی، زه د IBM تخنیکي متخصص یم، پدې مقاله کې زه غواړم تاسو د بلاکچین پلیټ فارم - Hyperledger Fabric ته معرفي کړم. پلیټ فارم د تصدۍ کچې سوداګرۍ غوښتنلیکونو رامینځته کولو لپاره دی (د تصدۍ ټولګي). د مقالې کچه د غیر چمتو لوستونکو لپاره ده چې د معلوماتي ټکنالوجۍ لومړني پوهه لري.

Hyperledger Fabric د خلاصې سرچینې پروژه ده، د Hyperledger د خلاصې سرچینې پروژې یوه څانګه، د لینکس بنسټ کنسورشیم. Hyperledger Fabric په اصل کې د ډیجیټل شتمنیو او IBM لخوا پیل شوی و. د Hyperledger Fabric پلیټ فارم اصلي ځانګړتیا د کارپوریټ غوښتنلیکونو تمرکز دی. له همدې امله ، پلیټ فارم د لیږد لوړ سرعت او د دوی ټیټ لګښت ، او همدارنګه د ټولو ګډون کونکو پیژندنې په پام کې نیولو سره رامینځته شوی. دا ګټې د لیږد تصدیق خدماتو جلا کولو او د توزیع شوي راجسټری نوي بلاکونو رامینځته کولو سره ترلاسه کیږي ، او همدارنګه د سند واک کارولو او برخه اخیستونکو ته اجازه ورکول.

زما مقاله د Hyperledger Fabric په اړه د مقالو د لړۍ یوه برخه ده په کوم کې چې موږ پوهنتون ته د ننوتلو زده کونکو راجستر کولو لپاره د سیسټم پروژه تشریح کوو.

د هایپرلیجر فابریک عمومي جوړښت

Hyperledger Fabric یو توزیع شوی بلاکچین شبکه ده چې د مختلف فعال برخو څخه جوړه ده چې د شبکې نوډونو کې نصب شوي. د هایپرلیجر فابریک اجزا د ډاکر کانټینرونه دي چې په وړیا ډول د DockerHub څخه ډاونلوډ کیدی شي. Hyperledger Fabric هم د Kubernetes چاپیریال کې چلول کیدی شي.

د سمارټ قراردادونو لیکلو لپاره (د هایپرلیجر فابریک په شرایطو کې چین کوډ)، موږ ګولنګ کارولی (که څه هم هایپرلیجر فابریک تاسو ته اجازه درکوي نورې ژبې وکاروئ). د دودیز غوښتنلیک رامینځته کولو لپاره ، زموږ په قضیه کې ، Node.js د ورته هایپرلیجر فیبرک SDK سره کارول شوی و.

نوډونه د سوداګرۍ منطق چلوي (سمارټ قرارداد) - چین کوډ، د ویشل شوي راجستر حالت (لیجر ډیټا) ذخیره کوي او د نورو پلیټ فارم سیسټم خدمتونه اجرا کوي. یو نوډ یوازې یو منطقي واحد دی، مختلف نوډونه په ورته فزیکي سرور کې شتون لري. خورا ډیر مهم دا دی چې نوډونه څنګه ګروپ شوي (د باور وړ ډومین) او د بلاکچین شبکې کومې دندې چې دوی ورسره تړاو لري.

عمومي جوړښت داسې ښکاري:

د Dummies لپاره Hyperledger پارچه

انځور 1. د هایپرلیجر فابریک عمومي جوړښت

د کارونکي غوښتنلیک (د پیرودونکي سپارل) یو غوښتنلیک دی چې ورسره کاروونکي د بلاکچین شبکې سره کار کوي. د کار کولو لپاره، تاسو اړتیا لرئ چې واک ته لاړ شئ او په شبکه کې د مختلفو ډولونو کړنو لپاره مناسب حقونه ولرئ.

ملګري (نوډونه) په څو رولونو کې راځي:

  • پییر تایید کول یو نوډ دی چې د لیږد اجرا کول سموي (د سمارټ قرارداد کوډ اجرا کوي). د سمارټ قرارداد تایید او اجرا کولو وروسته، نوډ د اجرا کولو پایلې د خپل لاسلیک سره د مراجعینو غوښتنلیک ته بیرته راولي.
  • د امر کولو خدمت په څو نوډونو کې توزیع شوی خدمت دی ، دا د توزیع شوي لیجر نوي بلاکونو رامینځته کولو او د معاملاتو اجرا کولو لپاره ترتیب رامینځته کولو لپاره کارول کیږي. د امر کولو خدمت راجسټری ته نوي بلاکونه نه اضافه کوي (د ښه فعالیت لپاره ژمن همکارانو ته لیږدول شوي).
  • ژمن پیر - یو نوډ چې توزیع شوی راجسټری لري او راجسټری ته نوي بلاکونه اضافه کوي (کوم چې د امر کولو خدماتو لخوا رامینځته شوي). ټول ژمن همکاران د توزیع شوي لیجر محلي کاپي لري. ژمن ملګری، مخکې له دې چې په محلي توګه یو نوی بلاک اضافه کړي، د اعتبار لپاره په بلاک کې ټولې معاملې چک کوي.

د تایید پالیسي یوه پالیسي ده چې د اعتبار لپاره د لیږد معاینه کوي. دا پالیسۍ د نوډونو اړین سیټ تعریفوي په کوم کې چې سمارټ قرارداد باید اجرا شي ترڅو معامله د اعتبار وړ وپیژندل شي.

ویشل شوی راجسټری - لیجر - دوه برخې لري: WolrldState (د ریاست ډیټابیس هم ویل کیږي) او BlockChain.

BlockChain د بلاکونو سلسله ده چې د ټولو بدلونونو ریکارډونه ذخیره کوي چې د توزیع شوي لیجر شیانو کې پیښ شوي.

WolrldState د راجسټری توزیع شوی برخه ده چې د ټولو توزیع شوي راجسټری شیانو اوسني (خورا) ارزښتونه ذخیره کوي.

ورلډ سټیټ یو ډیټابیس دی، په بنسټیز نسخه کې - LevelDB یا ډیر پیچلي - CouchDB، چې د کلیدي ارزښت جوړه لري، د بیلګې په توګه: لومړی نوم - ایوان، تخلص - ایوانوف، په سیسټم کې د ثبت نیټه - 12.12.21/17.12.1961/XNUMX، نیټه زیږون - XNUMX/XNUMX/XNUMX، او داسې نور ورلډ سټیټ او توزیع شوي لیجر باید د ورکړل شوي چینل په ټولو غړو کې یو شان وي.

څرنګه چې Hyperledger Fabric یوه شبکه ده په کوم کې چې ټول برخه اخیستونکي پیژندل شوي او تصدیق شوي، دلته د تصدیق کولو یو وقف شوی واک کارول کیږي - CA (د تصدیق کولو اداره). CA د X.509 معیاري او عامه کلیدي زیربنا - PKI پر بنسټ کار کوي.

د غړیتوب خدمت هغه خدمت دی چې غړي یې تاییدوي چې یو شی د یو ځانګړي سازمان یا چینل پورې اړه لري.

معامله په ډیرو مواردو کې، په ویشل شوي لیجر کې د نوي معلوماتو ریکارډ دی.
د چینلونو یا سمارټ قراردادونو رامینځته کولو لپاره معاملې هم شتون لري. معامله د کارونکي غوښتنلیک لخوا پیل کیږي او توزیع شوي لیجر ته د لیکلو سره پای ته رسیږي.

چینل (چینل) یو تړل شوی فرعي شبکه ده چې د بلاکچین شبکې کې دوه یا ډیرو برخه اخیستونکو څخه جوړه شوې ده، د محدود، مګر پیژندل شوي، د ګډون کوونکو په حلقه کې د محرم معاملو ترسره کولو لپاره ډیزاین شوی. چینل د ګډون کونکو لخوا ټاکل کیږي، د هغې ویشل شوي لیجر، سمارټ قراردادونه، د امر کولو خدمت، ورلډ سټیټ. د چینل هر غړی باید چینل ته د لاسرسي اجازه ولري او د مختلف ډوله معاملو ترسره کولو حق ولري. اجازه ورکول د غړیتوب خدمت په کارولو سره ترسره کیږي.

د معاملو د اجرا کولو عادي سناریو

بیا، زه غواړم زموږ د پروژې د مثال په کارولو سره د لیږد اجرا کولو لپاره د یوې عادي سناریو په اړه وغږیږم.

زموږ د داخلي پروژې د یوې برخې په توګه، موږ د هایپرلیجر فابریک شبکه جوړه کړې، چې پوهنتونونو ته د ننوتلو زده کونکو ثبت او ثبتولو لپاره ډیزاین شوې. زموږ شبکه له دوو سازمانونو څخه جوړه ده، چې د پوهنتون A او B پوهنتون ملکیت لري. هره اداره د مراجعینو غوښتنلیک لري، او همدارنګه د خپل ژمنتیا او تایید کونکي پیر. موږ د عمومي امر کولو خدمت، د غړیتوب خدمت او د تصدیق ادارې خدمتونه هم کاروو.

1) د لیږد پیل

د کارونکي غوښتنلیک، د Hyperledger Fabric SDK په کارولو سره، د لیږد غوښتنه پیل کوي او غوښتنه د سمارټ قراردادونو سره نوډونو ته لیږي. غوښتنه کیدی شي د ویشل شوي لیجر (لیجر) څخه بدل یا لوستل شي. که موږ د پوهنتون زده کونکو لپاره د محاسبې لپاره د سیسټم زموږ د ازموینې ترتیب مثال په پام کې ونیسو، نو د پیرودونکي غوښتنلیک د A او B پوهنتونونو نوډونو ته د لیږد غوښتنه لیږي، کوم چې د سمارټ قرارداد په نوم د تایید پالیسۍ کې شامل دي. نوډ A یو نوډ دی چې په پوهنتون کې موقعیت لري چې راتلونکی زده کونکي راجستر کوي، او نوډ B یو نوډ دی چې په بل پوهنتون کې موقعیت لري. د توزیع شوي لیجر ته د لیږد خوندي کولو لپاره ، دا اړینه ده چې ټول نوډونه چې د سوداګرۍ منطق سره سم باید معامله تصویب کړي ، په بریالیتوب سره د ورته پایلې سره سمارټ قراردادونه اجرا کړي. د نوډ A کاروونکي غوښتنلیک، د Hyperledger Fabric SDK وسیلو په کارولو سره، د تایید پالیسي (د تصویب پالیسي) ترلاسه کوي او معلومه کوي چې کوم نوډونه د لیږد غوښتنه لیږل کیږي. دا یوه غوښتنه ده چې توزیع شوي لیجر ته د ځانګړي معلوماتو لوستلو یا لیکلو لپاره یو ځانګړي سمارټ تړون (چینکوډ فنکشن) ته زنګ ووهئ. په تخنیکي توګه، د پیرودونکي SDK اړونده فعالیت کاروي، د کوم چې API د لیږد پیرامیټونو سره یو اعتراض لیږدول کیږي، او د پیرودونکي لاسلیک هم اضافه کوي او دا ډاټا د پروتوکول بفر له لارې د gRPC څخه مناسب نوډونو ته لیږي (د ملګرو تایید کول).

د Dummies لپاره Hyperledger پارچه
انځور 2. د لیږد پیل

2) د سمارټ قرارداد اجرا کول

نوډونه (منظم همکاران) ، د لیږد ترسره کولو غوښتنه ترلاسه کولو سره ، د پیرودونکي لاسلیک چیک کړئ او که هرڅه سم وي ، نو دوی د غوښتنې ډیټا سره یو اعتراض اخلي او د سمارټ قرارداد اجرا کولو سمولیشن پرمخ وړي (چینکوډ فنکشن) د دې معلوماتو سره. یو سمارټ قرارداد د راکړې ورکړې سوداګریز منطق دی، د شرایطو او لارښوونو یو ټاکلی سیټ (زموږ په قضیه کې، دا د زده کونکي چک دی، ایا دا نوی زده کونکی دی، یا هغه دمخه ثبت شوی، د عمر چک، او نور). د سمارټ قرارداد اجرا کولو لپاره، تاسو به د ورلډ سټیټ ډیټا ته هم اړتیا ولرئ. د تایید کونکي په اړه د سمارټ قرارداد سمولیشن په پایله کې، دوه ډیټا سیټونه ترلاسه کیږي - د لوستلو سیټ او ولیکئ سیټ. د لوستلو سیټ او د لیکلو سیټ اصلي او نوي نړیوال سټیټ ارزښتونه دي. (نوی - په هغه معنی کې چې د سمارټ قرارداد سمولو له لارې ترلاسه شوی).

د Dummies لپاره Hyperledger پارچه
انځور 3. د سمارټ قرارداد اجرا کول

3) د پیرودونکي غوښتنلیک ته د معلوماتو بیرته راګرځول

د سمارټ قرارداد د سمولو وروسته، تایید کونکي ملګري د پیرودونکي غوښتنلیک ته لومړني معلومات او د سمولیشن پایله، او همدارنګه د RW سیټ د دوی د سند لخوا لاسلیک شوي. پدې مرحله کې، په ویشل شوي لیجر کې هیڅ بدلون شتون نلري. د پیرودونکي غوښتنلیک د تایید کونکي پیر لاسلیک تاییدوي، او د لیږد اصلي ډیټا چې لیږل شوي او بیرته راستانه شوي ډیټا پرتله کوي (دا دا چیک کوي چې ایا اصلي ډیټا چې په هغې کې معامله شوې وه فاسد شوې). که معامله یوازې د راجسټری څخه د معلوماتو لوستلو لپاره وه ، نو بیا د پیرودونکي غوښتنلیک د دې مطابق اړین لوستلو سیټ ترلاسه کوي ، او پدې کې لیږد معمولا د توزیع شوي راجسټری بدلولو پرته په بریالیتوب سره بشپړیږي. د راکړې ورکړې په صورت کې چې باید په راجستر کې ډاټا بدل کړي، د پیرودونکي غوښتنلیک اضافي چک کوي چې ایا د تایید پالیسي پلي شوې که نه. دا ممکنه ده چې د پیرودونکي غوښتنلیک د تایید پالیسۍ اجرا کولو پایله ونه ګوري، مګر په دې قضیه کې د هایپرلیجر فیبریک پلیټ فارم د راجسټری ته د لیږد اضافه کولو په مرحله کې د نوډونو (کمیټینګ پیرز) د پالیسیو چک کولو لپاره چمتو کوي.

د Dummies لپاره Hyperledger پارچه
انځور 4. د پیرودونکي غوښتنلیک ته د معلوماتو بیرته راګرځول

4) د آرډر کولو ملګرو ته د RW سیټونو لیږل

د پیرودونکي غوښتنلیک د اړونده معلوماتو سره معامله د امر کولو خدمت ته لیږي. پدې کې د RW سیټ، د تایید کونکو ملګرو لاسلیکونه، او د چینل ID شامل دي.

د امر کولو خدمت - د نوم پراساس ، د دې خدمت اصلي دنده په سم ترتیب کې د راتلونکو لیږدونو رامینځته کول دي. همدارنګه د توزیع شوي راجسټری د نوي بلاک رامینځته کول او ټولو ژمنو نوډونو ته د نوي تولید شوي بلاکونو تضمین تضمین کول ، پدې توګه په ټولو نوډونو کې د ډیټا مستقلیت ډاډمن کول چې توزیع شوي راجسټري لري (کمیټینګ پیرز). په ورته وخت کې، د امر کولو خدمت پخپله په هیڅ ډول راجستر نه بدلوي. د امر کولو خدمت د سیسټم یوه مهمه برخه ده، نو دا د څو نوډونو کلستر دی. د امر کولو خدمت د اعتبار لپاره معامله نه ګوري، دا په ساده ډول د یو ځانګړي چینل ID سره معامله مني، په ځانګړي ترتیب کې راتلونکی لیږد تنظیموي، او له دوی څخه د ویشل شوي لیجر نوي بلاکونه جوړوي. یو امر کولو خدمت کولی شي په ورته وخت کې څو چینلونو ته خدمت وکړي. د امر کولو خدمت کې د کافکا کلستر شامل دی، کوم چې د راکړې ورکړې سمه (بدل شوې) قطار ساتي (7 ټکی وګورئ).

د Dummies لپاره Hyperledger پارچه
انځور 5. د آرډر کولو ملګرو ته د RW سیټونو لیږل

5) تولید شوي بلاکونه ژمن ملګري ته لیږل

د امر کولو خدمت کې رامینځته شوي بلاکونه د شبکې ټولو نوډونو ته خپریږي. هر نوډ، د نوي بلاک ترلاسه کولو سره، دا د تایید کولو پالیسۍ سره د موافقت لپاره چک کوي، چک کوي چې ټول تایید کونکي ملګري د سمارټ قرارداد سمولیشن په پایله کې ورته پایله ترلاسه کړې (رایټ سیټ)، او دا هم ګوري چې ایا اصلي ارزښتونه لري د راکړې ورکړې له پیل راهیسې بدل شوی (دا دی - د لوستلو سیټ - د نړیوال سټیټ څخه د سمارټ قرارداد لخوا لوستل شوي ډاټا). که ټول شرایط پوره شي، معامله د اعتبار وړ په توګه په نښه کیږي، که نه، معامله د اعتبار وړ نه وي.

د Dummies لپاره Hyperledger پارچه
انځور 6. ژمن ملګري ته د تولید شوي بلاکونو لیږل

6) راجسټری ته د بلاک اضافه کول

هر نوډ د توزیع شوي لیجر په محلي کاپي کې لیږد اضافه کوي، او که چیرې لیږد د اعتبار وړ وي، نو د Write Set په ترتیب سره د ورلډ سټیټ (اوسني حالت) لپاره پلي کیږي، د شیانو نوي ارزښتونه چې د لیږد لخوا اغیزمن شوي لیکل کیږي. . که چیرې یوه معامله داسې نښه ترلاسه کړي چې اعتبار نلري (د بیلګې په توګه، په ورته بلاک کې د ورته شیانو سره دوه لیږدونه شتون لري، نو یو لیږد به اعتبار نلري، ځکه چې اصلي ارزښتونه دمخه د بل لیږد لخوا بدل شوي. ). دا معامله د غلط مارکر سره توزیع شوي لیجر کې هم اضافه شوې ، مګر د دې لیږد لیکلو سیټ د نړۍ په اوسني حالت کې نه پلي کیږي او په وینا یې هغه توکي نه بدلوي چې په معامله کې برخه اخلي. له هغې وروسته ، د کارونکي غوښتنلیک ته یو خبرتیا لیږل کیږي چې معامله د تل لپاره توزیع شوي لیجر کې اضافه شوې ، په بیله بیا د لیږد حالت ، دا دا دی چې ایا دا معتبر دی یا نه ...

د Dummies لپاره Hyperledger پارچه
انځور 7. په ثبت کې د بلاک اضافه کول

د خدمت امر کول

د امر کولو خدمت د کافکا کلستر لري چې اړونده زوکیپر نوډونه او د آرډرینګ خدماتو نوډونه (OSN) لري چې د آرډرینګ خدماتو پیرودونکو او کافکا کلستر ترمنځ ناست دي. د کافکا کلستر یو توزیع شوی، د غلطۍ زغمونکي جریان (پیغام) مدیریت پلیټ فارم دی. په کافکا کې هر چینل (موضوع) د ریکارډونو بدلیدونکی ترتیب دی چې یوازې د نوي ریکارډ اضافه کولو ملاتړ کوي (د موجوده یو حذف کول ممکن ندي). د موضوع جوړښت یوه بیلګه په لاندې ډول وړاندې کیږي. دا د کافکا ملکیت دی چې د بلاکچین پلیټ فارم جوړولو لپاره کارول کیږي.

د Dummies لپاره Hyperledger پارچه
له kafka.apache.org څخه اخیستل شوی

  • انځور 8. د ترتیب کولو خدمت موضوع جوړښت*

ګټورې اړیکې

یوټیوب - د Hyperledger پروژې سره د سوداګرۍ لپاره د بلاکچین جوړول
د هایپرلیجر فیبرک اسناد
Hyperledger fabric: د اجازه ورکړل شوي بلاکچینونو لپاره ویشل شوی عملیاتي سیسټم

اعترافونه

زه له خپلو همکارانو څخه د مقالې په چمتو کولو کې د دوی د مرستې لپاره خپله ژوره مننه کوم:
نیکولای مرینا
ایګور خاپوف
دمیتري ګورباچوف
الکساندر زیمتسوف
ایکاترینا ګوسیوا

سرچینه: www.habr.com

Add a comment