پروتکل‌‌های بلاک چین‌‌ چگونه عمل می‌‌کنند؟

چرا باید با پروتکل‌‌ها شروع کنیم؟ چون که آن‌‌ها برای تکنولوژی بلاک چین‌‌ بسار حیاتی هستند. وقتی ساتوشی ناکاموتو اولین مقاله‌‌ی خود را در 2008 منتشر کرد، نوآوری حقیقی نهفته در بیت کوین را پروتکل‌‌های بلاک چین‌‌ دانست؛ پروتکل‌‌هایی که به شبکه‌‌ی بیت کوین قدرت می‌‌بخشند. قبل از این که اصول پروتکل‌‌های بلاک چین‌‌ را بشکافیم لازم است در مورد پروتکل‌‌های اینترنت مدرن (که پروتکل‌‌های بلاک چین‌‌ بدون آن‌‌ها هرگز وجود نداشتند) حرف بزنیم. اگر اطلاعات جامعی در این مورد دارید، می‌‌توانید از این بخش عبور کنید!

0 149

پروتکل‌‌های اینترنت

اولین سوالی که پیش می‌‌آید این است: پروتکل چیست؟ یک پروتکل روشی برای انتقال داده بین رایانه‌‌ها از طریق اینترنت است. 3 پروتکل به اینترنت مدرن قدرت بخشیده‌اند: (“HyperText Transfer Protocol (“HTTP”)، Transmission Control Protocol (“TCP” و Internet Protocol (“IP”). TCP و IP پروتکل‌‌هایی هستند که از طریق شبکه اطلاعات را می‌‌فرستند. HTTP پروتکلی application-level و برای مرورگرهای وب است. منطقی است اگر کمی گیج شده باشید. اصلا ترس به دلتان راه ندهید!

پروتکل‌‌های بلاک چین‌‌

منبع: https://www.researchgate.net/  آپلودشده توسط استان میرزوا

TCP/IP

Transmission Control Protocol و Internet Protocol روی هم رفته به عنوان internet protocol stack یا پشته پروتکل اینترنت شناخته می‌‌شوند. این پروتکل‌‌ها از طریق شبکه اطلاعات را می‌‌فرستند و به همین دلیل این نام را گرفته اند. شکل به خوبی نحوه‌‌ی کارکرد آن‌‌ها را نشان می‌‌دهد. TCP اطلاعات را از اپلیکیشن شما می‌‌گیرد، آن را به بسته‌‌های کوچک‌‌تر داده تقسیم می‌‌کند، به آن‌‌ها سربرگ می‌‌زند تا بتوانند دوباره در کامپیوتر مقصد به هم متصل شوند، و این بسته‌‌های داده را به پروتکل اینترنت (IP) می‌‌فرستد. IP این بسته‌‌ها را می‌‌گیرد، به آن‌‌ها سربرگ IP وصل می‌‌کند (این سربرگ شامل آدرس IP کامپیوترهای مبدا و مقصد است) و آن‌‌ها را از طریق اینترنت عبور می‌‌دهد. به محض رسیدن بسته‌‌ها به مقصد، IP کامپیوتر دوم آن‌‌ها را از طریق TCP منتقل و به شکل مناسبی به هم متصل می‌‌کند.

HTTP

همان طور که توضیح دادم، HyperText Transfer Protocol یک پروتکل application-level است؛ یعنی، داده را به پشته پروتکل TCP/IP می‌‌فرستد (و آن‌‌ها داده را از طریق شبکه، هدایت می‌‌کنند). HTTP پروتکلی است که به مرورگرهای وب اجازه‌‌ی همکاری با سرور را می‌‌دهد. بگذارید یک مثال بزنم: وقتی یک آدرس URL را در گوگل کروم تایپ می‌‌کنید، مرورگر وب به یک Domain Name Server وصل می‌‌شود و آدرس IP وبسایت مورد نظر را شناسایی می‌‌کند. پس از شناسایی آن آدرس، مرورگر از طریق پشته پروتکل TCP/IPیک درخواست HTTP به سرور می‌‌فرستد. اگر آن صفحه موجود باشد، سرور وب محتوای آن را به مرورگر می‌‌فرستد و مرورگر هم آن را بر روی صفحه به شما نشان می‌‌دهد. اگر صفحه وجود نداشته باشد، سرور خطای HTTP 404 نشان می‌‌دهد؛ که یعنی این صفحه وجود ندارد (فکر کنم همه‌‌ی ما این خطای آزاردهنده را تجربه کرده ایم). HTTP تنها پروتکل application-level نیست، تعداد دیگری از آن‌‌ها نیز وجود دارند که ما به طور روزانه از آن‌‌ها استفاده می‌‌کنیم. مثل Simple Mail Protocol که ارسال ایمیل را ممکن می‌‌کند.

خیلی خب، خوشبختانه هنوز خسته نشده اید! فکر کنم معرفی پشته پروتکل‌‌های اینترنت ایده‌‌ی بدی نبود، زیرا پروتکل‌‌های بلاک چین‌‌ بر مبنای این پروتکل‌‌ها ساخته شده اند. اگر می‌‌خواهید به طور دقیق‌‌تر در مورد پروتکل‌‌های اینترنت مطالعه کنید به وایت پیپر روس شولر (Rus Shuler) مراجعه کنید. خب حالا به بلاک چین‌‌ و پروتکل‌‌هایش برگردیم!

پروتکل‌‌های بلاک چین‌‌

همان طور که گفتیم پروتکل‌‌ها روشی برای انتقال اطلاعات در میان شبکه هستند. پروتکل‌‌های بلاک چین‌‌ این کار را کمی متفاوت انجام می‌‌دهند. اگر چه همه‌‌ی این پروتکل‌‌ها یکسان نیستند ولی یک سری ویژگی معرف دارند. این ویژگی‌‌ها شامل 1) دفتر کل‌‌های توزیع شده 2)رمزنگاری 3)الگوریتم‌‌های اجماع 4)بلوک داده‌‌های منظم هستند. بیایید کمی در مورد هر کدام از این المان‌‌ها صحبت کنیم.

