بلاک چین و ارز دیجیتال به زبان ساده
این روزها همه در مورد بیتکوین و قابلیتهای بیشمار این ارز دیجیتال صحبت میکنند. از ناآشناترین افراد به دنیای فناوری تا فعالان بورس، همگی به این پدیدهی انقلابی قرن ۲۱ علاقهمند شدهاند. اما کمتر کسی در مورد فناوری زیرساختی بیتکوین یعنی بلاک چین اطلاعات کافی دارد. در این مطلب قصد نداریم در مورد قیمت بیتکوین یا آیندهی اقتصاد با توجه به ظرفیتهای ارز دیجیتال صحبت کنیم. هدف ما، توضیح دادن فناوری زیرساختی یعنی Blockchain و ظرفیتهای آن برای دهههای بعد در دنیای فناوری است.
مروری بر تاریخ بلاک چین
در ۳۱ اکتبر سال ۲۰۰۸، یک مقاله از طرف شخص یا سازمانی با نام مستعار ساتوشی ناکاموتو منتشر شد. ایدهای این مقاله، ارسال و دریافت پول بین دو نفر بهصورت مستقیم و ناشناس بود. این مقاله، به مفهوم مورد نظر خود نام Bitcoin را اختصاص داد. از آنجایی که بیتکوین برای عملکرد خود از رمزنگاری استفاده میکند، دستهبندی ارز رمزنگاری شده برای آن پیشنهاد شد. البته اصطلاح ارز دیجیتال نیز از آن زمان رواج پیدا کرد.
تنها هدف بیتکوین، تراکنشهای مالی بود؛ اما محققان با بررسی فناوری زیرساختی آن، متوجه پتانسیلهای بالای آن برای استفاده در صنایع دیگر شدند. پتانسیلی که میتوانست اپلیکیشنهایی قوی با رویکردی انقلابی برای صنایع مختلف بسازد. بلاکچین، نامی بود که برای این فناوری زیرساختی استفاده شد.
تا اینجا چند اصطلاح فنی را بیان کردهایم. در ادامه، هریک از این اصطلاحات را به زبان ساده توضیح میدهیم.
توضیح بلاکچین با مثالهای ملموس دنیای واقعی
تصور کنید که در شهری کوچک زندگی میکنید. این شهر پارکینگی یک طبقه با ظرفیت ۲۰۰ خودرو دارد. پارکینگ، یک ورودی دارد که همیشه قفل است. این در ورودی تنها در زمان ورود یا خروج خودروها باز میشود. حال بیایید این پارکینگ و ساختمان آن را از زوایای مختلف بررسی کنیم:
- قیمت: پارکینگ توسط یک شرکت خصوصی ساخته شده است و آنها، تمام هزینههای نگهداری و مدیریت آن را بر عهده دارند. بههمین دلیل، هزینهی اجارهی یک جای پارک همیشگی در این پارکینگ، بالا است.
- امنیت: اگر دزدها از در اصلی رد شوند، بهراحتی به خودروی شما دسترسی خواهند داشت. حتی در صورت دزدیده نشدن خودرو، لوازم داخل آن، باتری و موارد دیگر در معرض سرقت خواهند بود.
- محدودیت: اگر تعداد خودروها در شهر شما از ۲۰۰ به ۳۰۰ خودرو برسد، تکلیف چیست؟ فضای پارکینگ برای همهی خودروها کافی نخواهد بود و شرکتهای خصوصی دیگر، پارکینگهای دیگری میسازند.
- اعتماد: شما به شرکت مسئول پارکینگ اعتماد دارید و آنها، مسئول نگهداری و مراقبت از خودروی شما هستند.
- تمرکز: از آنجایی که همهی خودروها در یک ساختمان هستند، این پارکینگ ماهیتی متمرکز دارد.
اکنون این سناریو را کمی پیشرفت میدهیم. فرض کنید ۲۰۰ خانه در شهر شما هست و هر خانه، دو جای پارک دارد. برای ساده کردن فرضیات، خودروهای هر خانه را نیز یک عدد در نظر میگیریم. در نتیجه، هر خانه، یک جای پارک خالی دارد. اهالی شهر تصمیم میگیرند تا این جای خالی را به متقاضیان، اجاره دهند. این مدل اجاره، مشکل خودروهای اضافی را حل میکند و نیازی به ساختن پارکینگ بزرگ مرکزی نخواهد بود. حال، بیایید این سناریوی جدید را بررسی کنیم:
- قیمت: مردم، فضای اضافی را بهصورت اختصاصی برای اجاره نساختهاند. در نتیجه، هزینههای تعمیر و نگهداری با فضای پارک خودشان مشترک بوده و بسیار کم خواهد بود. در نتیجه، هزینهی اجارهی این جای پارک بسیار کمتر از یک پارکینگ متمرکز بزرگ میشود.
- امنیت: هر خودرو، در پارکینگی مجزا قفل شده است. سارقان برای دسترسی به خودروها باید به این پارکینگهای اختصاصی دسترسی پیدا کنند؛ یعنی امنیت بیشتر. البته امنیت در بلاکچین بهگونهای دیگر تعریف میشود اما در حال حاضر از همین تعریف برای آن استفاده میکنیم.
- محدودیت: با افزایش تعداد خانهها، با درنظرگرفتن فضای اضافی پارک هر خانه، جای پارک کلی نیز بهخوبی افزایش مییابد. با این روند، تعداد اجارهدهندهها و اجارهکنندهها نیز بهتبع، افزایش خواهد یافت.
- عدم نیاز اعتماد: از آنجایی که هیچ سازمانی برای کنترل این پارکینگهای غیرمتمرکز وجود ندارد، قوانین توسط همهی صاحبان پارکینگها تصویب میشوند.
- غیر متمرکز: این مکانهای پارک در تمام شهر پخش شدهاند در نتیجه میتوان کل شهر را یک پارکینگ غیرمتمرکز تصور کرد.
مثال عینی بالا، مفاهیم بنیادین برای درک زیرساختهای فنی بلاکچین را فراهم میکند.
از مدل پارکیگ تا مدل فنی
قفل هر بلوک، وابسته به قفل بلوک قبلی و دادههای موجود در آن است
مدل پارکینگ، مفاهیمی کلی از بلاکچین را با مثالی از دنیای واقعی ترکیب میکند. در ادامه، بخشهای مختلف مدل پارکینگ را با بخشهای فنی بلاکچین متناظر میکنیم.
- پارکینگ بزرگ مرکزی، یک سیستم متمرکز مانند سرورهای شرکت AWS (خدمات تحت وب آمازون) یا گوگل کلاد است (البته این خدمات ابری نیز تاحدودی غیرمتمرکز هستند اما برای سادهتر شدن موضوع، آنها را یک ماهیت متمرکز در نظر میگیریم).
- خودروها، همان داده یا اپلیکیشنها هستند.
- پارکینگهای غیرمتمرکز، سیستمهای غیرمتمرکز شبیه به بلاکچین هستند.
فراموش نکنید که همهی سیستمهای غیرمتمرکز، بلاکچین نیستند. بلاکچین نوعی خاص از سیستمهای غیرمتمرکز است که خصوصیتی ویژه دارد. در ادامه به این خصوصیت میپردازیم.
بلوکهایی که بلاکچین را تشکیل میدهند
بار دیگر به سراغ طرح پارکینگ میرویم و تغییراتی در آن ایجاد میکنیم. فرض کنید قفل هر پارکینگ، در زمان ورود خودرو به آن، ساخته میشود (فرض اول این است که هر خودرو، هر روز به همان پارکینگ همیشگی میرود). بهعلاوه، گاراژها به ترتیب و سریالی، شمارهگذاری شدهاند.
در مرحلهی بعد، ترکیب قفل و کلید گاراژ شمارهی ۵۰، بر اساس ترکیب قفل و کلید گاراژ شمارهی ۴۹ ساخته شده است. بهعلاوه، این ترکیب به مشخصات خودروی پارک شده مانند رنگ، وزن، نوع موتور و موارد دیگر نیز وابسته است. به این ترتیب از گاراژ شمارهی یک شروع شده و تا گاراژ ۲۰۰ و پس از آن، ادامه خواهد یافت.
ایجاد قفل جدید نیازمند منابع پردازشی بسیار قوی است
در نتیجهی فرضیهی زنجیرهای بالا، اگر دزدی وارد گاراژ ۴۹ شده و مشخصات یک خودرو مانند رنگ یا وزن آن را تغییر دهد، ترکیب قفل و کلید این گاراژ تغییر خواهد کرد. در نتیجهی این تغییر، ترکیب قفل و کلید گاراژهای بعدی نیز (که به این گاراژ وابسته بودند)، تغییر میکند.
فرضیهی نهایی ما برای این بخش، آن است که پردازش ترکیب قفل و کلید هر گاراژ، نیازمند منابع پردازشی بسیار خواهد بود. در نتیجه، در صورت تغییر ویژگی یک خودرو در یکی از پارکینگها، محاسبهی مجدد این جفتهای قفل و کلید، تقریبا غیر ممکن میشود.
اگر یک ترکیب قفل و کلید تغییر کند؟
قبلا گفتیم که همهی صاحبان گاراژها از قوانینی پیروی میکنند. یکی از این قوانین، بررسی معتبر بودن پارکینگ است. یک پارکینگ زمانی معتبر است که بتوان ترکیب قفل و کلید آن را تأیید کرد. بهعلاوه در صورت تغییر هر ترکیب، ترکیب تمامی پارکینگها غیرمعتبر خواهد بود چون همهی آنها به هم وابسته هستند. در این میان، فرایند تأیید جفتهای قفل و کلید، از ساختن ترکیب جدید سریعتر است.
این وابستگی جفتها به جفتهای قبلی، زنجیرهای از گاراژها را ایجاد میکند. در اصطلاحات فنی به این گاراژها بلوک (Block) گفته میشود. در نتیجه، نام زنجیرهی بلوکی یا بلاکچین ایجاد میشود.
بلوکها در شبکهی بلاکچین، با استفاده از هش (همان ترکیب قفل و کلید) به هم وابسته میشوند. مانند مثال گاراژ، اگر دادهی یک بلوک تغییر کند، هشها باید دوباره محاسبه شوند. از آنجایی که محاسبهی مجدد هش، به منابع پردازشی زیادی نیاز دارد، امکان آن از بین رفته و شبکه، بلوک غیرمعتبر را بهسرعت شناسایی میکند. در اصطلاحات فنی، به محاسبهی هش، معدنکاوی یا Mining گفته میشود.
بازیابی بلوکها در صورت ایجاد تغییرات
همهی کامپیوترهای حاضر در شبکهی بلاکچین، یک کپی از کل آن در اختیار دارند. در نتیجه اگر یک بلوک یا حتی یک زنجیرهی کامل در یک کامپیوتر یا چند کامپیوتر تغییر کند، همهی شبکه آن را با نسخهی در اختیار خودشان، مقایسه میکنند.
اگر اکثر کامپیوترهای شبکه (که با نام Node شناخته میشوند) به این نتیجه برسند که یک بلوک، غیرمعتبر است، بلوک تغییریافته با بلوک معتبر دیگر زنجیرههای جایگزین میشود. این اصل، بلاکچین را در برابر حملهی معروف به حملهی ۵۱ درصدی، آسیبپذیر میکند. به بیان سادهتر اگر بیش از ۵۰ درصد از نودهای شبکه، اهداف خرابکاری داشته یا زنجیره را تغییر دهند، کل شبکه در معرض خطر خواهد بود.
اتریوم، بیتکوین و دیگر فرزندان بلاکچین
توضیحات بالا، ماهیت بلاک چین و چگونگی تأیید اعتبار را در آن روشن کردند. اما بیتکوین، اتریوم و دیگر سکههایی که امروزه نامشان را میشنویم، شهرت بیشتری نسبت به خود بلاکچین بهعنوان فناوری مادر دارند. در ادامه، به توضیح ماهیت این سکهها و پدیدههای مالی متأثر از بلاکچین میپردازیم که به خاطر استفاده از رمزنگاری، به ارزهای رمزنگاری شده هم شهرت یافتهاند.
سؤال اولیه در مورد این پدیدهها آن است که ما چه نیازی به این سکهها داریم؟ سکهها یا ارزهای دیجیتال علاوه بر تبدیل شدن به ابزاری برای تبادل پول، عواملی برای انگیزه دادن به کامپیوترهای حاضر در شبکهی بلاکچین هستند. برای توضیح این پدیدهها نیز به همان مثال پارکینگ مراجعه میکنیم.
مقایسهی پرداخت هزینهی گاراژ با ارز دیجیتال
به یاد دارید که صاحبان پارکینگها، فضاهای پارک را به متقاضیان اجاره میدهند. در اینجا، مستأجر چگونه هزینهی صاحب پارکینگ را پرداخت خواهد کرد؟ پاسخ ساده است: تبادل وجه بانکی. اما چرا صاحب پارکینگ باید اطلاعات حساب بانکی خود را با یک فرد غریبه به اشتراک بگذارد؟
برای حل چالش بالا، از راهکارهای پرداخت واسط مانند پیپال استفاده میکنیم. درواقع، صاحبان پارکینگها با استفاده از ایمیلآدرس حساب پیپال، هزینهی پارکینگ را دریافت میکنند. بدین ترتیب، آنها نیازی به اشتراک اطلاعات حساب بانکی با غریبهها ندارند. این فرایند، علاوه بر حریم خصوصی، ناشناس بودن را نیز تضمین میکند. با استفاده از روشهایی مثل پیپال، صاحب گاراژ و مستأجر برای یکدیگر ناشناس باقی میمانند.
ارز دیجیتال، برای انگیزه دادن به مشارکتکنندگان در بلاکچین ایجاد شد
در دنیای رمزنگاری، همین اتفاق با تغییراتی کوچک رخ میدهد. در اینجا بهجای استفاده از ایمیلآدرس، از آدرس کیف پولهایی همچون بیتکوین، اتریوم یا موارد دیگر استفاده میکنیم. ماهیت شبکهی این ارزها، ناشناس بودن را برای همهی افراد درگیر تضمین میکند. همین ویژگی، دلیل مخالفت بسیاری از دولتها با این ارزها است.
معدنکاوی؛ سکهها چگونه بهوجود میآیند؟
در دنیای ارز دیجیتال نیز مانند دنیای واقعی میتوان با پرداخت پول سنتی، ارز رمزنگاری شده خرید. این فرایند در صرافیهای این ارزها یا با معامله با دارندگان سکهها انجام میشود. سؤال اصلی این است که اولین سکهها در این شبکهها چگونه ایجاد میشوند یا تعداد سکههای موجود چگونه افزایش مییابد؟ برای پاسخ به این سؤال، ابتدا باید فرایند معدنکاوی یا ماینینگ را شرح دهیم.
در بخشهای قبلی، در مورد پردازش و تأیید بلوکها صحبت کردیم. در مثال پارکینگها، تصور کنید که همهی صاحبان پارکینگ، در فرایند محاسبهی جفت قفل و کلیدها شرکت کنند. این فرایند نیز به منابع قوی پردازشی نیاز دارد. در اینجا رقابتی برای پردازش سریعتر جفت قفل و کلید جدید ایجاد میشود و هر کس، زودتر از بقیه به پاسخ صحیح برسد، برنده خواهد شد. کل این فرایند محاسبهی جفت صحیح قفل و کلید، معدنکاوی نامیده میشود.
اما چرا صاحب یک پارکینگ باید وقت و زمان خود را برای محاسبهی جفت قفل و کلید جدید صرف کند؟ برای این منظور، باید به آنها انگیزه بدهیم. تصور کنید که برندهی این رقابت، وجهی را بهعنوان جایزه دریافت میکند. این پول، قبلاً در سیستم پارکینگها وجود نداشت و اکنون در شکل یک جایزه، بهعنوان پول جدید به سیستم تزریق شد.
در دنیای ارزهای دیجیتال، بهیاد داریم که هر بلوک با هش محافظت میشود. هشها بر اساس دادههای هر بلوک و همچنین هش بلوک قبلی، محاسبه میشوند. این ترتیب باعث اتحاد بین بلوکها و ایجاد همان زنجیرهی مشهور میشود.
فرایند محاسبهی هش، به قدرت پردارش بالا نیاز دارد؛ چرا که شما باید مقدار واقعی هش را با سعیوخطاهای متعدد پیدا کنید. در نتیجه، هرچه بتوانید هشهای بیشتری را در زمان کمتر حدس بزنید، شانس بردن جایزهی شما بیشتر خواهد بود. همین ماهیت باعث میشود که افراد هزینههای زیادی برای خرید دستگاههای قدرتمندتر معدنکاوی پرداخت کنند.
در اینجا نیز افراد تنها به انگیزهی دریافت جایزه، کامپیوتر خود را در اختیار شبکهی بلاکچین قرار میدهند. هر کامپیوتری که زودتر از همه، هش را محاسبه کند، مقدار مشخصی از سکهی آن شبکه را دریافت خواهد کرد. این سکههای جدید، قبلاً در سیستم نبودند و بههمین دلیل، ایجاد شدن آنها مانند کشف سکه در معدن است.
اپلیکیشنهای غیرمتمرکز و قراردادهای هوشمند
در ابتدای مقاله به این نکته اشاره کردیم که محققان، ظرفیتهای متعددی بهجز ارز دیجیتال برای بلاکچین، فناوری زیرساخت بیتکوین کشف کردهاند. یکی از این ظرفیتها، قراردادهای هوشمند است. برای توضیح این بخش، بار دیگر به مثال پارکینگها باز میگردیم. فرض کنید هیچ جایزهای برای برندگان معدنکاوی وجود نداشته باشد.
فرض کنید برای پرداخت هزینهی پارکینگ، دستگاهی در ورودی هرکدام از آنها نصب شود. این دستگاه یک کد QR دارد و شما با اسکن آن، هزینه را از حساب پیپال خود پرداخت میکنید. در این میان، هزینهای نیز بهعنوان کارمزد کسر میشود. این ماشینها هزینهی پارکینگ را جمع میکنند. در پایان وقتی پارکینگها بسته شدند، صاحبان گاراژها به حل مسئلهی جفت قفل و کلید مشغول میشوند. در نهایت، برندهی این رقابت، پول کارمزدها را دریافت میکند.
در سیستم قراردادهای هوشمند، خبری از معدنکاوی و تولید پول جدید نیست
ماشین جمعآوری هزینهی پارکینگ در مثال بالا، ماشین هوشمندی محسوب میشود چون بهصورت خودکار تصمیم میگیرد که پول جمعآوری شده را به برندهی رقابت پرداخت کند. درصورتی که هرمشکلی در این سیستم ایجاد شود یا خطایی فنی رخ دهد، ماشین هوشمند، هزینهی پارکینگ را به شما بازخواهد گرداند. سپس یا هزینه را مجددا پرداخت یا خودرو راز از پارکینگ خارج میکنید.
در شبکهی بلاکچین، ماشین هوشمند با اصطلاح قرارداد هوشمند شناخته میشود. این قرارداد هوشمند، یک کد است که همهی کارها را در شبکه انجام میدهد. از آنجایی که همهی گاراژها، ماشینهای هوشمند داشتند، کامپیوترهای شبکهی بلاکچین نیز نسخهای از قرارداد هوشمند را دارند. در نتیجه، وقتی وجهی در شبکه جابهجا میشود، قراداد هوشمند آن را بررسی میکند و در صورت بروز هرگونه اشکال، وجه را بازمیگرداند.
اما قراردادهای هوشمند تنها برای تبادل پول استفاده نمیشوند. میتوانید از آنها برای ذخیره یا تغییرات داده در بلاکچین استفاده کنید. مثالهایی از آنها، سرویس Viuly شبیه به یوتیوب، Storj یا SiaTech شبیه به دراپباکس یا حتی بازیهایی مثل Cryptokitties هستند.
بار دیگر به سؤال ابتدای این بخش باز میگردیم. اگر پولی در این شبکه ایجاد نشود، چرا افراد باید کامپیوترهای خود را در اختیار قراردادهای هوشمند بگذارند؟ پاسخ روشن است. مانند ماشینهای هوشمند پارکینگها که وجه کارمزد دریافت میکردند، قراردادهای هوشمند نیز درصد کمی از پول را بهعنوان کارمزد دریافت کرده و به کامپیوترهای مشارکتکننده در شبکه پرداخت میکنند.