بلاک چین چیست و چگونه کار می کند؟ — به زبان ساده
بلاک چین یک فناوری جدید و انقلابی در سیستمهای مدیریتی دنیا است. هدف بلاک چین این است که فعالیتهایی را که توسط سازمانها و نهادهای دولتی انجام میشود، بدون آنها پیش ببرد. مطمئنا با ارزهای دیجیتالی مثل بیتکوین و اتریوم که از طریق فناوری بلاک چین به وجود آمدهاند، آشنا هستید. ارزهای دیجیتال تنها بخشی از دنیای شگفتانگیز بلاک چین را تشکیل میدهند. در این مقاله فرآیند کامل ثبت اطلاعات در بلاک چین به همراه تکنولوژیهای مورد استفاده مانند رمزنگاری و الگوریتمهای اجماع شرح داده شده است. در کنار آن مفاهیمی چون مقیاسپذیری، گره و تابع هش با مثالهای ساده بررسی شده و در نهایت تاریخچه ایجاد و کاربردهای بلاک چین به طور کامل توضیح داده شده است.
بلاک چین چیست ؟
بلاک چین نوع خاصی از پایگاه داده است که اطلاعات در آن ذخیره میشود. اما یک سری ویژگیهای خاص، بلاک چین را از سایر پایگاه دادهها متمایز میکند. برای اضافه کردن داده جدید به بلاک چین یک سری قوانین وجود دارد. همچنین پس از اضافه شدن داده به بلاک چین و ذخیره آن، دیگر نمیتوان آن را ویرایش یا حذف کرد.
دادهها در شبکه بلاک چین در ساختاری متشکل از «بلوکها» (Blocks) وارد پایگاه داده میشوند. هر بلوک در ادامه بلوک قبلی ساخته میشود و شامل اطلاعاتی است که آن را به بلوک قبلی متصل میکند. با توجه به اینکه این بلوکها به وسیله اطلاعاتی به همدیگر وصل هستند، بنابراین یک «زنجیره» (Chain) تشکیل میدهند که در آن بلوکها به ترتیب ساخت در کنار هم قرار میگیرند. به اولین بلوک شبکه که قبل از آن بلوک دیگری وجود ندارد «بلوک پیدایش» (Genesis Block) گفته میشود.
برای درک بهتر ساختار زنجیره بلوکی، فرض کنید دو ستون بر روی یک برگه رسم شده است. شما هر دادهای که میخواهید نگهداری کنید را در سطر اول از ستون اول قرار میدهید. داده درون این سلول، طی فرآیندی محاسباتی تبدیل به یک کلمه جدید با دو حرف میشود. این کلمه در ورودی بعدی مورد استفاده قرا میگیرد. در این حالت هر تغییری در سلول اول، منجر به تغییراتی در بلوک دوم و تا آخر زنجیره میشود. تصویر زیر مثالی از پایگاه دادهای است که اطلاعات در آن به صورت زنجیرهای به هم وصل شدهاند.
پیش از ادامه مطلب باید اشاره کنیم اگر میخواهید آشنایی بهتر و بیشتری با بلاکچین داشته باشید، میتوانید از مجموعه آموزش برنامه نویسی بلاک چین Blockchain مقدماتی تا پیشرفته فرادرس استفاده کنید.
بنابراین آخرین شناسنامه بلوکی که در اینجا TH است، حاصل تمام اطلاعات وارد شده در ردیفهای قبلی است و هر تغییری در یکی از این دادهها منجر به تغییر همه دادهها خواهد شد. مثال ذکر شده در واقع توضیح ساده فرآیند «هشینگ» (Hashing) در بلاک چین است.
کاربرد تابع هش در بلاک چین
هش کردن فرآیندی است که بلوکها را در کنار هم نگه داشته و زنجیره بلوکی ایجاد میکند. در فرآیند هشینگ دادهها با هر اندازهای وارد توابع ریاضی خاص میشوند تا خروجی که همان «هش» (Hash) است را تولید کنند. طول این هش همواره ثابت است و ربطی به طول ورودی به تابع ندارد.
توابع هش مورد استفاده در بلاک چینها به گونهای هستند که احتمال پیدا کردن دو داده که دقیقا خروجی یکسانی داشته باشند، تقریبا صفر است. بنابراین همانند مثال بالا، هر اصلاح مختصری در دادههای ورودی یکی از بلوکها، منجر به تغییر در خروجی خواهد شد. به عنوان مثال، «SHA256» تابع هشی است که در بلاک چین بیتکوین مورد استفاده قرار میگیرد. تنها با تغییر دادن حرف اول یک عبارت طولانی در این تابع، خروجی کاملا متفاوتی ایجاد میشود.
این واقعیت که هیچ دو ورودی متفاوتی در تابع هش، منجر به خروجی یکسان نمیشود، برای تکنولوژی بلاک چین مهم و حیاتی است. این بدین معنی است که هر بلوک، با داشتن هش حاصل از بلوک قبلی به آن وصل میشود. بنابراین هر تلاشی برای ویرایش بلوکهای قدیمی بلافاصله آشکار میشود. در ادامه و در بخشهای مختلف، کاربردهای دیگر تابع هش در شبکه بلاک چین توضیح داده خواهد شد.
ساختار غیرمتمرکز بلاک چین
تا به حال ساختار بلاک چین به عنوان یک پایگاه داده بررسی شد و دیدیم که دادهها در این ساختار، زنجیروار به همدیگر متصل هستند. اگر به بلاک چین به عنوان پایگاه داده مستقل نگاه کنیم آنگاه فقط در برخی از اپلیکیشنهای کاربردی استفاده خواهد شد. اما ما بلاک چینها را به عنوان ابزاری برای هماهنگی افراد مختلف استفاده میکنیم.
در این حالت بلاک چین میتواند با استفاده از «نظریه بازی» (Game Theory) و سایر فناوریها، به عنوان «دفتر کل توزیع شده» (Distributed Ledger) عمل کند که توسط هیچ کس کنترل نمیشود. این بدین معنا است که در این سیستم هیچ کس توانایی ویرایش دادهها را خارج از قوانین سیستم نخواهد داشت. بنابراین میتوان اینطور در نظر گرفت که دفتر کل به طور همزمان متعلق به همه است و برای هر تغییری در آن باید اکثریت به توافق برسند. شاید با یک مثال ساده بتوان درک بهتری از غیرمتمرکز بودن بلاک چین داشت.
مثال برای درک ساختار غیر متمرکز بلاک چین
فرض کنید در یک کلاس درس، دانشآموزان کلاس از همدیگر پول قرض میگیرند و هر وقت پول داشتند، آن را عودت میدهند. مبصر کلاس برای اینکه کسی بدهی خود را انکار نکند، گزارش تمام بدهیها را در دفتر خود ثبت میکند. حال دانشآموزان میتوانند با مراجعه به مبصر کلاس و مطالعه این دفتر از وضعیت بدهیها و طلبهای خود آگاه شوند. شرایطی را در نظر بگیرید که دفتر مبصر گم شده یا آتش گرفته باشد. در این حالت چه اتفاقی میافتد؟ احتمالا دانشآموزانی که بدهکار هستند این موضوع را انکار میکنند.
حتما تا به حال متوجه شدهاید که ثبت اطلاعات در دفتری که احتمال دستکاری یا از بین بردن آن وجود دارد چقدر خطرناک است. برای اینکه این مشکل حل شود، راه حل پیشنهادی این است که تمام بده بستانها در دفتر تمام بچهها نوشته شود. در این حالت همه بچهها یک نسخه از وضعیت کنونی را دارند. بنابراین در صورتی که یک دفتر گم شود دفترهای دیگر وجود دارند و مشکلی پیش نخواهد آمد. همچنین اگر کسی بخواهد دستکاری در دفتر انجام بدهد مورد قبول نخواهد شد مگر در حالتی که دفترِ بیش از نصف دانشآموزان کلاس را تغییر دهد. این مثال مشابه راه حلی است که بلاک چین برای حذف اعتماد بین افراد مختلف ارائه کرده است.
ویژگی مرکزگریزی بلاک چین، یک پتانسیل واقعی برای ایجاد محیطهای غیرمتمرکز ایجاد میکند که در آن همه افراد باهم برابر هستند. در این حالت، بلاک چین قابل حذف نیست و نمیتوان به صورت مخرب آن را کنترل کرد.
مساله فرماندهان بیزانسی در بلاک چین
مشکل اصلی در برابر ایجاد سیستمهای غیرمتمرکز توضیح داده شده، چالشی است که با نام «مساله فرماندهان بیزانسی» معروف است. این مساله در سال 1980 به این صورت مطرح شد که برای هماهنگی اقدامات در یک جمع، تکتک افراد باید با همدیگر ارتباط داشته باشند. مثال بارز این اتفاق زمانی است که فرماندهان جنگ، شهری را محاصره کردهاند و میخواهند در مورد حمله به آن تصمیمگیری کنند. تنها راه ارتباطی آنها نیز استفاده از پیامرسان است.
در این حالت هر فرمانده به طور جداگانه باید تصمیم حمله یا عقبنشینی بگیرد. مساله حمله یا عقبنشینی در این حالت اهمیتی ندارد. آن چه مهم است توافق بر روی یک تصمیم مشترک است. اگر آنها تصمیم به حمله بگیرند، در صورتی موفق خواهند بود که همزمان این کار را انجام دهند. با وجود اینکه فرماندهان از طریق پیامرسانها میتوانند با هم هماهنگ شوند اما مشکلاتی در این بین به وجود میآید. به عنوان مثال پیامرسان میتواند پیام حمله فرمانده را با پیام عقبنشینی جایگزین کند.
بنابراین، ما به یک استراتژی نیاز داریم که توسط آن به «اجماع» (Consensus) برسیم. در این حالت، رهگیری پیامها یا حضور افراد غیرمطمئن، خللی در کار ایجاد نمیکند. پس، در صورتی که بخواهیم بدون اینکه کسی بر بلاک چین نظارت کند، اطلاعات صحیح به سایرین انتقال دهیم، حتما باید راهکاری بیندیشیم تا افراد بتوانند با یکدیگر ارتباط برقرار کنند.
برای غلبه بر مشکلات احتمالی که توسط یک یا چند کاربر میتواند به شبکه بلاک چین تحمیل شود، باید قوانین و مکانیزمها طوری طراحی شوند که در برابر آنها مقاوم باشند. اگر سیستمی این ویژگی را داشته باشد به آن سیستم «بیزانسی مقاوم در برابر خطا» گفته میشود. این ویژگی به وسیله الگوریتمهای اجماع در شبکه بلاک چین ایجاد شده است که در ادامه به بررسی آنها خواهیم پرداخت.
شبکه همتا به همتا چیست؟
شبکه «همتا به همتا» (peer-to-peer) لایه کاربران است که در آن افراد به طور مستقیم با یکدیگر ارتباط برقرار و اطلاعات رد و بدل میکنند. وقتی شما با دوست خود به طور مستقیم صحبت میکنید یک ارتباط همتا به همتا ایجاد میکنید. اما اگر با او تماس تلفنی داشته باشید، تماس شما توسط یک سرور بررسی و سپس به دوست شما اطلاعرسانی میشود. این ارتباط دیگر همتا به همتا نیست.
در اصل ارتباط همتا به همتا در سیستمهای متمرکز وجود ندارد و مختص شبکههای غیرمتمرکز است. در سیستم متمرکز معمولا تمام اطلاعات در سرور قرار دارد. بنابراین شما باید برای دسترسی به آنها، درخواستی برای سرور بفرستید و در صورت تایید از سمت سرور، آن را دریافت کنید. در این حالت شما اگر تمام دادههای سرور را دانلود و در سیستم خود نگهداری کنید، میتوانید بدون نیاز به سرور به اطلاعات دسترسی داشته باشید.
در شبکه بلاک چین افراد دقیقا چنین کاری انجام میدهند و تمام دادههای شبکه در کامپیوتر آنها ذخیره میشود. بنابراین اگر کاربری از شبکه خارج شود، بقیه کاربران همچنان به دادهها دسترسی دارند و میتوانند با همدیگر اطلاعات رد و بدل کنند. در زمان تشکیل یک بلوک جدید، داده آن در شبکه پخش میشود و افراد میتوانند دفتر کل خود را بهروز کنند.
گره یا نود (Node)
گره یا نود شبکه به شکل ساده، دستگاهها یا ماشینهایمتصل به شبکه هستند که کپی اطلاعات بلاک چین را نگهداری میکنند. همچنین نودها وظیفه اشتراک اطلاعات با دیگر دستگاهها را بر عهده دارند. به طور کلی، برای راهاندازی نود کافی است نرمافزار شبکه دانلود و نصب شود. بقیه مراحل توسط خود سیستم و نرمافزار انجام خواهد شد.
تعریف بالا تعریف خالصی از نود بود. در تعاریف دیگر به هرکسی که با شبکه در ارتباط است نیز نود یا گره گفته میشود. به عنوان مثال در رمزارزها، یک اپلیکیشن کیف پول در گوشی شما به عنوان یک نود در شبکه شناخته میشود.
بلاک چین چگونه کار می کند؟
در قسمتهای قبل گفته شد که بلاک چین زنجیرهای از بلوکها است و هر بلوک لیستی از تراکنشهای تایید شده را در خود ذخیره میکند. با توجه به این که سیستم بلاک چین توسط تعداد زیادی کامپیوترِ توزیع شده در سرتاسر دنیا کار میکند، بنابراین به عنوان یک دفتر کل توزیع شده میتوان به آن نگاه کرد. این بدان معنی است که هر گره، یک کپی از دادههای بلاک چین را در اختیار و با دیگر گرهها تعامل دارد تا همگام با آنها باشد.
مطلبی که در بالا مطالعه کردید بخشی از مجموعه مطالب «آموزش ارزهای دیجیتال — راهنمای مفاهیم و اصطلاحات رمزارزها» است. در ادامه، میتوانید فهرست این مطالب را ببینید:
- دفتر کل توزیع شده چیست ؟ — توضیح DLT به زبان ساده
- بلاک چین چیست و چگونه کار می کند؟ — به زبان ساده(همین مطلب)
- کاربرد بلاک چین چیست ؟ — هر آنچه باید بدانید
- هش در بلاک چین چیست ؟ – به زبان ساده
- آموزش ارز دیجیتال به زبان ساده — بهترین راهنما برای شروع مبتدی ها
- آموزش بلاک چین ، رمزارزها و بیت کوین جادی — رایگان + دانلود همه بخشها
- اصطلاحات ارز دیجیتال که باید بدانید + توضیح به زبان ساده
- رمز ارز چیست ؟ — آموزش کامل به زبان ساده
- استخر نقدینگی چیست ؟ – توضیح Liquidity Pool به زبان ساده
- انواع بلاک چین چیست ؟ — به زبان ساده
- تفاوت های بلاک چین های عمومی و خصوصی — به زبان ساده
- کریپتو چیست ؟ — به زبان بسیار ساده
- راه های کسب درآمد از ارز دیجیتال – ۱۰ روش کلیدی که باید بدانید
- آموزش رمزنگاری رایگان + مفاهیم پایه و منابع یادگیری — به زبان ساده
- ارز دیجیتال چیست ؟ — به زبان ساده
- صرافی ارز دیجیتال — کدام صرافی آنلاین ارز دیجیتال برای ایرانیان بهتر است؟
- بهترین کیف پول ارز دیجیتال کدام است ؟ | راهنمای استفاده تصویری گام به گام
- کیف پول دیجیتال چیست و کدام کیف پول ارز دیجیتال بهتر است؟
- فورک چیست ؟ — انواع و تاثیر روی قیمت به زبان ساده
- وایت پیپر چیست ؟ — اهمیت و کاربرد به زبان ساده
- استخراج ارز دیجیتال چیست ؟ — راهنمای ماینینگ به زبان ساده
- الگوریتم اثبات کار چیست ؟ — Proof of Work به زبان ساده
- اثبات سهام چیست ؟ — Proof of Stake به زبان ساده
- استخراج اتریوم چیست و چگونه اتریوم استخراج کنیم؟ — از صفر تا صد
- انواع ارز دیجیتال چیست؟ — راهنمایی برای سرمایه گذاری آگاهانه
- توکن سوزی چیست ؟ — مفهوم، علت و تاثیر به زبان ساده
- آلت کوین چیست ؟ — توضیح مفهوم به زبان ساده
- شت کوین چیست ؟ — از مفهوم تا ویژگی ها و تشخیص به زبان ساده
- قرارداد هوشمند چیست ؟ — Smart Contract به زبان ساده
- توکن چیست ؟ — کاربرد و اهمیت به زبان ساده
- تفاوت کوین و توکن در ارز دیجیتال چیست ؟ — به زبان ساده
- دیفای چیست ؟ — توضیح مفهوم DeFi به زبان ساده
- فارمینگ ارز دیجیتال چیست ؟ — کشت سود به زبان ساده
- NFT چیست و چطور کار می کند ؟ | همه چیز درباره توکن غیر قابل معاوضه ان اف تی
- ساخت NFT — آموزش کامل و به زبان ساده
- فروش NFT — آموزش از صفر تا صد و کامل
- متاورس چیست ؟ — به زبان ساده
- خرید زمین در متاورس چیست و چگونه است؟ — راهنمایی برای همه
- چگونه وارد متاورس شویم ؟ — راهنمای صفر تا صد
- وب 3 چیست و چه نقشی در آینده اینترنت دارد؟ — نسل سوم وب به زبان ساده
- بیتکوین چیست و چگونه عمل میکند؟
- بهترین روش کسب درآمد از بیت کوین و ارز دیجیتال — راهنمای جامع
- بازار کریپتو چیست ؟ – به زبان ساده + مزایا و معایب
- هودل چیست و HODL کردن به چه معناست؟ — به زبان ساده
- ایردراپ چیست ؟ — آموزش دریافت ارز دیجیتال رایگان
- عرضه اولیه ارز دیجیتال چیست ؟ — هر آنچه باید در مورد ICO بدانید
- بهترین ارزهای دیجیتال در سال 1401 یا 2022 کدام هستند؟
- توکنومیک چیست ؟ – توضیح به زبان ساده
- اصطلاحات ترید ارز دیجیتال که باید بدانید – توضیح 83 اصطلاح کلیدی
- استیکینگ چیست ؟ – استیکینگ در ارز دیجیتال به زبان ساده
- بازار خرسی چیست ؟ – در ارز دیجیتال و بورس
- ماینینگ چیست ؟ – توضیح در ارز دیجیتال و به زبان ساده
- بلاک چین چگونه کار میکند؟ — به زبان ساده
- بازار گاوی چیست ؟ – در ارز دیجیتال و بورس
- ساخت کیف پول بیت کوین بلاک چین — راهنمای تصویری
- الگوریتم اجماع چیست ؟ – به زبان ساده + انواع و کاربردها
- گره در بلاک چین چیست ؟ – توضیح نود Node به زبان ساده
- شاردینگ در بلاک چین چیست ؟ – به زبان ساده
- مقیاس پذیری در بلاک چین چیست ؟ – توضیح به زبان ساده
- نانس چیست ؟ – توضیح عدد nonce در بلاک چین به زبان ساده
- ولیدیتور چیست ؟ – توضیح اعتبار سنج در ارز دیجیتال
- آزادسازی توکن چیست ؟ – توضیح Token Unlock به زبان ساده
- درخت مرکل در بلاک چین چیست ؟ – Merkle Tree به زبان ساده
- TXID چیست ؟ – پیگیری تراکنش ارز دیجیتال با شناسه تراکنش
- مارت در ارز دیجیتال چیست ؟ – توضیح روش پله ای به زبان ساده
- چگونه از ارز دیجیتال سود بگیریم؟ – راهنمای صفر تا صد
سلام. اجازه استفاده از این مقاله رو برای ارائه در کلاس دارم؟
با سلام؛
برای استفاده از مطالب مجله فرادرس میتونید به شرایط استفاده در انتهای صفحه یا این لینک مراجعه کنید.
با تشکر از همراهی شما با مجله فرادرس