پروتکل‌‌های بلاک چین‌‌

دفتر کل‌‌های توزیع شده

دفتر کل‌‌های توزیع شده بهترین موضوع برای شروع بحث هستند! خب یک دفتر کل توزیع شده چیست؟ یک دفتر کل توزیع شده پایگاه داده‌‌ای غیر متمرکز است که در مناطق مختلف یا در بین اعضای شبکه به پخش شده است. به عبارت دیگر، یک دفتر کل توزیع شده یک شبکه‌‌ همتا-به-همتا است که هر تکه از اطلاعات یا تراکنش‌‌ها را در شبکه به اشتراک می‌‌گذارد و در یکی از اعضا (یا نودها) ذخیره می‌‌کند.

دفترهای کل توزیع شده کاملا متفاوت از معماری مشتری-سرور (client-server) موجود در اینترنت مدرن هستند. معماری مشتری-سرور مدلی است که در آن اطلاعات در یک سرور مرکزی ذخیره شده و اگر کاربر (مشتری) بخواهد به آن دست می‌‌یابد. برای مثال موسساتی مثل فیسبوک، گوگل و آمازون سرورهای بزرگ متمرکز دارند و تاریخچه‌‌ی تراکنش‌‌های کاربران، اطلاعات شخصی و غیره را در خود ذخیره می‌‌کنند. مشتری‌‌ها از طریق درخواست‌‌های HTTP به سرورها وصل می‌‌شوند و همان اتفاقاتی که در بالا توضیح دادیم می‌‌افتد. شبکه‌‌های همتا-به-همتا متفاوت از مدل مشتری-سرور عمل می‌‌کنند زیرا به هیچ واسطه‌‌ای که نقش نقطه‌‌ی مرکزی را ایفا کند نیاز ندارند. در عین حال، هر نود متصل به شبکه، هم نقش مشتری و هم نقش سرور را ایفا می‌‌کند.

