توضیح Blockchain به زبان ساده - بخش دوم

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 09 مهر 1397
دسته بندی ها : آموزشی

در این مقاله، مثال گاراژ‌های پارکینگ که در بخش اول نمایش داده شد را ادامه خواهیم داد، تا مفهوم رمزنگاری ارز، Mining و Smart Contractها را توضیح دهیم.

اتروم، بیتکوین یا نوعی X-coin

همه شما باید درباره نوعی X-coin شنیده باشید. چه Bitcoin، Litecoin، Ether یا هر نوع سکه دیگری. این‌ها چه هستند؟ این‌ها رمزنگاری‌های ارز (cryptocurrency) هستند که نام خود را از «رمزنگاری» (cryptography) می‌گیرند؛ مفهومی که هسته قدرت فناوری اساسی سکه مورد علاقه شما می‌باشد. اما چرا به این سکه‌های دیجیتال نیاز داریم؟ جدا از ارسال و دریافت پول با دوستان خود،‌ این سکه‌ها برای این استفاده می‌شوند که به کامپیوترها انگیزه دهند تا به یک شبکه Blockchain بپیوندند. باز هم با مقدار زیادی حرف فنی مواجه شدیم! بیایید به مثال پارکینگ خود بازگردیم.

پرداخت برای گاراژ علیه رمزنگاری ارز

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

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

حال بیایید این را با رمزنگاری ارز مقایسه کنیم. در دنیای رمزنگاری، همه چیز تقریبا مشابه است، اما یک تفاوت موجود، این است که به جای استفاده از آدرس ایمیل، شما از یک Bitcoin یا Etherum یا هر نوع آدرس کیف پول سکه‌ای استفاده می‌کنید، که مختص خود شماست. شما سکه‌ها را از کیف پول X-coin خود به کیف پول X-coin دریافت کننده ارسال می‌کنید. از این رو، این شبکه پر از افراد غریبه است و در نتیجه آشکار شدن اطلاعات بانک برای انتقال پول یک مشکل بزرگ خواهد بود. در نتیجه، استفاده از آدرس‌های کیف پول، ارسال و دریافت اجاره کاربرها را با غریبه ماندن همه بر روی شبکه نسبت به یک دیگر، تسهیل می‌کند. همچنین این یکی از دلایلی است که برخی کشورها رمزنگاری را ممنوع کرده‌اند، و یکی از دلایلی که این سیستم در دنیای غیر قانونی بسیار محبوب است.

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

آفرینش اولین Coin (سکه) یا New Coinها

درست به مانند منتقل کردن پول از بانک به Paypal، شما می‌توانید با خریدن سکه از صرافی‌های ثبت شده، پول را از بانک به کیف پول X-coin خود منتقل کنید. اما سوال این است که اولین X-coin چگونه به وجود آمد و چگونه سکه‌های جدید در حال اضافه شدن به سیستم هستند؟ قبل از پاسخ دادن به این سوال، بیایید به یک مفهوم رایج دیگر، یعنی «Mining» نگاهی داشته باشیم.

Mining‌ (معدن‌کاری) چیست؟

اگر به یاد داشته باشید، در مقاله قبلی درباره محاسبه (computation - روند محاسبه جفت lock-key) و اعتبارسنجی (validation - روند بررسی صحیح بودن یا نبودن یک lock-key) صحبت کردیم. بیایید فرض کنیم که تمام صاحبان گاراژ در روند محاسبه یک جفت lock-key جدید شرکت می‌کنند، که نیازمند مقدار زیادی نیروی کامپیوتری و زمان است. پس قانون این بازی محاسبه، این است که هر کس اولین نفر بتواند مقدار صحیح را محاسبه کند، پیروز می‌شود. این روند کلی برای محاسبه جفت lock-key صحیح، به عنوان «Mining» شناخته می‌شود.

اما یک صاحب گاراژ چرا باید وقت خود را بر روی محاسبه یک جفت lock-key صرف کند؟ ما باید به آن‌ها انگیزه بدهیم. بیاید فرض کنیم که برنده یک جایزه نقدی دریافت می‌کند.

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

Mine کردن دنیای رمزنگاری

همانطور که با توجه به مقاله قبلی می‌دانید، تمام Blockها در Blockchain توسط hashها امن شده‌اند، که بر حسب hash بلوک قبلی و داده‌های Block فعلی محاسبه شده‌اند. از این رو، تمام Blockها را در یک زنجیره اتصال می‌دهند. محاسبه hash نیازمند منابع است، زیرا نیازمند این است که شما هر مقدار ممکنی را برای دریافت یک hash صحیح امتحان کنید. (درست به مانند کاری که صاحبان گاراژ انجام دادند) پس هر چقدر تعداد مقادیر بیشتری که در یک ثانیه بتوانید امتحان کنید، سریع‌تر می‌توانید hash صحیح را محاسبه کنید. (به همین علت است که ممکن است ببینید برخی افراد دستگاه‌های بزرگی را برای Mine کردن Bitcoin یا هر نوع X-coin دیگری خریداری می‌کنند)

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

اما چرا نام «Mining»؟

تمام رمزنگاری‌های ارز به عنوان دارایی‌ها یا کالا‌هایی مانند طلا، نقره یا هر نوع فلز یا مواد معدنی در نظر گرفته می‌شوند. از این رو، روند استخراج این فلزها از معادن آن‌ها به عنوان Mining (معدن‌کاری) شناخته می‌شوند. محاسبات رمزنگاری ارز، همچنین این نام را انتخاب کرده‌اند؛ زیرا فرایند Mining یک سکه جدید را به سیستم وارد می‌کند.

