جلسه اول دوره آموزش سالیدیتی ، در این مقاله قصد داریم درباره مفاهیم بلاکچین و مفاهیم قرارداد هوشمند توضیحات کامل و جامعی رو به شما همراهان عزیز ارایه بدیم
در صورت اینکه تمایل دارید در این حوزه فعالیت داشته باشید باید این مفاهیم را آموزش ببینید.
جلسه اول دوره آموزش سالیدیتی
جلسه اول دوره آموزش سالیدیتی
واژه بلاکچین چیست؟
بلاکچین از دو کلمه block و Chain تشکیل شده است . block به معنی بلوک هست و chain به معنای زنجیره میباشد.در کل یعنی از زنجیره از بلوک ها تشکیل شده است.
بلوک ها همان اطلاعات ما در بلاکچین هستند یعنی اطلاعات بر روی بلاک ها سوار میشوند.یعنی ما میتوانیم بلاکچین را به معنای زنجیره اطلاعات هم تعریف کنیم. مفهوم دیگری که باید حتما بررسی کنیم مفهوم Hash یا الگوریتم هس هست.وقتی اطلاعات وارد بلاکچین میشوند در خروجی انها یک رمز وجود دارد به این معنی که این اطلاعات بصورت رمز نگاری شده روی بلاکچین ذخیره میشوند.
برای مثال وقتی اسمی مثل علی را به بلاکچین میدهیم در خروجی آن یک رمزی به ما میدهد مثل تصویر ذیل ، که اگر این رمزها مجدد ترجمه شوند اسم علی به ما نمایش داده میشود.
نکته ای که وجود داره این مفهوم مختص به بلاکچین نیست ، در دیتا بیس های سایتها هم به این شکل توصیف میشود یعنی وقتی اطلاعات در دیتا بیس ها قرار داده میشوند بصورت رمزنگاری شده یا هش شده ذخیره میشوند.
بلاک های بلاچین چیست؟
بلاک های بلاکچین یک سری اطلاعات را در اختیار ما قرار میدهند یا به نوعی شامل یک سری اطلاعات هستند که یکی از این اطلاعات شماره مربوط به هر بلاک هست.
معمولا به بلاک اول بلاک جنسیس هم گفته میشود که هر بلاک اسم مخصوص به خودش را دارا هست.
بجر بلاک اول هر کدام از بلاک ها شامل دو شماره هست میباشند به اینصورت که بلاک اول فقط شماره هش مربوط به خودش را دارد اما از بلاک دوم به بعد هر کدام از بلاک ها شماره هش مربوط به خودشان و شماره هش مربوط به بلاک قبلی را دارند همانند تصویر ذیل.
علاوه بر این شماره هش ها و شماره بلاک ها بر روی این وجوه بلاک ها ، تراکنشها یا اطلاعات مربوط به تراکنش ها ثبت میشود که این ها منوط به تایید تراکنش ها توسط ماینرها میباشند.یعنی بعد از تایید تراکنش توسط کاینرها این تراکنش ها یا اطلاعات مربوط به تراکنش ها بر روی بلاک ها ذخیره میشوند.
سوال پر تکرار که آیا بیت کوین بلاکچین هست؟
میتوان با یه مثال ساده اینطور بیان کرد که همانطور که اسنپ اندروید نیست بیت کوین هم بلاکچین نیست. در حالی که بیت کوین یک کد یا به نوعی برنامه نویسی شده بر بستر بلاکچین میباشد دقیقا همانند اسنپ که بر بستر سیستم عامل اندورید برنامه نویسی شده است.
چه ویژه گی بلاکچین را از سایر تکنولوژی ها متمایز کرده است؟
همانطور که گفته شد الگوریتم هش قبل از بلاکچین ،بر روی دیتا بیس سایتها وجود داشت. اما وجود دفتر کل در بلاکچین دقیقا مثل تمامی شغل ها که داخلش خرید ، فروش ،بدهکاری ها و بستانکاری ها نوشته میشود وجود دارد اما با یه تفاوت عمده این دفتر کل،توزیع شده بودنش میباشد. با یک مثال راحتتر میتوان این تفاوت را بیان کرد.
فرض بر اینکه شخصی به نام علی قصد خرید یک ملک را از شخصی به نام رضا دارد.برای این کار نیاز به شخص سوم یا واسط وجود دارد به نام بنگاه برای نوشتن یه قرارداد بین این دو شخص.پس مفاد قولنامه توسط بنگاه دار نوشته میشود و هر دو طرف معامله این مفاد را پذیرفته اند اما فرض بر این داشته باشیم که شخص علی ترس بر این دارد که شخص بنگاه به همراه رضا این مفاد را بعدا تغییر دهند به همین خاطر شخص علی به دو طرف مقابل اعتماد ندارد.برای رفع این عدم اعتماد از تمام اشخاصی که نظارگر این قرارداد هستند خواسته میشود تا از این قرارداد عکسی گرفته شود.
پس بنابراین طبق این شرایط دیگر امکان تغییر در قرارداد وجود ندارد.پس دفتر کل توزیع شده که تفاوت اصلی بلاکچین بود دقیقا همین میباشد.در کل به این معنی که هر کدام از نودها یک نسخه از بلاکچین را در خودشان ذخیره میکنند و در نقاط مختلف دنیا قرار میدهند و به این دلیل هست که دیگر امکان تغییر در بلاکچین وجود ندارد مگر کمتر از ۵۰ دصد نودها موافق تغییر باشند که در آن صورت فورک اینجاد میشود که در جلسات بعدی کامل بررسی خواهیم کرد پس همین ویژگی باعث میشود تا بلاکچین را از سایر تکنولوژی های دنیا متمایز کند.
نودها یا نود در بلاکچین چیست؟
نود ها سخت افزارهای قدرتمندی هستند که به پردازش شبکه کمک میکنند،نودها یا فول نودها یک نسخه از بلاکچین را دانلود میکنند و به پردازش شبکه با استفاده از سخت افزارهای قدرتمندشان کمک میکنند ، نودها یک نسخه از لیجر یا دفتر کل توزیع شده یا یک نسخه از بلاکچین را ذخیره میکنند معمولا نودها پراکنده هستند یعنی در نقاط مختلف جهان واقع هستند و هیچ کدام از نوع ها به یکدیگر دسترسی ندارند به این منظور که بر فرض نود a قادر به شناسایی نود b نیست.و این امر باعث ان میشود که تغلب در بلاکچین به حداقل برسد.
نکته مهم این است که بحث فورک ها این نودها قدرت رای دادن را دارا میباشند.
انواع نود ها:
نود ها به سه نوع تقسیم بندی میشوند
۱-فول نود
۲-لایت نود
۳-ماینر نود
فول نود:
این نوع از نودها دارای سخت افزارهای قدرتمندی هستند و یک نسخه کامل از لجر را درون خودشان ذخیره میکنند.
لجر = دفتر کل توزیع شده
و همچنین قادر به رای دادن هستند و به دلیل سخت افزار قدرتمندشان ما میتوانیم DApp ها یا اپلیکیشن های غیر متمرکز را بر روی فول نودها پیاده سازی کنیم.فول نودها قادر به تایید تراکنش ها نیز هستند.
لایت نودها:
این نوع از نودها ، نودهای سبکتری نسبت به فول نودها هستند با اتکا به فول نودها و نودهای دیگر به حل بلاک اخر میپردازند
ماینر نودها:
این نوع نودها دقیقا همان ماینر هایی هستند که اکثر دوستان نسبت بهش بابت استخراج بیت کوین اطلاعات دارند به نوعی همان دستگاههای استخراج بیتکوین ، که این نود ها به تایید تراکنش ها میپردازند
تایید تراکنش به این معنی است که برای مثال فردی به نام علی میخواهد به شخصی به نام حسن بیت کوین ارسال کند.مقدار انتقال و مقدار موجودی مانده علی توسط ماینر ها انجام و تایید میشود.
سوالی که ممکن بهش برخورد کنید این است که اصلا تفاوت بیتکوین و اتریوم چیست؟
و اینکه اگر بیت کوین اولین رمز است پس برای چه موضوعی اتریوم هم بوجود آمد.
برای پاسخ به این سوال باید بدانیم کاربرد این دو رمز ارز چیست.
آیا اتریوم کاربردی یا قابلیتی را دارد که بیتکوین ندارد یا برعکس.
کاربرد بیت کوین انتقال ارزش بر بستر غیر متمرکز
به این معنی که شما با استفاده از بیتکوین و تکنولوژی بلاکچین میتوانید ارزش یا دارایی را بر بستر غیر متمرکزی منتقل کنید.
در دنیای سنتی و بازار ستنی ما با استفاده از شبکه بانکی و شماره حساب های شخصی و دولتی بعد از تایید بانک این انتقال را انجام میدهیم.
اما در بیتکوین نیازی به تایید شخص یا گروه یا شرکتی نیست بلکه ماینرها بر بستر کاملا غیر متمرکز این کار را انجام میدهند.
کاربرد بیت کوین = انتقال ارزش بر بستر غیر متمرکز
کاربرد اتریوم :
در اتریوم علاوه بر انتقال ارزش بر بستر غیر متمرکز ، میتوانیم قراردادهای هوشمند را پیاده سازی کنیم یا همان اسمارت کانترکت ها.
همانگونه که ما یک بستر اینترنت داریم که سایتها را در آن پیاده سازی میکنیم ،اتریوم هم با این قابلیت که یک اینترنت غیر متمرکز را در اختیار ما قرارداد که ما بتوانیم اسمارت کانترکت ها یا قراردادهای هوشمند را بر روی اتریوم پیاده سازی کنیم.البته کاربردهای دیگری هم برای اتریوم وجود دارد که در ادامه بیشتر به آن میپردازیم.
قرارداد هوشمند چیست؟
قرارداد هوشمند یک کد برنامه نویسی است که روی بلاکچین پیاده سازی میشود تا در صورت اتفاق افتادن یک سری شرایط ،دستورات خاصی را که برنامه نویس به آن داده است،اجرا کند.قراردادهای هوشمند یک نوعآوری بسیار انقلابی هستند که ما را از اعتماد کردن به دیگران بی نیاز میکنند.
۴ پروژه معروف دنیای کریپتوکارنسی:
اتریوم
ترون
بایننس
پالیگان
این ۴ پروژه با استفاده از زبان برنامه نویسی سالیدیتی نوشته شده اند البته پروژه های دیگری هم وجود دارد که با استفاده از زبان برنامه نویسی سالیدیتی نوشته شده اند.
چرا باید سالیدیتی را آموزش ببینیم:
طبق مطالب قبل،اموزش سالیدیتی یک امر بسیار مهم میتونه برای ما باشد تا بتوانیم با استفاده از این مهارت به درامد عالی برسیم چون در چند ماه اینده مطمینا این زبان برنامه نویسی یکی از پر درامدترین زبانهای برنامه نویسی دنیا خواهد بود.
نتیجه و سخن پایانی
ما در این دوره قصد داریم با استفاده از زبان برنامه نویسی سالیدیتی ،قراردادهای هوشمند را بنویسیم.
دقیقا همانند مثال قبل که یک بنگاه یک قرارداد بین دو شخص تنظیممیکند.
در این دوره شما بدون هیچ پیش نیازی میتوانید به این کهارت دست پیدا کنید
بیشتر بدانید : زبان برنامه نویسی سالیدیتی چیست؟
ممکن است به این مطالب نیز علاقهمند باشید