خب در این کار چه سودی نهفته است؟ مزیتی که دفتر کل توزیع شده نسبت به پایگاه داده‌‌های متمرکز دارد این است که دیگر تک‌‌نقطه‌‌ی زیان وجود ندارد و در نتیجه هک و گم شدن اطلاعات کمتر رخ می‌‌دهد. به علاوه، هیچ هستنده‌‌ای به تنهایی مالک داده‌‌های موجود در شبکه نیست. این یعنی هیچ کس نمی‌‌تواند بدون اطلاع یا رضایت کاربر از آن‌‌ها استفاده کند. در نتیجه، کاربران بر داده‌‌هایشان کنترل دارند و می‌‌توانند تصمیم بگیرند که با آن‌‌ها چه کار کنند. در آینده، اعضای شبکه می‌‌توانند واقعا داده‌‌های خود را به فروش برسانند. برای مثال، اگر تاریخچه‌‌ی جست‌‌وجوی خود را در نسخه‌‌ی بلاک چین‌‌ گوگل ذخیره کنید، می‌‌توانید آن را به آگهی‌‌دهندگان بفروشید. آگهی‌‌دهندگان برای پخش آگهی‌‌های خود، به جای این که به گوگل پول بدهند به شما پول می‌‌دهند. البته فکر می‌‌کنم خیلی زود این اتفاق نمی‌‌افتد.

یک نکته‌‌ی دیگر در مورد دفتر کل‌‌های توزیع شده: این کار دیوانگی محض است! آن‌‌ها یک جور تجاوز به حریم شخصی هستند. چرا باید اطلاعات شخصی خودم را در کامپیوتر یک عده آدم غریبه نگه دارم؟ خوشبختانه پروتکل‌‌های بلاک چین‌‌ راه حلی برای این مشکل دارند: رمزنگاری. پروتکل‌‌های بلاک چین‌‌ از روش‌‌های پیشرفته‌‌ی رمزنگاری استفاده می‌‌کنند تا هویت اعضای شبکه و هم چنین اطلاعاتی که به اشتراک می‌‌گذارند را رمزنگاری کنند. بخش بعدی به این مورد اختصاص دارد.

پروتکل‌‌های بلاک چین‌‌

رمزنگاری

همان طور که گفتم، تراکنش‌‌هایی که با بلاک چین‌‌ انجام می‌‌شوند از طریق الگوریتم‌‌های پیشرفته‌‌ رمزنگاری می‌‌شوند. این دلیل اصلی امنیت شبکه‌‌ی بلاک چین‌‌ است. حالا این رمزنگاری چگونه رخ می‌‌دهد؟ متاسفانه توضیحش کمی سخت است ولی تمام سعی خودم را می‌‌کنم که به سادگی توضیح دهم. رمزنگاری در بلاک چین‌‌ از طریق 3 ابزار اصلی انجام می‌‌گیرد: هشینگ، امضای دیجیتال و تصدیق کلید خصوصی/عمومی. قبل از هر چیز به خاطر داشته باشید که این روش‌‌ها در بلاک چین‌‌ ابداع و پایه‌‌گذاری نشده اند بلکه بلاک چین‌‌ از روش‌‌های موجود رمزنگاری در پروتکل‌‌های خود استفاده کرده است.

هشینگ (Hashing)

با اولین ابزار اصلی شروع می‌‌کنیم: هشینگ. هشینگ یک تابع ریاضی است که ورودی‌‌هایی با طول دلخواه می‌‌گیرد (یک حرف، یک جمله، یا یک کتاب!) و با یک فرمول، آن‌‌ها را به خروجی‌‌هایی رندم از تعداد ثابتی حرف و عدد تبدیل می‌‌کند. برای مثال اگر از تابع هشینگ SHA 256 استفاده کنید (همان تابعی که بیت کوین از آن استفاده می‌‌کند) تا جمله‌‌ی “این یک تابع هش است!” را بسازید، خروجی این است:

2c886077bbc252137f1d78d2915d96befe71bca1caf3ff9cc7b6dcb47b3c4248

یک چیزی جالب در مورد تابع هش این است که یک تغییر کوچک در ورودی یک هش کاملا متفاوت تولید می‌‌کند. برای مثال، اگر علامت تعجب را بردارید خروجی به این شکل عوض می‌‌شود:

4ca94a9dbbe380459790d3ba464a1f916f9a30c1f2e01e023d306649236f651e

