امروزه بلاک چین با شهرت یافتن بیت کوین به عنوان اولین ارز دیجیتال بر سر زبانها افتاده است. در ادامه میخواهیم این فناوری را به زبانی ساده تعریف کنیم.
این روزهای همه از ناآشناترین افراد به دنیای تکنولوژی تا کسانی که در بورس مشغول هستند در مورد بیت کوین صحبت میکنند. در این مقاله قصد نداریم در مورد آینده اقتصادی بیت کوین حرف بزنیم بلکه سعی داریم به بررسی تکنولوژی اصلی این پدیده که منجر به کار کردن بیت کوین میشود و این فناوری زیرساختی بیت کوین که همان بلاک چین است و ظرفیتهای آن برای دهههای بعد در دنیای فناوری بپردازیم.
مروری تاریخی داشته باشیم
در اکتبر سال ۲۰۰۸، مقاله سفیدی از سوی یک فرد یا سازمان ناشناس به نام «ساتوشی ناکاموتو» منتشر شد که رویکرد جدیدی برای ارسال پول از فرستنده به دریافت کننده به طور مستقیم و بدون دخالت هیچ واسطه مالی توضیح میداد. در این مقاله به مفهوم بیت کوین اشاره شده است و چون بیت کوین از چند مفهوم رمزنگاری شده استفاده میکند این روش جدید مبادله پول، ارز رمزنگاری شده نام گرفت. تنها هدف بیت کوین برای مبادلات مالی بود اما محققان پی بردند که این تکنولوژی اساسی میتواند نقش کلیدی درساخت دیگر برنامههای امن و قدرتمند که منجر به انقلابی عظیم در کار سیستمهای فعلی میشوند داشته باشد. بلاک چین نامی است که به این فناوری انقلابی داده شده است.
بلاک چین چیست؟
تصور کنید در شهری زندگی میکنید که دارای پارکینگی یک طبقه با ظرفیت ۲۰۰ خودرو است. این فضای پارکینگ از یک درب اصلی برخوردار است که همیشه بسته است و تنها زمانی باز میشود که ماشینی قصد عبور یا خروج داشته باشد. حال بیایید این پارکینگ را از زوایای مختلف مورد بررسی قرار دهیم.
قیمت: چون این پارکینگها توسط کمپانیهای خصوصی به طور انحصاری برای اهداف پارک کردن خودرو ساخته میشوند تمام هزینههای نگه داری بر عهده خود شرکتها میباشد. هزینه اجاره چنین فضاهای پارک به طور انحصاری معمولا بالا خواهد بود.
امنیت: اگر دزد به در اصلی پارکینگ دسترسی پیدا کند به راحتی میتواند به ماشین شما دستبرد بزند.
محدودیت: تصور کنید تعداد ماشینهای شهر شما روز به روز افزایش یابند در این صورت فضای پارک کردن برای خودروها محدود خواهد شد و دیگر کمپانیهای خصوصی مجبور خواهند شد پارکینگهای جدیدی بسازند.
اعتماد: شما به شرکتهای سازنده پارکینگ اعتماد میکنید و آنها در قبال این اعتماد مسئول امنیت خودروهای شما هستند.
متمرکز: چون همه ماشینها در یک جا قرار دارند در نتیجه این پارکینگها ماهیت متمرکز دارند
حال میخواهیم این سناریو را تغییر دهیم. تصور کنید ۲۰۰ خانه در شهرتان وجود دارد و هر کدام از این ۲۰۰ خانه دارای دو گاراج هستند. برای ساده سازی این فرضیه، فرض کنید هر صاحبخانه یک ماشین دارد در این صورت یکی از فضای یکی از گاراجها خالی میماند، اکنون مردم تصمیم میگیرند که فضای خالی گاراج اضافی را به هر کسی که پارکینگ نیاز دارد اجاره دهند. این مدل ایجاد پارکینگ مشکل پارک ۲۰۰ یا حتی بیشتر از ۲۰۰ تا خودرو را حل میکند بدون اینکه نیاز به ساخت فضای پارک بزرگتر برای تمام شهر باشد. مشابه سناربو قبلی بیایید این سناریو را تجزیه و تحلیل کنیم.
هزینه: بخاطراینکه این گاراجها به طور انحصاری برای اهداف اجارهای ساخته نمیشوند و هزینه نگه داری آنها کم است در نتیجه هزینه اجاره کردن آنها در مقایسه با پارکینگهایی که توسط کمپانیها ساخته میشوند بسیار پایینتر است.
امنیت: هر ماشین در یک گاراج به طور مجزا قفل شده است در نتیجه سارقان اگر بخواهند به تمام ماشینها دسترسی داشته باشند میبایست قفل تمام این گاراجهای اختصاصی را باز کنند پس خودروها در امنیت بیشتری قرار دارند. ( البته امنیت در بلاکچین بهگونهای دیگر تعریف میشود اما در حال حاضر از همین تعریف برای آن استفاده میکنیم.)
محدودیت: همانطور که تعداد خانههای شهر افزایش مییابد و با این فرض که هر خانه جدید دارای یک گاراج اضافی است در نتیجه فضای نگه داری خودرو بیشتر میشود و به تبع تعداد اجاره دهنده و اجاره کننده افزایش مییابد.
بیاعتمادی: از آنجایی که هیچ مرجع یا سازمانی برای کنترل این پارکینگهای غیرمتمرکز وجود ندارد فرض میکنیم که قوانین توسط صاحبان گاراج برای اجاره کردن مکان خود تصویب میشوند.
غیرمتمرکز: همانطور که در نکته قبلی اشاره شد، این پارکینگها در سراسر شهر پخش شدهاند بنابراین میتوانیم آنها را پارکینگهای غیرمتمرکز در نظر بگیریم.
این دو قیاس مذکور شما را برای درک بهتر تکنولوژی بلاک چین آماده میکند.
مدل پارکینگ تا مدل فنی
این مدلهای پارکینگ بررسی کلی از بلاک چین را نشان میدهد. اکنون سعی میکنیم جزئیات مثالهای پارکینگ را به مدل فنی واقعی تطابق دهیم.
پارکینگ مرکزی بزرگ همچون سرورهای شرکت AWS (خدمات تحت وب آمازون) یا گوگل کلاود یک سیستم متمرکز شده است.
ماشینها اطلاعات و برنامهها هستند.
پارکنیگهای غیرمتمرکز همان بلاک چین است که یک سیستم غیرمتمرکز میباشد.
این نکته را بخاطر بسپارید که تمام سیستمهای غیرمتمرکز بلاک چین نیستند. در واقع بلاک چین یک نوع خاصی از سیستم غیرمتمرکز است که ویژگیهای منحصر به فرد خود را دارد. شاید این سوال به ذهنتان بیاید کدام ویژگی؟ برای دریافت پاسخ آن در ادامه با ما همراه باشید.
بلوکها بلاک چین را میسازند
برای درک بهتر دوباره طرح پارکینگ را مرور میکنیم. تصور کنید، قفل هر پارکینگ، در زمان ورود خودرو به آن، ساخته میشود با این فرضیه که ماشین هر روز به همان پارکینگ یا گاراج وارد میشود. همچنین تمام گاراجها را به ترتیب، سریالی شماره گذاری کردهایم. ترکیب کلید گاراج ۵۰# بر اساس ترکیب کلید و قفل گاراج ۴۹# و همچنین این ترکیب بر اساس مشخصات خودروی پارک شده داخل گاراج ۵۰# اعم از رنگ، وزن و شماره موتور ماشین و…است و این فرآیند از گاراج۱# شروع میشود و تا گاراج ۲۰۰# حتی بیشتر ادامه مییابد.
گفتنی است، هر جفت کلید و قفل گاراج بستگی به مشخصات ماشین گاراج و کلید و قفل گاراج قبلی دارد.
از این رو اگر دزدی سعی کند وارد گاراج ۴۹# شود و هر یک از مشخصات ماشین مانند رنگ یا شماره پلاک را تغییر دهد ترکیب کلید و قفل این گاراج نیز تغییر میکنند و این یعنی یک ترکیب کلید و قفل جدید برای گاراج ۴۹# ساخته میشود و چون ترکیب وقفل و کلید گاراج ۵۰# به ترکیب کلید و قفل گاراج ۴۹# بستگی دارد، کلید و قفل گاراج ۵۰# نیز تغییر میکنند و به همین ترتیب این فرآیند برای گاراجهای بعدی اتفاق خواهد افتاد.
حال تصور کنید که محاسبه یک جفت کلید نیازمند منابع پردازشی بسیاری است یعنی اگر مجبور باشیم دوباره این جفت کلیدها را هر بار که دزدی مشخصه ماشینی را در هر گاراج تغییر میدهد محاسبه کنیم عملا غیرممکن است که تمام جفت کلیدها را از اول دوباره محاسبه کنیم.
اگر یک جفت کلید تغییر کند چه اتفاقی رخ میدهد؟
به یاد دارید کمی قبلتر در مورد همه صاحبان این گاراجها از قوانینی پیروی میکنند صحبت کردیم؟ یکی از قوانین، بررسی کردن معتبر بودن گاراج است. در واقع گاراجی معتبر است که شما بتوانید جفت کلیدهای آن تایید کنید و اگر هر جفت کلید و قفل تغییر کنند جفت کلید و قفل همه گاراجهای نامعتبر میشوند زیرا هر جفت کلید و قفل بستگی به ترکیب کلید و قفل قبلی دارد. (فرآیند اعتبار بخشیدن به یک جفت کلید برای یک گاراج خاص بسیار سریعتر از تولید ترکیب جدید است.)
این وابستگی جفت کلیدها به جفت کلیدهای قبلی منجر به ایجاد زنجیرهای از گاراجها میشود که در دنیای فنی این گاراجها « بلوک » نامیده میشوند و بدین وسیله نام بلاک چین از این جا سرچشمه میگیرد (یعنی زنجیرهای از بلوکها )
بلوکها در بلاک چین به بلوک بعدی توسط هش درست مانند جفت کلیدها در مثالهایی که آوردیم متصل میشوند. اگر اطلاعات در یک بلوک تغییر کند، هشها میبایست برای تمام بلوکهای متوالی دوباره محاسبه شوند و چون محاسبه هشها یک عملیاتی است که توانایی بسیار بالایی را میطلبد تقریبا این عمل غیرممکن است از این رو طبق قوانین شبکه بلوک نامعتبر میشود.
شایان به ذکر است که محاسبه هش را ماینینگ یا همان استخراج کردن مینامند.
بازیابی بلوکها در صورت تغییر
تمام کامپیوترها در شبکه بلاک چین، نسخه کپی از تمام بلاک چین را نگه داری میکنند. بنابراین اگر یک بلوک یا زنجیره کامل در یک کامپیوتر خاص یا چندین کامپیوتر تغییر کند، تمام شبکه سعی میکند که آن را با نسخههای کپی همه زنجیره مقایسه کند.
اگر اکثریت نودها (کامپیوترها) در شبکه متوجه شوند که زنجیره اصلاح شده نامعتبر است، این زنجیره تغییر داده شده با زنجیره معتبر از دیگر نودها جایگزین میشود.
این موجب میشود که بلاک چین در ۵۱ درصد حملهها آسیب پذیر شود به زبان سادهتر، اگر بیش از ۵۰ درصد نودها در شبکه مخرب هستند( یا گفته شود که زنجیره تغییرداده شده دارد) پس تمام شبکه میتواند به خطر بیوفتد.
این مطلب یک راهنمای بسیار ساده برای مبتدیان دنیای ارزهای دیجیتالی بود که اطلاعات پایه بلاک چین را در اختیار آنها گذاشت.
اتریوم، بیت کوین و دیگر ارزهای دیجیتال
حتما تاکنون حداقل یک بار در مورد یک نوع ارز دیجیتالی مانند بیت کوین، لایت کوین، اتر یا هر نوع دیگری اطلاعاتی به گوشتان خورده است. اینها همه ارزهای رمزنگاری شدهای هستند که نام خود را از رمزنگاری میگیرند. سوال پیش میآید که چرا ما به این سکههای دیجیتالی نیاز داریم؟ در پاسخ باید گفت در کنار ارسال پول برای دوست یا متقابلا دریافت پول از آنها، این سکهها برای برای کامپیوترها در شبکه بلاک چین استفاده میشوند.
بهتر است برای درک بهتر از این موضوع برگردیم به سراغ مثال خودمان همان گاراجها برای پارک خودرو.
اگر به یاد بیاورید کمی قبلتر گفتیم که صاحبان گاراج فضای پارکینگ خود را به کسانی که احتیاج دارند اجاره میدهند. اکنون ممکن است فکر کنید که چگونه پرداختی این مبادله بین اجاره دهنده و اجاره کننده صورت میگیرد؟ خب پاسخ آن ساده است از طریق انتقال.
اما چرا کسی باید تمام جزئیات بانکی خود را با یک فرد غریبه که گاراج را اجاره کرده است به اشتراک بگذارد؟
بهتر است این مشکل را با استفاده از «Paypal» یا هر نوع کیف پول دیجیتالی دیگری حل و فصل کنیم. صاحب گاراج از آدرس ایمیل Paypal برای دریافت پرداختی استفاده میکند. با این روش دیگر آنها مجبور نیستند جزئیات بانکی خود را برای غریبهها به اشتراک بگذارند. نکته مهمی که در این روش وجود دارد ناشناس بودن و حفظ حریم خصوصی است. با استفاده از آدرس ایمیل برای دریافت پرداختیها صاحب گاراج میتواند کاملا برای اجاره کننده و برعکس ناشناس بماند.
حال میخواهیم این شیوه پرداختی را با ارز رمزنگاری شده مقایسه کنیم. در دنیای رمزنگاری، کمی استثنا وجود دارد در واقع به جای استفاده از آدرس ایمیل، شما از بیت کوین، اتریوم یا هر نوع سکه ارز رمزی در کیف پول دیجیتالی خود دیگری استفاده میکنید. به این خاطر که این شبکه پر از غریبه است بنابراین آشکار کردن جزئیات بانکی برای انتقال پول یک مسئله مهم میباشد. از این رو با کمک آدرسهای کیف پول امکان ارسال و دریافت پول برای کاربران به صورت ناشناس در این شبکه فراهم میشود.
یک سوال دیگر که ممکن است در ذهن شما که اکنون در حال خواندن این مقاله هستید خطور کند که انتقال پول از بانک به Paypal ممکن است اما این اتفاق چگونه در دنیای رمزنگاری رخ میدهد؟ برای یافتن جواب این پرسش در ادامه با ما همراه باشید.
درست همانند انتقال پول از بانک به Paypal، شما همچنین میتوانید پول را از بانک به کیف پول دیجیتالی خود با خرید سکه از برخی صرافیهای معتبر انتقال دهید. سوالی که در اینجا پیش میآید این است که اولین سکه دیجیتالی که به وجود آمد چه بود و دیگر سکهها چگونه به این سیستم اضافه شدند. قبل از پاسخ به این پرسش ابتدا کمی در مورد واژه ماینینگ یا همان استخراج بحث میکنیم.
اگر به یاد بیاورید ما در مورد محاسبات یعنی همان فرآیند حساب کردن جفت کلید قفل و اعتبارسنجی که همان فرآیند بررسی صحیح بودن یا نبودن جفت کلید قفل صحبت کردیم.
حال فرض کنید همه صاحبان گاراج در فرآیند محاسبه جفت کلید جدید شرکت کنند که در این صورت به توانایی و زمان بسیار بالایی نیاز است. بنابراین قانون این بازی محاسبه این است که هرکسی که ارزش صحیح را اول از همه محاسبه کند برنده است. به این فرآیند کلی محاسبه را استخراج کردن ( ماینینگ ) میگویند.
اما چرا باید صاحب گاراج باید زمان برای عمل محاسبه کردن جفت کلید قفل صرف کند؟ در واقع باید یه انگیزه برای این کار باشد. تصور کنید که برنده این مسابقه جوایز نقدی دریافت کند. درست مشابه جوایزی که شما از مسابقههایی که در دوران زندگی خود شرکت کردهاید یا قبولی در آزمونی دریافت کردید.
اما نکتهای که اینجا باید اشاره کرد این است که پول این جایزه، پولی است که قبلا با صاحبان گاراج وجود نداشته، در حقیقت پول جدیدی است که به سیستم پس از استخراج در قالب پول جایزه معرفی میشود. اکنون از این قیاس برای درک بهتر استخراج یا ماینینگ در دنیای رمزنگاری شده استفاده میکنیم.
همانطور که میدانید تمام بلوکها در بلاک چین توسط هشها به طور امن نگه داری میشوند و هر کدام بر اساس هش بلوک قبلی و اطلاعات بلوک فعلی محاسبه میشوند.
بدین وسیله، همه بلوکها در زنجیره به هم میپیوندند. این محاسبه هش به توانایی بالایی را میطلبد در واقع نیاز است شما هر مقدار ممکن برای دریافت هش صحیح آزمون و خطا انجام دهید. بنابراین هر ثانیه میتوانید مقادیر بیشتر را امتحان کنید. با سرعت داشتن در این کار قادر خواهید بود هش صحیح را محاسبه کنید.( به همین دلیل است که برخی از کاربران ماشینهای مخصوص بزرگی برای اسستخراج بیت کوین یا هر نوع ارز دیجیتالی دیگری خریداری میکنند.)
اما این سوال ممکن است مطرح شود که چرا برخی کامپیوترهای خود را به شبکه ارز دیجیتال برای اجرای این محاسبات سخت قرض میدهند؟ پاسخ مشخص است بخاطر همان انگیزهای که پیشتر در مورد آن بحث کردیم. در حقیقت هر کامپیوتری که قادر باشد هش صحیح را اول از همه محاسبه کند به آن یک کوین دیجیتالی جدید تعلق میگیرد.
این کوین جدید قبلا در سیستم وجود نداشته است و به این صورت است که کوینهای جدید وارد سیستم میشوند.
تمام ارزهای رمزنگاری به عنوان داراییها یا کالاهای دیجیتالی مانند طلا یا نقره یا هر فلز دیگری در نظر گرفته میشود. به این دلیل که فرآیند خروج این فلزات از معدن را استخراج میگویند، عمل محاسبات ارزهای رمزنگاری را نیز استخراج (ماینینگ) گفته میشود زیرا کوینهای جدید را وارد سیستم میکند.
اپلیکیشنهای غیرمتمرکز (DApps) و قراردادهای هوشمند
همانطور که به یاد دارید در ابتدا مقاله اشاره کردیم که محققان اکنون به مزایای این تکنولوژی پایه بیت کوین که همان بلاک چین است برای برنامههای متفاوت پی بردند. اینجا جایی است که مفهومی با عنوان قراردادهای هوشمند میتواند نیز کاربرد داشته باشد. دوباره به مثال پارکینگ برمیگردیم. تصور کنید هیچ پولی به عنوان جایزه برای برندههای ماینینگ وجود ندارد. فرض بر این است که شما میبایست برای جا به جایی وسیله نقلیه به داخل گاراج پرداختی انجام دهید. برای ساده سازی این مطلب در واقع، هر گاراج یک ماشین جمع کننده هزینه در بیرون دارد که به شما این امکان را میدهد بارکدی را با استفاده از تلفن همراه خود بخوانید و مبلغ پرداختی را از Paypal ارسال کنید. این ماشین پول را جمع میکند و به محض اینکه گاراج بسته میشود همه صاحبان گاراج شروع به محاسبه کردن جفت کلید قفل (استخراج) میکنند و هنگامی که جفت کلید گاراج تولید شد، ماشین آن پولها را به صاحب گاراج که رقابت استخراج را میبرد میفرستند.
دستگاه جمع آوری هزینه در سناریو بالا یک ماشین هوشمند است زیرا خودش متوجه میشود که به چه کسی پول جمع شده را وقتی جفت کلید قفل تولید میشود ارسال کند.
در چنین مواردی امکان رخداد هرگونه خطای فنی وجود دارد. به این صورت که ممکن است ماشین پول را به شما برگرداند که در این موقع شما میتوانید دوباره عمل پرداخت را انجام دهید یا میتوانید ماشین خود را از گاراج بیرون بیاورید.
به طور مشابه، در بلاک چین این ماشین هوشمند را «قرارداد هوشمند» نیز مینامند. این قراردادها یک قطعه کد هستند که هرکاری را برای شما در بلاک چین انجام میدهند. همانطور که همه گاراجها ماشین هوشمند دارند، تمام کامپیوترها در بلاک چین نیز نسخه کپی از این قرارداد هوشمند را دارند. بنابراین وقتی شما پول ارسال میکنید با کمک این قراردادها اطمینان حاصل میشود که پول کافی برای ارسال دارید و دریافت کننده پول را میگیرد و در صورت بروز خطا، تراکنش برگشت میخورد.
گفتنی است، قراردادهای هوشمند تنها برای تراکنشهای پولی نیست، شما میتوانید از آنها برای ذخیره یا اصلاح اطلاعات در بلاک چین استفاده کنید.
اگر فرضا هیچ جایزه پولی برای برندههای محاسبات مقدار درست هش وجود نداشته باشد چه اتفاقی رخ میدهد. چرا باید کسی کامپیوتر خود را در مواقعی که هیچ پول جدید یا همان جایزهای دریافت نمیکند اجاره دهد؟ درست مانند ماشین جمع آوری هزینه که بیرون از گاراج پول جمع میکند و آن را به صاحب گاراج تحویل میدهد، هر تراکنش در بلاک چین مقداری کمی از پول را تخمین میزند. این مقدار کم از همه تراکنشها کسر میشود. هنگامی که یک بلوک در بلاک چین استخراج میشود کامپیوتری که این رقابت را میبرد پول کسرشده را از همه تراکنشها به عنوان پاداش دریافت میکند. این مدل حتی وقتی سکه جدید منتشر نشود هم ادامه دارد.