پروتکل بلاک چین چیست و چگونه کار میکند؟
فناوری بلاک چین به نقطهای از حیات خود رسیده است که صنایع مختلف به استفاده از آن روی آوردهاند. این شرکتها و سازمانهای مختلف به دنبال یافتن راههایی هستند که بتوانند از طبیعت غیرمتمرکز بودن و ویژگیهای خاص دیگر بلاک چین بهره ببرند. اکنون که بلاک چین پای خود را فراتر از بیت کوین و ارزهای دیجیتال گذاشته و توانسته به صنایع مختلف راه یابد، ضروری است که با مفاهیم پایه آن همچون پروتکلها آشنا شویم.
پروتکل بلاک چین به قوانین و مقرراتی گفته میشود که برای رسیدن به طبیعت غیرمتمرکز و توزیعشده این فناوری که برای داشتن تراکنشهای ایمن ضروری هستند، توسط اجزای آن به اجرا در میآید. اگر این تعریف و اصطلاحات به کار رفته در آن برایتان گیجکننده است نگران نباشید! در این مقاله قصد داریم ضمن تشریح همه این اصطلاحات با زبانی ساده و همراه با مثال، پروتکل بلاک چین را برایتان تعریف کنیم.
پروتکل چیست؟
«پروتکل» (Protocol) در علوم کامپیوتر به مجموعهای از قوانین و رویهها گفته میشود که چگونگی انتقال داده بین دو یا چند وسیله الکترونیکی را مشخص میکنند. به عبارت دیگر این قوانین مشخص میکنند که ساختار دادههایی که قرار است بین این وسایل الکترونیکی ردوبدل شوند چه شکلی بوده و اینکه طرفین چگونه آن را ارسال و دریافت کنند.
این یک تعریف کتابی از پروتکل بود ولی بیایید سادهتر و ملموستر آن را تعریف کنیم. فرض کنیم دو نفر به نامهای علی و حسین که به چندین زبان مسلط هستند میخواهند با یکدیگر به انتقال اطلاعات بپردازند. منظور از انتقال اطلاعات یعنی برای مثال علی میخواهد به حسین بگوید که فردا هوا آفتابی است.
ما به آنها میگوییم که این انتقال اطلاعات باید به صورت یک پیام متنی صورت بگیرد. همچنین تعیین میکنیم که این پیام حتما باید به زبان فارسی ولی با الفبای انگلیسی (فینگلیش) نوشته شود. در واقع ما یک سری قوانین و مقررات برای انتقال اطلاعات بین این نفر تعیین کردیم که به منزله همان پروتکل در تعریف اول است.
دلیل اهمیت پروتکل در این است که یک چارچوب مشخص برای ارتباط دستگاههای مختلف ایجاد میکند. این یعنی هر دستگاه جدیدی که قصد ارتباط با دیگر دستگاهها را داشته باشد، میداند که باید از چه قوانینی پیروی کند تا مطمئن باشد که طرفین دیگر زبان او را میفهمند.
پروتکل در بلاک چین
پروتکل در بلاک چین هم مفهوم مشابهی دارد. همانطور که میدانیم بلاک چین شبکهای از چندین دستگاه مختلف به نام «گره» (Node) است که به وسیله اینترنت به یکدیگر متصل هستند. این دستگاهها یا به عبارت دیگر گرهها میتوانند رایانههای شخصی یا سختافزارهای مخصوص باشند. در واقع بلاک چین شبیه دفتری است که در آن تمام سوابق مربوط به ارسال و دریافت اطلاعات به شکل توزیعشده و نفربهنفر ثبت میشود که این ثبت شدن تنها بعد از تأیید توسط همه اعضا صورت میگیرد.
این دفتر برای اینکه قابل خواندن توسط همه گرهها باشد باید از یک سری قوانین از پیشتعیین شده پیروی کند که مورد توافق همه طرفین است. قوانینی مثل اینکه تراکنشها به چه صورت باید تأیید شوند، از چه الگوریتمی برای ارتباط گرهها با یکدیگر بهره برده شود یا رابط برنامهنویسی آن به چه شکل باشد.
این قوانین که در شبکه بلاک چین اجرایی میشوند پروتکل بلاک چین نام دارند.
اصطلاحات مورد نیاز برای درک پروتکل
برای اینکه بتوانیم بیشتر در مورد پروتکلها در بلاک چین صحبت کنیم و شما هم مشکلی در درک مفاهیم نداشته باشید بهتر است ابتدا با چند اصطلاح مهم در این رابطه آشنا شویم.
- دفاتر توزیع شده یا Distributed Ledgers: دفاتر توزیعشده نوعی پایگاه داده هستند که همانطور که از اسمشان پیداست در بین همه طرفین شبکه توزیع شدهاند. این یعنی پایگاه داده در یک مکان واحد ذخیره نشده و ممکن است هر کدام از اعضا بخشی از آن یا یک کپی از کل آن را داشته باشند. در این نوع پایگاه دادهها همه سوابق یکی پس از دیگری و به ترتیب نوشته میشوند.
- قراردادهای هوشمند یا Smart Contracts: مجموعهای از قوانین هستند که این قوانین در قالب یک تکه کد برنامهنویسی (اسکریپت) نوشته میشود و میتوان از آنها در بلاک چین استفاده کرد. یک مثال کوچک از قراردادهای هوشمند این است که یک اسکریپت یا قطعه کدی بنویسیم که اگر برای مثال دمای هوا از یک عدد مشخص بالاتر رفت تراکنش مورد نظر ما را اجرا کند.
- الگوریتمهای اجماع یا Consensus Algorithms: در بلاک چین چندین اعضا برای تأیید تراکنش با یکدیگر همکاری میکنند. منظور از الگوریتم اجماع این است که این اعضا بر چه اساس و به چه شکلی با یکدیگر بر سر تأیید یا رد تراکنشها توافق کنند.
- کوینها و توکنها Coins and Tokens: هر پروتکل بلاک چین برای ادامه حیات و فعالیت درست خود به یک ارز دیجیتال محلی نیاز دارد. از این ارزها برای تشویق و پاداش دادن به گرههایی که به حیات شبکه کمک میکنند هم استفاده میشود. به این ارزها کوین و توکن هم گفته میشود که علیرغم یکی دانستن آنها توسط بسیاری از فعالان این حوزه، یک تفاوت اساسی در بینشان وجود دارد.
فلسفه وجودی کوین و توکن کمک به حیات بلاک چین است. عملکرد هردوی آنها هم تقریبا یکی است. تنها تفاوت کوین و توکن در سطحی است که داخل پروتکل تعریف میشوند. این یعنی کوینها در پایینترین سطح پروتکل تعریف میشوند. به عبارت دیگر کوینها ارزهای محلی یک بلاک چین هستند.
مثلا ارز محلی شبکه اتریوم، اتر (Ether) نام دارد. در طرف دیگر توکنها توسط خود پروتکل تعریف نشدهاند. در حقیقت توکنها در سطوح بالاتر و توسط قراردادهای هوشمند تعریف میشوند. به عنوان مثالی از یک توکن هم میتوان به توکن BAT اشاره کرد که روی شبکه اتریوم ایجاد شده و فعالیت میکند.
- حمله ۵۱ درصدی (51% Attacks): فرد خرابکاری که بیش از ۵۰ درصد گرههای شبکه را در کنترل خود دارد میتواند سابقه تراکنشها را دستکاری کرده و امنیت شبکه را به خطر بیندازد.
برای درک بهتر حمله ۵۱ درصدی به این مثال توجه کنید. در شبکه بلاک چین از گرهها انتظار میرود که بعد از تأیید تراکنشها و تولید بلاک جدید آن را به کل شبکه ارسال کنند تا همه نسخههای بلاک چین در همه طرفین یکسان شوند و اینگونه نباشد که یک گره بلاک چینی با بلاکهای بیشتر داشته باشد. حال اگر یک گره یا گروهی از چند گره بتوانند کنترل بیش از ۵۰ درصد شبکه را در اختیار بگیرند، میتوانند بلاکهایی را به صورت خصوصی ایجاد کرده و به سایر اعضای شبکه اعلام نکنند.
اگر این اتفاق بیفتد شبکه هنوز هم به فعالیت خود مثل سابق ادامه میدهد ولی گره یا گرههای خرابکار میتوانند ابتدا دارایی خود را در بلاک چین اصلی صرف کنند و سپس دوباره آن را روی بلاک چین خصوصیِ ایجادشده خرج کنند. به این مسئله «مشکل دوبار خرج کردن» (Double Spending) هم میگویند.
نکته جالب اینجاست که موضوع به همین جا ختم نمیشود. این گره یا گرهها میتوانند دوباره با ارسال نسخه خصوصی بلاک چین به کل شبکه زنجیره بزرگتری ایجاد کنند. از آنجایی که در بلاک چین همیشه بزرگترین زنجیره درستترین محسوب میشود، بقیه اعضای شبکه هم این بلاک چین را به عنوان بلاک چین اصلی خواهند شناخت.
حال تراکنشهایی که قبل از این کار روی زنجیره اصلی صورت گرفتهاند روی زنجیره جدید موجود نخواهند بود زیرا در زمان پردازش آنها زنجیره فعلی به صورت خصوصی و در اختیار گره یا گرههای خرابکار بود. این یعنی در واقع این تراکنشها لغو میشوند و گره یا گرههای خرابکار میتوانند دارایی آن افراد را بالا بکشند.
انواع پروتکل های بلاک چین
حال که با برخی از اصطلاحات ضروری برای درک پروتکلهای بلاک چین آشنا شدیم، میتوانیم بیشتر در مورد انواع مختلف آنها صحبت کنیم. نکته مهم این است که بیش از صدها پروتکل وجود دارد که مطالعه و درک و فهم همه آنها امکانپذیر نخواهد بود. بااینحال ۵ مورد از مهمترین و شناختهشدهترین پروتکلهای بلاک چین در ادامه مطلب معرفی خواهد شد.
Hyperledger
پروتکل «هایپرلجر» (Hyperledger) پروژه متنبازی است که با هدف فراهم کردن تمام ابزار مورد نیاز برای پیادهسازی سریع و کارای بلاک چین برای سازمانهای مختلف، ایجاد شده است. از این پروتکل معمولا در برنامههای نرمافزاری مبتنی بر بلاک چین استفاده میشود و دلیل آن هم دارا بودن تمام کتابخانههای برنامهنویسی مورد نیاز است. بنیاد لینوکس از بزرگترین حامیان هایپرلجر بوده و تلاشهای زیادی در جهت بهبود آن انجام داده است. همچنین از آنجایی که هایپرلجر با سیستم عامل لینوکس همخوانی زیادی دارد، میتوان از آن در همان سرورهای فعلی سازمانها که اغلب لینوکسی هستند، استفاده کرد.
Multichain
«مالتی چین» (Multichain) دومین پروتکلی است که در این مقاله آن را معرفی میکنیم. این پروتکل برای کمک به سازمانها و شرکتهای تجاری در ایجاد بلاک چینهای خصوصی ایجاد شده است. بلاک چینهای ایجاد شده با مالتی چین تراکنشهای کاراتری به همراه دارند و میتوان از آن برای ساخت اپلیکیشنهای جدید در سامانههایی که از «الگوریتم اثبات کار» (Proof-of-work) استفاده میکنند، کمک گرفت. مالتی چین که توسط یک شرکت خصوصی طراحی و توسعه داده شده میتواند رابط برنامهنویسی یا همان API خود را در اختیار شرکتها قرار دهد تا به کمک آن بتوانند سرعت کارهای خود را افزایش دهند.
ویژگیای که مالتی چین را از دیگر رقبایش متمایز میکند این است که میتوان از آن در کنار استفاده از ارزهای فیات مثل دلار و یورو یا طلا استفاده کرد. این درحالی است که بیشتر پروژههای فعال در حوزه رمزارزها با هدف جایگزینی کامل ارزهای فیزیکی فعالیت میکنند.
Enterprise Ethereum
اتریوم نسخهای از نرمافزار خود را طراحی کرده که مناسب استفاده شرکتهای تجاری است. این نسخه که «اتریوم سازمانی» (Enterprise Ethereum) نام دارد با هدف افزایش استفاده شرکتها و کسبوکارها از فناوری بلاک چین ایجاد شده است. به لطف پروتکل اتریوم سازمانی، شرکتها میتوانند بهسرعت برنامههای مقیاسپذیری برای انتقال داراییهای دیجیتال ایجاد کنند.
مزیت اصلی اتریوم سازمانی در این است که به کمک آن میتوان علاوه بر داشتن تمام مزایای اتریوم اصلی، نسخههای فرعی از آن را خصوصیسازی کرده و طبق سلیقه و کاربرد خود آن را تغییر دهند. البته ناگفته نماند که کسب مجوز ایجاد نسخههای فرعی از روی کدهای اتریوم اصلی کار چندان راحتی نیست ولی نسخه اتریوم سازمانی راهحلی است که برای دور زدن این مشکل به وجود آمده است.
Corda
پروتکل «کوردا» (Corda) یکی از رقبای اصلی مالتی چین است. بیشتر اپلیکیشنهایی که با کوردا ساخته شدهاند در زمینههای مالی و بانکی بودهاند. بااینحال خدمات کوردا تنها به این حوزه ختم نمیشود و سازمانهای مختلف با موضوعات مختلف میتوانند از مزایای این پروتکل بهره ببرند. نکته جالب در مورد کوردا این است که این پروتکل توسط کنسرسیوم بانکی R3 هم مورد حمایت قرار گرفته و از همین رو بسیاری از کسبوکارهای فعال در بازارهای مالی از این پروتکل استفاده میکنند.
Quorum
پروتکل «کوروم» (Quorum) هم مانند کوردا بیشتر با هدف کمک به کسبوکارهای حوزه بازارهای مالی ایجاد شده است. دلیل مهم بودن پروتکل کوروم حمایت کافی از جانب جامعه بازارهای مالی است که اعتبار خاصی به آن بخشیده است. برای مثال «جیپی مورگان چیس» (J.P. Morgan Chase) که یکی از شرکتهای خدمات مالی و بانکی معروف جهان به شمار میرود، بارها از کوروم حمایت کرده است. علاوه بر این، بانکهای دیگر نیز حمایت خود از این پروتکل را اعلام کردهاند.
بااینحال کوروم یک پروژه متنباز است و این یعنی هرکسی میتواند به دلخواه خود از آن در هر حوزهای استفاده کند. نکته دیگر این است که چون کوروم با تغییر در کدهای اتریوم پدید آمده ارتباط نزدیکی هم با این بلاک چین دارد.
سخن پایانی
زمانی که میخواهیم روی یک پروژه نرمافزاری مبتنی بر بلاک چین کار کنیم، مهمترین مرحله انتخاب پروتکل بلاک چین است. پروتکلها از این نظر اهمیت دارند که مشخص میکنند مقیاس پروژه و قابلیتها تا چه میزان خواهد بود. این پروتکلها حاصل سالها تلاش مهندسان و محققان مختلف است که در قالب یک چارچوب مشخص در اختیار ما قرار دادهاند. به جای اینکه بخواهیم همه چیز را خودمان از ابتدا اختراع کنیم منطقیترین راه استفاده از یکی از این پروتکلهاست.
از همین رو در این مقاله ۵ مورد از شناختهشدهترین پروتکلهای بلاک چین را برایتان معرفی کردیم و تا حدودی در مورد مزایا و معایب هرکدام هم حرف زدیم. در کل پروتکل بلاک چین مبحث تخصصی و پیشرفتهای است که برای بسیاری از سرمایهگذاران ارزهای دیجیتال شناخت آنها ضرورتی ندارد. با این حال سعی کردیم در ابتدای مقاله تعریف مقدماتی از آن بیاوریم و در انتها نیز به صورت تخصصیتر در مورد انواع آن صحبت کنیم.
برای دریافت مشاوره تخصصی رایگان از کارشناسان ما، اطلاعات خواسته شده رو تکمیل فرمایید.