توابع هش متفاوتی وجود دارند (مثل SHA 1، SHA 256، MD 5، Keccak-256 و غیره) همه‌‌ی آن‌‌ها قوانین مهمی را رعایت می‌‌کنند:

1- یک ورودی تنها باید یک خروجی داشته باشد.

2- دو ورودی متفاوت نمی‌‌توانند یک خروجی داشته باشند.

3- یک تغییر کوچک در ورودی باید خروجی را به کلی تغییر دهد.

چرا این‌‌ها مهمند؟ توابع هش چه سودی دارند؟ 2 ویژگی توابع هش آن‌‌ها را به ابزاری برای تصدیق تبدیل می‌‌کند: یک، آن‌‌ها محتوای بی‌‌حدومرزی را می‌‌گیرند و به یک رشته کاراکتر کوتاه تقلیل می‌‌دهند. دو، همان طور که در قوانین بالا آمده، توابع هش یک به یک هستند. در نتیجه هشِ یک فایل، یک رشته‌‌ از کاراکترهای ثابت است که برای آن فایل منحصر به فرد است. درست مثل اثر انگشت دیجیتال آن فایل.

در نتیجه، تشخیص یکسان بودن دو فایل آسان می‌‌شود. به جای آن که هر کاراکتر دو سند را با هم مقایسه کنید، هش آن‌‌ها را بسازید و عبارت‌‌های حاصل را مقایسه کنید. اگر یک تغییر کوچک هم در سند رخ داده باشد، هش به طرز چشم‌‌گیری متفاوت خواهد بود. برای مثال، فرض کنید یک کتاب دیجیتال خریده اید و می‌‌خواهید مطمئن شوید محتوای آن اصل است. به جای چک کردن هر فصل، هشِ کتاب را بسازید وآن را با هشِ کتاب اصلی مقایسه کنید.

هشینگ در بلاک چین‌‌ چه کاربردی دارد؟ هشینگ برای ساخت امضاهای دیجیتال و اتصال بلوک‌‌های یک تراکنش به شکل یک دفتر کل امن، استفاده می‌‌شود. در مورد هر کدام از این‌‌ها صحبت می‌‌کنیم.

رمزنگاری کلیدهای عمومی/خصوصی

حالا که هشینگ را متوجه شدید، دومین مولفه‌‌ی کلیدی رمزنگاری در بلاک چین‌‌ را بررسی می‌‌کنیم: رمزنگاری کلید عمومی/خصوصی یا رمزنگاری نامتقارن. می‌‌دانم کمی عجیب و فانتزی به نظر می‌‌رسد اما نگران نباشید. دو روش اصلی برای رمزنگاری داده‌‌ها وجود دارد: رمزنگاری متقارن و رمزنگاری نامتقارن. رمزنگاری متقارن از تنها یک کلید خصوصی برای رمزنگاری و رمزگشایی استفاده می‌‌کند و متداول‌‌ترین روش تا به حال بوده است. این روش مزایایی دارد: به طرز قابل توجهی از رمزنگاری نامتقارن سریع‌‌تر است. اما مشکلی که دارد این است که همه‌‌ی اعضا باید کلید خصوصی داشته باشند تا پیام را رمزگشایی کنند. برای اینکه همه‌‌ی اعضا کلید خصوصی داشته باشند باید آن را توزیع کنیم. متاسفانه تنها راه امن برای توزیع کردن کلید خصوصی، توزیع دستی آن‌‌ها است زیرا در هر راه دیگری امکان هک شدن وجود دارد. فکرش را بکنید اگر بخواهید به شخصی که در کشور دیگری زندگی می‌‌کند و شما او را نمی‌‌شناسید به طور شخصی ملاقات کنید و کلید خصوصی را به او بدهید.

