در این مقاله سعی داریم با واژه بلاک چین و نحوه کار آن آشنا بشیم. وقتی شما می خواهید پولی را برای فرد دیگری ارسال کنین چه کاری انجام می دهید؟ بله، به بانک میرید و از طریق بانک ترتیب این کارو میدین. پس در واقع بانک واسطه ایی بین شما و آن فرد است .
درواقع کارمند بانک با گذاشتن یک صفر بیشتر یا کمتر، عمدا یا سهوا مبلغ بیشتری یا کمتری را از حساب شما برداشت کرده و به حساب آن فرد واریز کنه. در واقع شما در این انتقال به بانک که همان شخص ثالث یا واسطه است اعتماد می کنید که به این تراکنش نظارت بکنه. در این نوع از انتقالات که به صورت غیر متمرکز (یعنی با نظارت یه واسطه ) انجام میشه احتمال خطای سهوی و عمدی در این روش از انتقال بالا است.
خب الان تصور کنید ما بدون واسطه ای مانند بانک بخواهیم انتقال پول انجام بدهیم قطعا به این شکل خیال ما راحت تر است. اگر این انتقال بین سه نفر باشد چی؟ پس باید یه شبکه سه تایی تشکیل بشه اگر این انتقالات بین ده نفر باشه چی؟ خب آقا چه کاریه؟ تعدادی از افراد جمع بشیم بی واسطه نقل و انتقالات و بین خودمان انجام بدهیم به طوری که هر انتقالی که بین اعضای گروهمان انجام می شود, توسط همه اعضا گروه ثبت و تایید بشه چون که ثبت ده نفر ارزشش ییشتر از ثبت یکی دو نفره و کار از محکم کاری عیب نمی کنه. خب اینجاست که بلاک چین چیست بر ای ما نمود عینی پیدا می کنه. وقتی تعداد افراد بیشتر میشه شبکه ای به وجود میاد و اولین زنجیره بلاک ها شکل میگیره.
بلاکچین BLOCK CHAIN چیست؟
بلاک چین را باید نوع خاصی از پایگاه داده دانست. ممکن است در بررسی تخصصی رمز ارزها همانند بیت کوین عبارت دفتر کل توزیع شده (DLT –> Distributed Ledger Technology) را همچنین در کنار Blockchain شنیده باشید. هر دو، به مفهوم یکسانی اشاره میکنند.
بلاکچین دارای خصوصیات منحصربهفردی است و قوانین مشخصی درباره چگونگی اضافه شدن دیتا وجود دارد. یکی از نکاتی که این فناوری را برای توسعه رمز ارزها تبدیل به بستری فوقالعاده کرده، غیر ممکن بودن دستکاری یا تغییر داده بعد از ذخیرهسازی آن است.
داده با پیش رفتن در زمان، در چارچوبی متشکل ازبلاکها اضافه میشود. هر بلاک سوار بر آخرین مورد ساخته شده و حاوی اطلاعاتی برای لینک (متصل) شدن به بلاک قبلی است. با مشاهده جدیدترین و بهروزترین بلوک، میتوانیم ساخته شدن آن بعد از آخرین گزینه را بررسی کنیم. با پیش رفتن در بلاک چین (زنجیره) و دنبال کردن بلاکها از انتها به ابتدا، به نخستین مورد تحت عنوان جنسیس بلاک (Genesis block) خواهیم رسید.
برای درک بهتر بلاکچین از یک تشبیه استفاده میکنیم. صفحه گستردهای متشکل از دو ستون را در نظر بگیرید. در اولین ستون از نخستین صف، دادهای دلخواه به منظور ذخیرهسازی قرار میدهید.
دیتای اولین سلول به یک شناسه دو حرفی تبدیل شده و سپس به عنوان بخشی از ورودی بعدی مورد استفاده قرار میگیرد. در این مثال، شناسه دو حرفی KP باید برای پر کردن سلول بعدی در صف دوم (defKP) استفاده شود. در نتیجه اگر اولین داده ورودی (abcAA) را تغییر بدهید، ترکیب متفاوتی از حروف را در سایر سلولها دریافت خواهید کرد.
-
یک پایگاه داده که هر ورودی به آخرین آن پیوند دارد
با نگاه به صف 4 متوجه خواهید شد جدیدترین شناسه TH است. آیا ذکر ویژگی عدم امکان بازگشت و سپس تغییر یا حذف ورودیها در بلاک چین را به خاطر دارید؟ هر فردی به راحتی میتواند ادعای انجام آن را مطرح کند، اما با این کار تلاشتان برای تغییر را نادیده گرفتهاند. برای درک بهتر مثال زیر را در نظر بگیرید.
تصور کنید دیتای نخستین سلول این بلاک چین را تغییر دادهاید. در ادامه یک شناسه متفاوت دریافت کرده و سلول بعدی نیز متناظر با این تغییر، دادهای متفاوت خواهد داشت. در پی آن شناسه سلول دوم نیز تغییر کرده و این روال همینطور ادامه پیدا میکند؛ دست بردن در دیتای نخستین سلول، سبب میشود تغییر به صورت ویروسی در سرتاسر پایگاه داده پخش شده و کل ماهیت آن عوض شود. بر اساس این نحوه کار بلاکچین میتوان دریافت شناسه TH در آخرین صف (پنجمین سلول)، محصول تمام اطلاعات موجود پیش از آن است. هر تغییر پیش از صف 4، به ایجاد شناسهای دیگر ختم میشود.
بلاکها چگونه به یکدیگر متصل میشوند؟
آن چه در بالا درباره تولید شناسههایی دو حرفی توضیح دادیم، قیاسی ساده از نحوه استفاده بلاک چین از توابع هش است. هشینگ را میتوان به چسبی تشبیه کرد که بلاکها را در Blockchain به یکدیگر متصل نگه میدارد. این شامل گرفتن داده با هر اندازه و سپس عبور دادنش از یک تابع ریاضی به منظور تولید یک خروجی (یک هش) است که همیشه طول ثابتی دارد.
هشهای مورد استفاده در بلاک چین بسیار جالب هستند؛ شانس یافتن دو قطعه داده که دقیقا خروجی یکسانی تولید میکنند، بسیار پایین است. شبیه به زمان ایجاد شناسههای دو حرفی در مثال بالا، هر گونه دستکاری دیتای ورودی سبب ایجاد خروجی کاملا متفاوتی خواهد شد.
این حقیقت که هنوز توسط تابع SHA256 برای دو ورودی متفاوت یک خروجی مشابه تولید نشده و به عبارتی تداخل رخ نداده است، در مفهوم بلاک چین بسیار ارزشمند است. به این ترتیب هر بلاک میتواند با داشتن هش بلاک قبلی به آن اشاره کند. هر تلاش برای دست بردن در موارد قبلی، خیلی زود مشخص خواهد شد.
بلاک چین و بحث غیر متمرکزسازی
تا این جای مقاله با ساختار کلی بلاک چین آشنایی پیدا کردیم. کاربران کمتر به طور محض درباره خود دیتابیس بلاکچینی صحبت کرده اند و بیشتر روی اکوسیستمهایی نظیر بیت کوین و اتریوم که بر مبنای این تکنولوژی ایجاد شدهاند، تمرکز دارند.
به عنوان ساختارهای پایگاه داده مستقل، بلاک چین ها فقط در برنامههای کاربردی مفید هستند. قضیه زمانی جالب میشود که این نوع دیتابیس را در پروژههایی کاملا متفاوت به کار میبریم؛ یک بلاکچین در ترکیب با چند تکنولوژی و تئوری بازی، میتواند در قالب دفتر کل توزیع شدهای که توسط هیچ فرد خاصی (به تنهایی) کنترل نمیشود، عمل کند. در اینجا هیچ فردی برای ویرایش ورودیها، خارج از چارچوب تعریف شده توسط سیستم، قدرت ندارد. در چنین شرایطی میتوان ادعا کرد دفتر کل (دیتابیس) متعلق به تمامی کاربران دخیل در سیستم است. شرکتکنندگان درباره شکل ظاهری آن به توافق میرسند.
چرا بلاک چین باید غیر متمرکز باشد؟
البته، امکان اداره کردن یک بلاک چین توسط کاربری خاص وجود دارد، اما در نهایت با پایگاه دادهای عجیب در مقایسه با سایر موارد رو به رو خواهید شد. از پتانسیل واقعی بلاکچین میتوان در یک محیط غیر متمرکز بهره برد. در چنین حالتی، همه کاربران یکسان بودن و از نظر قدرت مدیریت، هیچ یک بر دیگری برتری و قدرت ندارد. به این ترتیب امکان حذف کردن یا تصاحب عمدی Blockchain توسط فرد یا عدهای خاص از بین میرود؛ همه در برخورد با پایگاه داده، در اینجا بلاکچین، به عنوان منبعی سرشار از حقایق، برابر هستند!
منظور از نودها (گرهها) در بلاکچین چیست؟
تمامی ماشینهای متصل به شبکه را نود یا گره خطاب میکنیم. هر یک از آنها، یک کپی از بلاک چین را در خود نگه داشته و اطلاعات را با دیگر دستگاههای متصل به همان شبکه به اشتراک میگذارد. کاربران نیازی به مدیریت دستی این فرآیندها ندارند. آنها کافی است نرم افزار مربوط به همان BlockChain را دانلود و نصب کنند تا همه اعمال به صورت خودکار پیش بروند.
نوشته بالا، تعریف کلی از مفهوم گره یا همان نود در نتورک بود، اما در حالت کلی، میتواند سایر کاربران یا اشیای در تعامل با شبکه به هر نحو را نیز شامل شود. در دنیای رمز ارزها، به عنوان نمونه، یک اپلیکیشن والت موبایل ساده به عنوان یک نود سبک (لایت) شناخته خواهد شد.
بلاک چینهای خصوصی و عمومی
امروزه، انواع بلاک چین عمومی، خصوصی، هیبرید و کنسریوم بر اساس نیاز کاربران ساخته شده است. بیت کوین، اساس صنعت بلاک چین را پیریزی کرد تا به شکل موفقی که امروز مشاهده میکنید، رشد کند. از زمانی که بیت کوین اثبات خود به عنوان یک دارایی قانونی را آغاز کرده، افراد نوآور در پی استفاده از تکنولوژی زیربنایی آن در دیگر حوزهها و صنایع بودهاند. این تلاشها سبب تولد پروژههای متعددی بر مبنای Blockchain خارج از بحث مالی و رمز ارزها شدهاند.
بیت کوین را باید یک بلاک چین عمومی خطاب کرد، چرا که هر فردی قادر به مشاهده تراکنشهای انجام شده در شبکه این رمز ارز است. به این منظور کافی است اتصال به اینترنت را برقرار و از یک نرم افزار کامپیوتری مناسب استفاده کنید. از آنجایی که هیچ شرط دیگری برای مشارکت وجود ندارد، میتوان آن را محیطی بدون نیاز به کسب اجازه (Permissionless) به منظور تبدیل شدن به عضوی از شبکه تلقی کرد.