جلسات باز نرم افزار دوباره در تبریز آغاز به کار کرد : موضوع جلسه اول Blockchain
جلسات باز نرمافزار بستری برای تعامل و به اشتراکگذاری دانش بین توسعهدهندگان نرمافزار شهرمان است که با هدف همافزایی و آشنایی توسعهدهندگان با مفاهیم روز حوزه نرمافزار به وجود آمده است. این جلسات که برای مدت طولانی در تبریز برگزار نشده بود، در واپسین روز های سال دوباره آغاز به کار کرد. اولین جلسه باز نرم افزاری تبریز در سال ۸۹ برگزار شده بود و به مدت بیش از ۱۵۰ جلسه ادامه یافت.
روز ۱۷ اسفند سال ۹۶ نخستین جلسه از فصل جدید جلسات باز نرمافزاری با حضور تعدادی از علاقه مندان برگزار شد. در این جلسه که با موضوع “Blockchain” برگزار گردید، آقای دکتر فرید دهقان ( تحلیلگر داده، توسعهدهنده میکروسرویس) و آقای نیما یزدانمهر به ارائه مطالب پر داختند. ارائه آقای دکتر دهقان در راستای مفاهیم و مکانیزم بلاکچینها و انواع proof ها و ابزارهای پیاده سازی آنها بود. طی ارتباطی که به صورت آنلاین با آقای یزدانمهر برقرار شد، ایشان درباره Hyperledger مطالبی را ارئه کردند.
در ادامه نگاه کوتاهی به مباحث ارائه شده در جلسه اول می پردازیم، در پایان باید اضافه کنیم که جلسات باز نرم افزاری در سال جدید نیز ادامه خواهد داشت. جلسه بعدی در هفته سوم فروردین ماه برگزار خواهد شد که اطلاعات کامل متعاقبا از طریق تبریز آیو اطلاع رسانی خواهد شد.
بلاکچین برای جلوگیری از انحصارطلبی سیستمهایی مانند سیستمهای بانکی، سیستم بیمهای، سیستمهای انتخاباتی یا نظرسنجی و هرگونه سیستم که توسط فردی یا نهادی قابل کنترل یا تغییر باشد، ساخته شده است. همچنین افزایش امنیت داده های موجود در بلاک چین از اهمیت بسیار بالایی برخوردار است. از مزایای دیگر بلاکچین کم کردن مکانیزمهای اضافه و یکسانسازی شرایط است.
در نگهداری اطلاعات مالکیت مادی یا معنوی، توزیع امن اطلاعات، اطلاعات تراکنشهای مختلف، حفظ حریم شخصی دادهها، IOT (اینترنت اشیاء) و … از بلاکچین استفاده می شود.
بلاکچین در واقع بستری برای توزیع اطلاعات بر روی گرههای مختلف با مکانیزمهایی برای اثبات و حفظ امنیت اطلاعات است.
Hash تابعی درهمساز است که با دریافت داده، مقداری را تولید میکند. هش ها لزوما مقدار یکتا ندارند اما احتمال یکی بودن هش دو بلاک نزدیک به صفر است.
Proof of Work
رایج ترین الگوریتم استفاده شده است که ارز دیجیتال بیت کوئین از آن بهره میگیرد. در PoW برای اضافه کردن یک بلوک یک کار با هزینه محاسباتی بالا در نظر گرفته میشود. بلوکها در این مدل شامل تراکنشها و hash بلوک قبلی و nonce هستند. هدف در این مکانیزم برای انجام کار با هزینه محاسباتی بالا یافتن nonce به طوری هست که hash کل این بلوک ۲۰ الی ۴۰ صفر در ابتدایش داشته باشد(هر چقدر تعداد صفرهای مورد انتظار در ابتدای Hash زیاد باشد سختی این پردازش بیشتر میشود). بعد از یافتن چنین hash هر گره می تواند بلوک را منتشر کند و اگر hash بلوک قبلی درست باشد و مقادیر صفر در hash این بلوک هم با توجه به روش درست باشد. رایگیری برای درستی این بلوک انجام میشود. اگر بیش از ۵۰ درصد نتیجه رایگیری مثبت باشد. بلوک به زنجیره اضافه میشود.
این مکانیزم اشکالاتی را به همراه دارد:
۱- محاسبات و پردازش های بسیار سنگین PoW باعث مصرف مقدار زیادی انرژی میشود(تا سال ۲۰۲۰ میزان برق مصرفی بیتکوین معادل مصرف برق کشور دانمارک میشود) که آلودگی محیط زیست را به دنبال دارد.
۲- هزینه ای بابت استخراج به Miner ها پرداخت میشود. اما به دلیل افزایش سختی عملیات استخراج این عمل صرفه اقتصادی چندانی برای سختافزارهای رایج نخواهد داشت و فقط عده ای محدود که سخت افزار بهینه دارند به عملیات Mining ادامه خواهند داد. در نتیجه نوعی انحصار ایجاد خواهد شد.
Proof of Stake
الگوریتم PoS توسط اتریوم با مکانیزم CASPER ” (همان روح مهربان) در حال پیادهسازی است. در Validation با الگوریتم PoS، ارزش رای هر node بر اساس مقدار سرمایه آن است. اما نکته حائز اهمیت در هر دو الگوریتم، جلوگیری از انجام ۵۱% عملیات های داخل شبکه توسط یک فرد/دیوایس (Node) است.
اگر فردی سرمایه زیادی را در این الگوریتم داشته باشد پس میتواند امتیاز رای بالاتری هم داشته باشد که خود عیبی برای مجموعه حساب می شود. برای رفع این باگ روشی در نظر گرفته شده است که در صورت تشخیص داده غیر معتبر (invalid Data) – رای اشتباه – آن Node پنالتی شده و ممکن است کل یا قسمتی از سرمایه اش را از دست بدهد. همین راهکار ساده باعث میشود افرادی که سرمایه بیشتری در سیستم دارند، سعی در تقلب کردن نداشته باشند و صرفا افرادی که سرمایه کمتری دارند ریسک تقلب کردن را بپذیرند، اما چون ارزش رای آن ها کم است، پس نمیتوانند تاثیر زیادی در Validation بگذارند. عملیات های انجام شده در PoW و PoS به صورت Real Time انجام نمی گیرند.
در این روش عملیات Mining معنایی ندارد و سرمایه فقط با خرید اتریوم افزایش میابد. تا تاریخ ارائه مطالب اتریوم PoS را عملیاتی نکرده است و همچنان بر بستر PoW فعالیت میکند.
این الگوریتم هم مزایا و معایبی دارد. حذف تورم و حذف مصرف انرژی بالا مزیت آن محسوب میشود. اما امکان ثروت اندوزی در داخل سیستم و داشتن حق رای بالا در Validation وجود دارد که عیبی برای این سیستم محسوب می شود.
Proof of Importance
الگوریتم که با جبران نقص های proof قبلی، سعی در بهبود عملکرد دارد. در این الگوریتم علاوه ارزش دهی بر اساس میزان سرمایه، تعداد تراکنش و تاریخ تراکنش ها نیز در بار رای تاثیر گذار است. در این مدل در کنار سرمایه میزان تراکنشها و توزیع سرمایه نیز در اعتبار افراد در مکانیزم رایدهی اثر دارد. ارز دیجیتال Nem بر اساس این الگوریتم طراحی شده است.
Proof of Capacity
این الگوریتم بر اساس اصلاح ایرادات PoW طراحی شده است. همانطور که پیشتر ذکر شد، برای استخراج از PoW نیاز به پردازش های سنگین و زیاد توسط CPU و GPU است که در ادامه استفاده زیاد انرژی و آسیب به محیط زیست را به همراه دارد. در الگوریتم PoC برای استخراج از حافظه ها ( رم و هارد) استفاده میشود. در این روش از استخراج نسبت به فضای در اختیار قرار داده شده از رم و هارد، کارمزد استخراج دریافت خواهید کرد. اما الگوریتم یاد شده هم مانند PoW دارای تورم بسیار اندکی است.
اگر تا این لحظه علاقمند به موضوع بلاک چین شده اید، و قصد دارید استارتاپ خودتان را بر بستر بلاک چین راه اندازی کنید. آقای دکتر دهقان پلتفرم هایی را به این منظور معرفی کردند.
Solidity: رایج ترین پلتفرمی که به این منظور استفاده میشود، سالیدیتی است. سالیدیتی که محصول دیگری از ethereum محسوب میشود تا مقدار بسیار زیادی کار گسترش برنامه شما را راحت کرده است. به این منظور فقط کافیست منطق برنامه خود را در داخل این پلتفرم تعریف کنید. برای اجرای مکانیک ها، UI برنامه و … باید از زبان هایی مانند Meteor و … استفاده کنید. برای مطالعه ابزارهای توسعه، این نوشته مطالب مفیدی دارد.
یک IDE آنلاین برای توسعه smart contract در بستر solidity را میتوانید از این لینک پیدا کنید. مستندات توسعه در بستر solidity نیز از این صفحه میتوانید مطالعه کنید.
در پایاین ارائه مطالب توسط دکتر دفرید دهقان، بعد از استراحت کوتاهی و نمایش سخنرانی انجام گرفته در TED درباره بلاک چین، آقای یزدان مهر به صورت آنلاین به ما پیوستند و مطالبی مفید در حوزه Hyperledger برای افراد حاضر ارائه کردند. ایشان کدی را در این راستا ارائه کردند که از این پیوند میتوانید به آن دسترسی پیدا کنید.
در نهایت آغاز مجدد جلسات باز نرم افزار در تبریز را میتوان قدمی مثبت در جهت افزایش سطح دانش و مهارت علاقمندان و فعالان در این عرصه تلقی کرد. امیدواریم برگزاری این جلسات به صورت پیوسته ادامه داشته باشد.
خیلی خوبه که هنوز جلسات باز نرمافزاری توی تبریز برگزار میشه.
امیدوارم بتونم یه روز بیام و توی این جلسات شرکت کنم
این جلسات کی برگزار میشه برنامه مشخصی داره ؟ سایت یا کانال اطلاع رسانی داره ؟
زمان دقیق جلسات از طریق کانال تلگرام Tabriz.io اطلاع رسانی میشود.
میشه لطفا اطلاع رسانی کنین که جلسات بعدی چه زمانی برگزار میشن.ممنون