طبیعتا به سراغ رمزنگاری نامتقارن می‌‌رویم. با رمزنگاری نامتقارن 2 کلید خواهیم داشت: یک کلید خصوصی و یک کلید عمومی. همان طور که از اسمشان پیدا است، کاربران کلید عمومی را به سرتاسر شبکه میفرستند ولی کلید خصوصی را هرگز افشا نمی‌‌کنند. این دو کلید به طور ریاضی به هم متصل اند؛ یعنی، محتوایی که از طریق کلید عمومی رمزنگاری شده، تنها با استفاده از کلید خصوصی رمزگشایی می‌‌شود. به عنوان مثال، جان می‌‌خواهد از طریق رمزنگاری نامتقارن به باب پیامی بفرستد. او می‌‌تواند از کلید عمومی باب برای رمزنگاری پیام استفاده کند. پس از رمزنگاری، تنها چیزی که می‌‌تواند آن پیام را رمزگشایی کند، کلید خصوصی باب است. به این ترتیب کاربران پیام‌‌هایشان را بدون داشتن کلید خصوصی یک دیگر مبادله می‌‌کنند. این کار سرعت تراکنش‌‌ها را پایین می‌‌آورد ولی امنیت را بالا می‌‌برد و کاربران می‌‌توانند بدون انتشار کلید خصوصی خود محتوای خود را به اشتراک بگذارند. تمام پروتکل‌‌های بلاک چین‌‌ از روش رمزنگاری نامتقارن بهره می‌‌برند.

امضای دیجیتال

بخش نهایی پازل رمزنگاری امضای دیجیتال است. امضاهای دیجیتال از هش و کلیدهای خصوصی/عمومی ساخته شده اند و امکان تصدیق هویت فرستنده و تایید عدم دستبرد به محتوای به‌‌اشتراک‌‌گذاشته‌‌شده را به کاربران می‌‌دهد. آن‌‌ها چگونه عمل می‌‌کنند؟ بهترین راه برای درک امضاهای دیجیتال، این است که مراحل تصدیق یک سند با امضای دیجیتال را با هم بررسی کنیم:

مراحل امضای دیجیتال
  • اول، فرستنده یک هش از پیام‌‌هایش می‌‌سازد.
  • دوم، فرستنده فایل هش‌‌شده را با کلید خصوصی خودش رمزنگاری می‌‌کند و آن را به گیرنده می‌‌دهد.
  • سوم، گیرنده با کلید عمومی فرستنده پیام را رمزگشایی می‌‌کند.
  • چهارم، گیرنده پیام را کاملا رمزگشایی می‌‌کند و یک هش از آن می‌‌سازد.
  • پنجم، گیرنده دو هش را با هم مقایسه می‌‌کند و تطبیق آن دو را تصدیق می‌‌کند.

به این ترتیب گیرنده، هویت فرستنده را تصدیق و عدم دستبرد به اطلاعات را تایید می‌‌کند. دو هش تنها در صورتی مطابقت ندارند که 1)محتوای پیام به نحوی تغییر کرده باشد 2) کلیدی به جز کلید خصوصی فرستنده آن را رمزنگاری کرده باشد. این فرایند را به طور گرافیکی نشان داده ایم:

پروتکل‌‌های بلاک چین‌‌ الگوریتم‌‌های اجماع

الگوریتم‌‌ اجماع چیست؟ توضیحش آسان نیست، ولی سعی خودم را می‌‌کنم! همان طور که قبلا گفتیم، هیچ قدرت مرکزی‌‌ در شبکه‌‌های غیر متمرکز وجود ندارد. در نتیجه شبکه به مکانیزمی برای تصمیم‌‌گیری و رسیدن به توافق نیاز دارند. شبکه‌‌های بلاک چین‌‌ الگوریتم‌‌های اجماع را به همین منظور وارد پروتکل‌‌های خود کرده اند.

در سطوح بالا، الگوریتم‌‌های اجماع، توافق اعضا به “تنها نسخه‌‌ی حقیقت” را بررسی می‌‌کنند. اعضای شبکه از الگوریتم اجماع برای تایید اعتبار یک تراکنش یا فرستنده‌‌ی آن استفاده می‌‌کنند. آن‌‌ها می‌‌خواهند بدانند فرستنده‌‌ی تراکنش آیا واقعا مالک آن دارایی هست یا نه. مثلا در مورد بیت کوین، اگر کسی بخواهد 10 بیت کوین بفرستد، اعضای شبکه با الگوریتم‌‌های اجماع بر سر اینکه آن فرد مالکیت بیت کوین‌‌ها را دارد یا خیر، به توافق می‌‌رسند.

