بلاک چین و الگوریتم های بلاک چین – فرید دهقان و نیما یزدان مهر

بلاک چین با ارائه فرید دهقان

روز ۱۷ اسفند سال ۹۶ نخستین جلسه از فصل جدید جلسات باز تبریز با حضور تعدادی از علاقه‌مندان این حوزه برگزار شد. در این جلسه که با موضوع « بلاک چین و الگوریتم های بلاک چین » برگزار گردید، آقایان فرید دهقان و نیما یزدان مهر به ارائه مطالب خود پرداختند.

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

بلاک چین

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

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

در نگهداری اطلاعات مالکیت مادی یا معنوی، توزیع امن اطلاعات، اطلاعات تراکنش‌های مختلف، حفظ حریم شخصی داده‌ها، IOT (اینترنت اشیا) و … از بلاک چین استفاده می‌شود.

بلاک چین در واقع بستری برای توزیع اطلاعات بر روی گره‌های مختلف با مکانیزم‌هایی برای اثبات و حفظ امنیت اطلاعات است.

Hash تابعی درهم‌ساز است که با دریافت داده، مقداری را تولید می‌کند. هش ها لزوما مقدار یکتا ندارند اما احتمال یکی بودن هش دو بلاک نزدیک به صفر است.

شرکت کنندگان جلسات باز تبریز

الگوریتم های بلاک چین Proof of Work

« اثبات انجام کار » رایج ترین الگوریتم استفاده شده در بلاک چین است که ارز دیجیتال بیت کوین از آن بهره می‌گیرد. در الگوریتم Proof of Work برای اضافه کردن یک بلوک یک کار با هزینه محاسباتی بالا در نظر گرفته می‌شود. بلوک‌ها در این مدل شامل تراکنش‌ها و hash بلوک قبلی و nonce هستند.

هدف در این مکانیزم برای انجام کار با هزینه محاسباتی بالا یافتن nonce به طوری هست که هش کل این بلوک ۲۰ الی ۴۰ صفر در ابتدایش داشته باشد(هر چقدر تعداد صفرهای مورد انتظار در ابتدای هش زیاد باشد سختی این پردازش بیشتر می‌شود).

بعد از یافتن چنین هش هر گره می تواند بلوک را منتشر کند و اگر هش بلوک قبلی درست باشد و مقادیر صفر در هش این بلوک هم با توجه به روش درست باشد. رای گیری برای درستی این بلوک انجام ‌می‌شود. اگر بیش از ۵۰ درصد نتیجه رای‌گیری مثبت باشد. بلوک به زنجیره اضافه ‌می‌شود.

این مکانیزم اشکالاتی را به همراه دارد:

۱- محاسبات و پردازش‌های بسیار سنگین الگوریتم PoW باعث مصرف مقدار زیادی انرژی می‌شود(تا سال ۲۰۲۰ میزان برق مصرفی بیت‌کوین معادل مصرف برق کشور دانمارک می‌شود) که آلودگی محیط زیست را به دنبال دارد.

۲- هزینه ای بابت استخراج به ماینر ها پرداخت می‌شود. اما به دلیل افزایش سختی عملیات استخراج این عمل صرفه اقتصادی چندانی برای سخت‌افزارهای رایج نخواهد داشت و فقط عده ای محدود که سخت افزار بهینه‌ دارند به عملیات ماین کردن ادامه خواهند داد. در نتیجه نوعی انحصار ایجاد خواهد شد.

الگوریتم های بلاک چین Proof of Stake

« اثبات سهام » یا Proof of Stake در بلاک چین توسط اتریوم با مکانیزم کاسپر (همان روح مهربان) در حال پیاده‌سازی است. در اعتبارسنجی با الگوریتم PoS، ارزش رای هر node بر اساس مقدار سرمایه آن است.

اما نکته‌ حائز اهمیت در هر دو الگوریتم، جلوگیری از انجام 51% عملیات های داخل شبکه توسط یک فرد/دیوایس (Node) است. گر فردی سرمایه زیادی را در این الگوریتم بلاک چین داشته باشد پس میتواند امتیاز رای بالاتری هم داشته باشد که خود عیبی برای مجموعه حساب می‌شود.

برای رفع این باگ روشی در نظر گرفته شده است که در صورت تشخیص داده غیر معتبر (invalid Data) – رای اشتباه – آن Node پنالتی شده و ممکن است کل یا قسمتی از سرمایه اش را از دست بدهد.

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

در این روش عملیات Mining معنایی ندارد و سرمایه فقط با خرید اتریوم افزایش می‌یابد. تا تاریخ ارائه این مطلب اتریوم PoS را عملیاتی نکرده است و همچنان بر بستر PoW فعالیت می‌کند.

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

nem

الگوریتم های بلاک چین Proof of Importance

« اثبات اهمیت » یا Proof of Importance یکی دیگر از الگوریتم‌های بلاک چین است که با جبران نقص های proof قبلی، سعی در بهبود عملکرد دارد. در این الگوریتم علاوه بر ارزش‌دهی بر اساس میزان سرمایه، تعداد تراکنش و تاریخ تراکنش ها نیز در رای تاثیر گذار است.

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

الگوریتم های بلاک چین Proof of Capacity

« اثبات ظرفیت » یا Proof of Capacity این الگوریتم بلاک چین بر اساس اصلاح ایرادات PoW طراحی شده است. همانطور که پیشتر ذکر شد، برای استخراج از PoW نیاز به پردازش های سنگین و زیاد توسط پردازنده مرکزی و کارت گرافیک است که در ادامه استفاده زیاد انرژی و آسیب به محیط زیست را به همراه دارد.

در الگوریتم PoC برای استخراج از حافظه ها (رم و هارد) استفاده می‌شود. در این روش از استخراج نسبت به فضای در اختیار قرار داده شده از رم و هارد، کارمزد استخراج دریافت خواهید کرد. اما الگوریتم یاد شده هم مانند PoW دارای تورم بسیار اندکی است.

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

Solidity

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

به این منظور فقط کافیست منطق برنامه خود را در داخل این پلتفرم تعریف کنید. برای اجرای مکانیک‌ها، UI برنامه و … باید از زبان هایی مانند Meteor و … استفاده کنید. برای مطالعه ابزارهای توسعه، این نوشته مطالب مفیدی دارد.

یک IDE آنلاین برای توسعه‌ smart contract در بستر solidity را می‌توانید از این لینک پیدا کنید. مستندات توسعه در بستر solidity نیز از این  صفحه می‌توانید مطالعه کنید.

نیما یزدان مهر

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

هایپرلجر پروژه متن باز لینوکس است که مجموعه ابزار و چارچوب‌های مختلف برای توسعه دهندگان و کسب‌و‌کار‌ها ارائه می‌دهد تا شبکه‌های بلاک چین ایجاد کنند.

ایشان کدی را در این راستا ارا‌ئه دادند که از این پیوند می‌توانید به آن دسترسی پیدا کنید.

شبکه سازی در جلسات باز تبریز

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

با تشکر از رسانه Tabriz.io حامی رسانه‌ای جلسات باز 

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code