حال بیایید از دنیای رمزنگاری ارز خارج شویم و به توسعه برنامه بر روی Blockchain وارد شویم.

برنامه‌های غیر متمرکز (DAppها) و Smart Contractها (قرارداد‌های هوشمندانه)

اگر به یاد داشته باشید، در بخش اول اشاره کردم که محققان در حال درک منافع فناوری اساسی Bitcoin (که Blockchain است) برای برنامه‌های دیگر جدا از رمزنگاری ارز هستند. Smart Contractها (قراردادهای هوشمندانه) در اینجا کاربرد دارند. قبل از این که به سمت فنی قضیه وارد شویم، بیایید مثال پارکینگ خود را ادامه دهیم. برای یک لحظه فرض کنید که هیچ مبلغ جایزه‌ای برای برندگان Mining وجود ندارد. (چرا؟ در بخش بعدی درباره آن صحبت خواهیم کرد)

فرض کنید که برای منتقل کردن خودروی خود به داخل گاراژ، باید پول پرداخت کنید. پس برای ساده‌سازی آن، هر گاراژ یک دستگاه جمع‌آوری مبلغ در خارج از خود دارد که شما را قادر می‌سازد تا با استفاده از تلفن خود یک بارکد را بخوانید و اجاره را از Paypal خود ارسال کنید. این دستگاه، پول را جمع‌آوری می‌کند و به محض این که گاراژ بسته شود، تمام صاحبان گاراژها شروع به محاسبه جفت lock-key‌ (Mining) می‌کنند و زمانی که جفت lock-key گاراژ تولید شود، این دستگاه پول را به صاحب گاراژی که مسابقه را پیروز شده است می‌فرستد.

دستگاه جمع‌آوری هزینه در سناریو بالا، دستگاه هوشمندی است؛ زیرا خودش پی برد که پس از ایجاد شدن جفت lock-key، پول موجود را برای چه کسی ارسال کند. و در مواقعی هم که یک مشکل فنی پیش بیاید، این دستگاه پول شما را بر می‌گرداند و پس از آن می‌توانید مجددا آن را پرداخت کنید، یا این که خودروی خود را خارج کنید.

به طور مشابه، بر روی Blockchain، این دستگاه «Smart Contract» دارد. قطعه کدی که تمام کارها را بر روی Blockchain برای شما انجام می‌دهد. همانطور که تمام گاراژها این دستگاه هوشمند را دارند، تمام کامپیوترها بر روی Blockchain هم یک کپی از Smart Contract را دارند. پس وقتی که شما سعی می‌کنید پول خود را ارسال می‌کنید، مطمئن می‌شود که شما پول کافی برای ارسال به دریافت کننده دارید و اگر اشتباهی پیش بیاید، تراکنش مربوطه را برگشت می‌زند.

گرچه، Smart Contractها فقط برای انتقال دادن پول نیستند؛ بلکه می‌توانید از آن‌ها برای تغییر دادن داده‌ها بر روی Blockchain استفاده کنید، که این Blockchain می‌تواند یک مدل YouTube مانند برای ویدیوها، (مانند Vuily) یا یک مدل Dropbox برای چینش فایل‌ها، (مانند Stori.jo، SiaTech) یا حتی بازی‌ای مانند Cryptokitties باشد. لیست موارد استفاده از آن بی پایان است.

اگر هیچ سکه جدیدی وجود نداشته باشد، چه اتفاقی می‌افتد؟

آیا به یاد دارید که در بخش قبلی فرض کردیم که هیچ مبلغ جایزه‌ای برای برنده محاسبه hash صحیح وجود ندارد؟ این باعث می‌شود که سوال جدیدی به وجود بیاید: اگر شخصی قرار نیست جایزه‌ای دریافت کند، چرا باید کامپیوتر خود را در اختیار پردازش قرار دهد؟ بله، خودتان جواب را می‌دانید. درست همانطور که دستگاه جمع‌آوری پول در خارج از خانه‌ها پول را گرفته و به صاحب گاراژ برنده تحویل داد، هر تراکنشی بر روی Blockchain هم به مقدار بخش کوچکی از پول، می‌ارزد. این مقدار کم از تمام تراکنش‌ها کسر می‌شود. وقتی که یک Block بر روی Blockchain معدن‌کاری (Mine) می‌شود، (hash آن توسط تمام کامپیوترهای موجود بر روی شبکه محاسبه شده می‌شود) کامپیوتر برنده در مسابقه Mining، پول کسر شده از تمام تراکنشات Mine شده در آن Block مربوطه را به عنوان جایزه دریافت می‌کند. این باعث می‌شود که مدل رمزنگاری حتی بعد از این که هیچ سکه جدیدی وجود نداشته باشد، پایدار بماند. حال می‌دانید که چرا برخی افراد در حال خریدن دستگاه‌های بزرگ هستند.

نتیجه گیری

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

منبع

مقالات پیشنهادی

توضیح Blockchain به زبان ساده - بخش اول

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

یک وبسایت ساده Node.js به همراه احراز هویت کاربر - بخش دوم

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

وب سایت های الهام بخش برای طراحی - سری 8

امروز قصد داریم یک سری وبسایت های خارجی که بطور کاربردی ، زیبا و قدرتمند طراحی شدن رو براتون قرار بدیم تا شما بتونین با طریقه طراحی اونها آشنا بشین یا...

افسانه های UX - تصاویر Stock به تجربه کاربری کمک می کند

خیلی اوقات کاربران فکر می کنند که Stock photos ها به رابط کاربری وبسایت کمک می کنند، برای درک این مسئله ابتدا باید بدانیم که Stock photos چیست؟ Stock...