این مکانیزم‌‌ها به دلیل حل مشکل “خرج دوباره” (Double Spending) حائز اهمیت هستند. در پست قبلی جزئیات کمی از این مشکل را باز کرده‌ام. خرج دوباره به این ایده اشاره می‌‌کند که دارایی‌‌های دیجیتال به راحتی کپی برداری می‌‌شوند و هر کسی می‌‌تواند آن‌‌ها را به طور مجدد استفاده کند. خرج مجدد همان چیزی است که ثابت می‌‌کند به یک واسطه‌‌ی قابل اعتماد نیاز داریم تا تایید کند که دارایی مورد معامله برای بار دوم فروخته نمی‌‌شود. الگوریتم اجماع به شبکه‌‌های غیر متمرکز اجازه می‌‌دهد که تراکنش‌‌ها را بدون نیاز به واسطه‌‌ی قابل اعتماد به انجام برسانند.

آن‌‌ها چطور کار می‌‌کنند؟ الگوریم‌‌ها اجماع متعددی موجود هستند و من دو الگوریتم متداول را توضیح خواهم داد.

اثبات کار (PoW)

اولین الگوریتم اجماع در پروتکل بلاک چین‌‌ الگوریتم اثبات کار بود. این الگوریتمی است که به شبکه‌‌های بلاک چین‌‌ برتر، مثل اتریوم و بیت کوین، قدرت می‌‌بخشد.

در الگوریتم اثبات کار اعضای شبکه باید از طریق حل معادلات سخت ریاضی تراکنش‌‌ها را تایید کنند و برای تشویق به این کار، به نودهایی که این مسائل را با موفقیت حل کنند، پاداش می‌‌دهد. این ایده به شبکه امنیت بیشتری می‌‌دهد زیرا یک هکر، پس از رسیدن به توافق، برای تغییر بلاک چین‌‌ مقدار زیادی انرژی و زمان نیاز دارد. او باید کامپیوتر پرقدرتی داشته باشد تا بتواند با کل شبکه رقابت کند.

مثل همیشه، برای درک بهتر این موضوع مثال می‌‌زنم. فرض کنید تعدادی تراکنش با بیت کوین انجام شده و به اعتباردهی نیاز دارد. همه‌‌ی نودهایی که به شبکه متصلند (به آن‌‌ها ماینر یا استخراج‌‌گر هم می‌‌گویند) برای “استخراج” بلوک تراکنش وارد رقابت می‌‌شوند. آن‌‌ها از چند ورودی مختصر، شامل 1)تمام تراکنش‌‌های درون بلوک، 2) بازه‌‌ی زمانی‌‌ که از بلوک هش گرفته شده، 3) دشواری بلوک (فعلا فکرش را نکنید!)، 4)هشِ تراکنشِ بلوک قبلی و 5) یک عدد دیگر به اسم نانس (nonce، در این باره بیشتر خواهیم گفت) هش می‌‌گیرند.

شاید بپرسید ماینرها چه مسئله‌‌ی ریاضی‌‌ را باید حل کنند؟ مسئله‌‌ بیت کوین این است که “همه‌‌ی ورودی‌‌های هش را بگیر و یک خروجی هش به خصوص را بساز!” تنها راه حل این مسئله این است که نانس را حدس بزنیم و از ورودی‌‌ها هش بگیریم. اگر ورودی‌‌هایمان به خروجی مورد نظر منجر نشوند، ماینر باید نانس دیگری را حدس بزند و دوباره از آن‌‌ها هش بگیرد. ماینر آن قدر این کار را تکرار می‌‌کند تا به خروجی صحیح برسد. راه دیگری هم وجود دارد. این مسئله بازی حدس و امتحان است و نانس آن چیزی است که باید حدس زده شود. اولین ماینری که نانس را درست حدس بزند برنده می‌‌شود و تعداد مشخصی بیت کوین به او پاداش داده خواهد شد. در این لحظه تمامی نودها تراکنش را چک می‌‌کنند تا از معتبر بودن نانس مطمئن شوند. سپس نودها به بلوک بعدی می‌‌روند و تمام این کارها را برای تراکنش‌‌های درون این بلوک انجام می‌‌دهند.

این روش به منبع محاسباتی بسیار قوی نیاز دارد و این تنها راه بردن این بازی است. همان طور که گفتیم، شبکه‌‌های اثبات کار علی رغم قدرت محاسباتی مورد نیاز، به امنیت شبکه کمک می‌‌کنند. در مقیاس‌‌های بزرگ این انرژی سرسام‌‌آور خواهد بود. گروه‌‌های پایداری، به همراه مردمی که نگران قدرت گرفتن عده‌‌ی کوچکی از افراد به نام ماینرها هستند، می‌‌خواهند این انرژی در مناطقی که برق گران است مصرف شود. این مطلب به طرز جالبی سوال‌‌برانگیز است؛ اگر قدرت محاسبه و استخراج بیت کوین به دست عده‌‌ی کوچکی از افراد بیفتد، بیت کوین دیگر یک شبکه‌‌ی غیر متمرکز نخواهد بود. کم بودن سرعت، بحث دیگری است که در مورد اثبات کار وجود دارد. مردم به تراکنش‌‌های سریع‌‌تری نیاز دارند. این امر ما را به بخش بعد می‌‌رساند.

اثبات سهام (PoS)

اثبات سهام اولین بار در سال 2012 توسط پییر کوین (Peercoin) مطرح شد و تا کنون محبوبیت زیادی به دست آورده است. در واقع، حتی اتریوم نیز در آینده‌‌ای نزدیک به این روش روی می‌‌آورد. سامانه‌‌ی اثبات سهام برای تایید تراکنش‌‌ها، به مصرف انرژی بالا و سخت‌‌افزارهای گران‌‌قیمت نیازی ندارد و دوستدار طبیعت است. در این سامانه محدودیت‌‌های شرکت در شبکه‌‌ی بیت کوین وجود ندارد و با ورود آزاد نودها به شبکه، غیر متمرکز بودن معنی می‌‌گیرد.

بیایید ببینیم اثبات سهام چگونه کار می‌‌کند. در سامانه‌‌ی اثبات سهام ، هیچ مسئله‌‌ی ریاضی‌‌ وجود ندارد تا نودها برای حل آن با هم رقابت کنند. در عوض، نودها (یا فورجرها) به شکلی نیمه-رندوم برای اعتباردهی انتخاب می‌‌شوند. احتمال انتخاب شدن هر فورجر به تعداد توکن‌‌های او و مقدار زمانی که این کوین‌‌ها را در اختیار داشته است بستگی دارد. برای توضیحات بیشتر به مقاله‌‌ی زیر مراجعه کنید.

خب از کجا مطمئن شوید که این فورجرها تراکنش‌‌های تقلبی را تایید نمی‌‌کنند؟ پروتکل‌‌های اثبات سهام این مشکل را با به ضمانت گذاشتن سهام فورجرها حل می‌‌کنند. اگر یک فورجر یک تراکنش تقلبی را معتبر اعلام کند، کوین‌‌های موجود در حساب ضمانت را از دست می‌‌دهد و دیگر اجازه‌‌ی همکاری به عنوان فورجر را نخواهد داشت.

دیگر تفاوت کلیدی بین الگوریتم‌‌های اجماع اثبات کار و اثبات سهام، در نحوه‌‌ی تشویق اعضا به شرکت در فرایند اعتباردهی است. بر خلاف الگوریتم اثبات کار، هیچ پاداشی در اثبات سهام وجود ندارد. در عوض، نودها کارمزد تراکنش را به ازای اعتباردهی آن‌‌ها دریافت می‌‌کنند. نکته جالب توجه این است که کارمزدها راهی برای تنظیم تعداد فورجرها در شبکه است. اگر یک شبکه بخواهد فورجرهای بیشتری را جذب کند، باید کارمزد تراکنش‌‌ها را افزایش دهد.

این یک مرور سطحی بر اثبات سهام بود. ویژگی‌‌های کلیدی این‌‌ها هستند: 1) سامانه‌‌ی اثبات سهام بر اساس مالکیت اعضا، آن‌‌ها را برای اعتباردهی انتخاب می‌‌کند، 2) سامانه‌‌ی اثبات سهام قدرت محاسباتی و برق کمتری را مصرف می‌‌کند و بسیار به‌‌صرفه است و 3) سامانه‌‌ی اثبات سهام با آزادتر کردن راه ورود نودها به شبکه، غیر متمرکزسازی را اعتلا می‌‌دهد. البته این روش نسبتا نو است و امنیت کمتری نسبت به اثبات کار دارد.

فعلا این دو از محبوب‌‌ترین الگوریتم‌‌های موجود هستند ولی تنها الگوریتم‌‌های موجود نیستند. دیگر الگوریتم‌‌ها مثل اثبات کار به‌‌تاخیرافتاده، اثبات سهام محول شده، اثبات اختیار، اثبات وزن و بسیاری دیگر.

پروتکل‌‌های بلاک چین‌‌

بلوک‌‌های متصل

می‌‌دانم این پست کمی طولانی شد ولی با من همراه باشید، چیزی نمانده است. آخرین مولفه‌‌ی پروتکل‌‌های بلاک چین‌‌ نحوه‌‌ی اتصال بلوک‌‌ها و ایجاد دفتر کل‌‌های امن است. این اتصال با هشینگ به دست آمده است. بهترین راه برای درک آن، فهمیدن نحوه‌‌ی ایجاد خود شبکه‌‌ بلاک چین‌‌ است.

اولین بلوک، بلوک Genesis یا خلقت نام دارد. بلوک Genesis با دیگر بلوک‌‌ها فرق دارد زیرا کدهای شبکه و پارامترهای اولیه‌‌ی بلاک چین‌‌ در آن نوشته شده است. وقتی تراکنش‌‌های موجود در این بلوک معتبر می‌‌شوند، از آن‌‌ها هش گرفته شده و آن مقدار، همان مقدار منحصر به فردی می‌‌شود که بلوک با آن شناخته می‌‌شود. وقتی دومین بلوک معتبر شد، تراکنش‌‌های این بلوک به همراه هش اولین بلوک، مقدار منحصر به فرد برای شناسایی این بلوک می‌‌شود. این عمل برای همه‌‌ی بلوک‌‌های بلاک چین‌‌ ادامه پیدا می‌‌کند و بلوک‌‌ها را به هم متصل می‌‌کند. این اتصال همان چیزی است که بلاک چین‌‌ را امن می‌‌کند، زیرا هکرها برای هک یک بلوک، باید تمام بلوک‌‌های قبلی‌‌اش را هم هک کنند و در بقیه‌‌ی زنجیره یک تاثیر موجی بگذارند.

به علاوه، با اتصال بلوک‌‌ها، هش بلوک‌‌های آخر تمام تراکنش‌‌های موجود در بلوک‌‌های قبلی را در بر می‌‌گیرد. در نتیجه، ماینرها می‌‌توانند با مشاهده‌‌ی آخرین مقدار هش، بر سر وضعیت فعلی زنجیره به توافق برسند. این اتصال آخرین قطعه‌‌ی پازل بلاک چین‌‌ بود و حالا دیگر باید بحث را تمام کنم.

نتیجه‌‌گیری

می‌‌دانم این متن کلی مطلب جدید و فشرده برایتان داشت ولی از همراهی شما متشکرم. اگر بخواهم یک جمع‌‌بندی سریع داشته باشم، پروتکل‌‌های بلاک چین‌‌ شیوه‌‌ای نوآورانه از ارسال اطلاعات در یک شبکه هستند. آن‌‌ها بر اساس پشته پروتکل TCP/IP ساخته شده اند و المان‌‌های مختلفی را برای ارسال امن اطلاعات و پول تدارک دیده اند؛ مانند دفتر کل‌‌های توزیع شده، رمزنگاری، مکانیزم اجماع و بلوک‌‌های متصل.

منبع: https://medium.com/all-things-venture-capital/intro-to-vc-how-blockchain-protocols-work-750e9371b053

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.