عمومی , فناوری 1279 بازدید

فناوری بلاک‌چین احتمالاً بهترین ابداع بشر از زمان تولد اینترنت محسوب می‌شود. این فناوری امکان مبادله ارزش بدون نیاز به ایجاد اعتماد یا نیاز به وجود یک مرجع داوری مرکزی را میسر ساخته است. فرض کنید دو نفر بر سر این که فردا هوای یک شهر بارانی است یا نه به مبلغ 50 دلار با هم شرط‌بندی کنند. یک نفر می‌گوید هوا، فردا آفتابی و دیگری می‌گوید بارانی خواهد بود. این دو نفر، سه راه مختلف برای مدیریت این تراکنش دارند:

  1. آن‌ها می‌توانند به همدیگر اعتماد کنند. هوا چه آفتابی و چه بارانی باشد، فرد بازنده 50 دلار به فرد برنده خواهد داد. اگر آن دو نفر دوست باشند، این‌ روش خوبی برای مدیریت شرط‌بندی است. با این وجود چه دوست باشند یا غریبه در هر حال ممکن است طرف بازنده خیانت کرده و مبلغ را نپردازد.
  2. در حالت دوم می‌توان برای این شرط‌بندی یک قرارداد نوشت. وقتی قراردادی تنظیم شد، احتمال این که طرف بازنده مبلغ شرط شده را بپردازد بیشتر می‌شود، اما اگر بخواهد مبلغ را نپردازد، طرف برنده ممکن است برای دریافت غرامت، هزینه بالایی برای پیگیری قضایی پرداخت کند و همچنین زمان زیادی تلف می‌شود.
  3. در مورد مبالغ اندک، این‌ روش مناسبی برای مدیریت تراکنش‌ها به نظر نمی‌رسد. می‌توان یک شخص ثالث بی‌طرف را حَکَم کرد و هر یک از طرفین 50 دلار به وی بدهند و در نهایت حکم پس از مشخص شدن برنده، مبلغ مورد نظر را به ویش بدهد. اما در این حالت هم این امکان وجود دارد که حکم خیانت کرده و همه پول را برداشته و فرار کند. پس در نهایت یا باید اعتماد کرد و یا قرارداد بست.

هم اعتماد و هم قرارداد راه‌حل‌های بهینه‌ای نیستند. چون نمی‌توان به غریبه‌ها اعتماد کرد و قرارداد نیز نیازمند صرف وقت و پول است. فناوری بلاک‌چین به این دلیل جذاب است که گزینه سومی را در مورد این وضعیت پیشنهاد می‌کند که امن، سریع و ارزان است.

فناوری بلاک‌چین چیست؟

بلاک‌چین امکان نوشتن چند خط کد و اجرای یک برنامه را در بستر خود ارائه می‌کند. بدین ترتیب هر کدام از طرفین شرط‌بندی موصوف، 50 دلار به برنامه ارسال می‌کنند. این برنامه مجموع 100 دلار را در مکان امنی نگهداری می‌کند و به طور خودکار وضعیت هوای فردا را از چند منبع مختلف بررسی می‌کند. هوا چه آفتابی باشد و چه بارانی این برنامه به طور خودکار، کل مقدار پول را برای برنده می‌فرستد. هر یک از طرفین می‌توانند منطق برنامه را بررسی کنند و زمانی که آن را بر روی بلاک‌چین اجرا کردند، امکان تغییر دادن یا متوقف کردن آن وجود ندارد. این تلاش برای یک شرط‌بندی 50 دلاری می‌تواند بیش از حد پیچیده به نظر بیاید، ولی مواردی را که مورد معامله، یک خانه یا خودرو است را نیز باید در نظر گرفت.

هدف این نوشته توضیح شیوه کار بلاک‌چین بدون بررسی کامل جزییات فنی است؛ اما در این نوشته ایده‌ای کلی در مورد منطق و سازوکار اجرایی بلاک‌چین به شما ارائه می‌دهیم.

از شناخته‌شده‌ترین و معروف‌ترین کاربردهای فناوری بلاک‌چین، رمزپولی به نام بیت‌کوین است. از این رمزپول می‌توان مانند دلار، یورو، یوآن، ریال و یا هر پول دیگری برای مبادله کالا و خدمات استفاده کرد. ما از این کاربرد مهم بلاک‌چین برای توضیح شیوه عملکرد فناوری بلاک‌چین استفاده می‌کنیم.

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

—مارک آندرسن

بیت‌کوین چیست؟

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

بیت‌کوین برای این که بداند در هر لحظه هر یک از کاربرانش چه مقدار پول دارند، از یک دفتر کل استفاده می‌کند. این دفتر کل یک فایل دیجیتالی است که همه تراکنش‌های بیت‌کوین از ابتدا در آن ذخیره شده‌اند.

شکل 1 – صورت ساده‌ای از فایل دفتر کل دیجیتال بیت‌کوین

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

برای مثال اگر میثم بخواهد بیت‌کوین خود را به رضا بفرستد، یک پیام به شبکه ارسال می‌کند که در آن اعلام می‌کند مقدار مشخصی (مثلاً 5 بیت‌کوین) باید از حساب وی کسر شده و همین مقدار به حساب رضا اضافه شود. هر گره در شبکه ‌این پیام را دریافت می‌کند و تراکنش درخواستی را در کپی خود از فایل دفتر کل اعمال می‌کند. بدین ترتیب موجودی حساب‌ها به‌روزرسانی می‌شود.

شکل 2- صورت ساده‌ای از پیام درخواست تراکنش

مزیت‌های دفتر کل توزیع‌یافته

این واقعیت که دفتر کل به وسیله گروهی از رایانه‌های متصل‌به‌هم نگهداری می‌شود و نه نهاد متمرکزی مانند یک بانک، چند نتیجه در پی دارد:

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

«بلاک‌چین را می‌توان به صورت سیستمی تعریف کرد که به گروهی از رایانه‌های به هم متصل امکان نگهداری از یک دفتر کل امن و به‌روز را می‌دهد.»

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

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

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

شکل 3- رمزنگاری تراکنش امضای دیجیتال به زبان ساده

برای ارسال بیت‌کوین ابتدا باید ثابت کنید که کلید خصوصی کیف پول خود را دارید، چون باید از آن برای رمزنگاری درخواست تراکنش استفاده کنید. توجه داشته باشید، از آنجا که تنها پس از رمزنگاری، پیام را ارسال می‌کنید، پس نیازی نیست که کلید خصوصی خود را افشا کنید.

هر گره در بلاک‌چین یک کپی از دفتر کل را نگهداری می‌کند. بنابراین سؤال این است که هر گره از کجا می‌داند که موجودی حساب بیت‌کوین شما چقدر است؟ سیستم بلاک‌چین سوابق موجودی‌های حساب‌ها را به هیچ‌وجه نگهداری نمی‌کند؛ بلکه همه تراکنش‌هایی که انجام گرفته است را ثبت و نگهداری می‌کند. دفتر کل در واقع تراز یا موجودی حساب‌ها را بررسی نمی‌کند (آن‌طور که شکل 1 نشان می‌دهد) بلکه تنها همه تراکنش‌هایی که در داخل شبکه بیت‌کوین انجام یافته‌اند را نگهداری می‌کند (شکل 4) برای این که موجودی حساب خود را بدانید، باید همه تراکنش‌هایی که از ابتدای آغاز به کار شبکه بیت‌کوین انجام یافته را آنالیز و تأیید کنید.

شکل 4 – دفتر کل بلاک‌چین

تأیید «موجودی» حساب به لطف وجود پیوندهایی بین تراکنش‌های فعلی و قبلی ممکن است. برای ارسال 10 بیت‌کوین به یک فرد باید درخواست تراکنشی ایجاد کنید که شامل پیوندهایی به تراکنش‌های قبلی است که تأیید می‌کنند شما قبلاً 10 بیت‌کوین یا بیشتر در حساب خود دریافت کرده‌اید. این پیوندها ورودی نامیده می‌شوند و گره‌های موجود در شبکه بیت‌کوین تأیید می‌کنند که مقدار کل این تراکنش‌ها برابر یا بیشتر از 10 بیت‌کوین است و این ورودی‌ها هنوز مصرف نشده‌اند. در واقع هر بار که یک ارجاع به ورودی‌ها در هر تراکنش ایجاد می‌شود، این ورودی‌ها برای تراکنش‌های آتی اعتبار خود را از دست می‌دهند. همه این کارها به طور خودکار در کیف پول میثم اجرا می‌شوند و از سوی گره‌های شبکه بیت‌کوین نیز تأیید می‌شوند و بدین ترتیب وی با استفاده از کلید خصوصی کیف پولش، 10 بیت‌کوین به رضا می‌فرستد.

شکل 5 – ساختار درخواست تراکنش بیت‌کوین

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

«مالکیت بیت‌کوین به این معنی است که تراکنش‌های نوشته شده در دفتر کل که به آدرس کیف پول شما اشاره می‌کنند، هنوز به عنوان ورودی کیف پول افراد دیگر مورد ارجاع قرار نگرفته‌اند.»

همه کدهایی که برای اجرای تراکنش‌ها در شبکه بیت‌کوین استفاده می‌شود، به صورت متن-باز هستند و این بدان معنی است که همه می‌توانند با استفاده از یک لپ‌تاپ و اتصال اینترنتی تراکنش‌ها را اجرا کنند. با این وجود اگر خطایی در ارسال درخواست تراکنش وجود داشته باشد، بیت‌کوین‌های مربوطه برای همیشه از دست خواهند رفت. به خاطر داشته باشید از آنجا که شبکه به صورت توزیع یافته است، هیچ مرکز پشتیبانی مشتری برای تماس و یا هیچ کس که بتواند به بازیابی تراکنش‌های مفقود یا رمز عبور فراموش شده کمک کند، وجود ندارد. به همین دلیل اگر به انجام واکنش‌هایی بر روی شبکه بیت‌کوین علاقه‌مند باشید، توصیه می‌شود که از نسخه متن-باز و رسمی نرم‌افزار کیف پول بیت‌کوین مانند (Bitcoin Core) استفاده کنید و رمز عبور کیف پول خود را نیز در مکان امن و بسیار مطمئنی ذخیره کنید.

آیا بلاک‌چین واقعاً امن است؟

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

«تعداد کل آدرس‌های بیت‌کوین که می‌توان ایجاد کرد برابر با 2160 یا 1461501637330902918203684832716283019655932542976 عدد است. این عدد بزرگ باعث می‌شود که همه افراد بتوانند هر چقدر می‌خواهند کیف پول داشته باشند و همچنین امکان حمله به شبکه را نیز خنثی می‌کند.»

با وجود این پیش‌بینی‌ها هنوز یک حفره امنیتی عمده وجود دارد و آن این است که فرد می‌تواند پس از خرج کردن بیت‌کوین آن را پس بگیرد. تراکنش‌های درون شبکه از یک گره به گره دیگر منتقل می‌شوند، از این‌رو ممکن است 2 تراکنش با ترتیب‌های مختلفی به گره‌های متفاوت برسند. یک مهاجم می‌تواند یک تراکنش را مثلاً برای خرید یک کالا ارسال کند و پس از این که کالا را دریافت کرد، یک تراکنش معکوس برای بازپس‌گیری پول خود ارسال نماید.

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

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

چرا بلاک‌چین به این صورت (زنجیره بلوکی) نامیده شده است؟

شبکه بلاک‌چین ترتیب تراکنش‌ها را بر اساس قرارگیری آن‌ها در گروه‌هایی که بلوک نامیده می‌شود، تضمین می‌کند. هر بلوک شامل مقدار مشخصی از تراکنش‌ها است که به بلوک قبلی پیوند دارد. بدین ترتیب بلوک‌ها پشت سر هم قرار می‌گیرند. با این روش بلوک‌ها در یک زنجیره مرتبط با زمان قرار می‌گیرند (شکل 6). نام کل این سیستم بلاک‌چین هم از همین زنجیره بلوکی اخذ شده است.

شکل 6 – شکل ساده ساختار توالی زنجیره بلوکی

فرض بر این است که تراکنش‌هایی که در یک بلوک قرار دارند، همزمان انجام یافته‌اند و تراکنش‌هایی که هنوز در بلوکی قرار نگرفته‌اند، تأیید نشده در نظر گرفته می‌شوند. هر گره می‌تواند تراکنش‌ها را در یک بلوک گروه‌بندی کرده و آن را به شبکه ارسال کند و پیشنهاد کند که بلوک بعدی کدام خواهد بود. سؤالی که اینجا پیش می‌آید این است که از آنجا که هر گره می‌تواند یک بلوک جدید بسازد، پس چگونه سیستم در مورد این که بلوک بعدی کدام خواهد بود، توافق می‌کند؟

هر بلوک برای این که بتواند به بلاک‌چین یا زنجیره بلوکی اضافه شود، باید شامل پاسخ به یک مسئله ریاضی پیچیده باشد که با استفاده از تابع hash معکوس ناپذیر ایجاد شده است. تنها راه برای حل چنین مسئله ریاضیاتی، حدس زدن اعداد تصادفی است که با محتوای بلوک قبلی ترکیب شده و یک نتیجه تعریف شده را تولید می‌کنند (این عدد معمولاً پایین‌تر از یک حد تعریف شده است). بر روی یک رایانه معمولی در حدود یک سال طول می‌کشد تا آن عدد تصادفی حدس زده شود و مسئله ریاضیاتی حل شود. با این وجود به دلیل تعداد بالای رایانه‌هایی که در شبکه بیت‌کوین هستند و عدد تصادفی را حدس می‌زنند، هر بلوک تقریباً در حدود 10 دقیقه حل می‌شود. گرهی که بتواند چنین مسئله ریاضی را حل کند، حق قرار دادن بلوک بعدی در شبکه را می‌یابد و آن را به کل شبکه ارسال می‌کند.

وضعیت ابهام‌آمیز پایان بلوک

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

شکل 7 – منطق ابهام پایان زنجیره

به دلیل احتمال پایین حل همزمان بلوک‌ها، تقریباً غیر ممکن است که چند بلوک پشت سر هم به طور همزمان حل شوند و «دنباله» های متفاوتی را تشکیل دهند، بنابراین کل بلاک‌چین به سرعت تثبیت می‌شود و یک زنجیره منفرد از بلوک‌ها وجود دارد که همه گره‌ها بر روی آن توافق دارند.

اختلاف‌نظر در مورد این که آخرین بلوک کدام «دنباله» زنجیره است نیز احتمال تقلب را ایجاد می‌کند. اگر یک واکنش در بلوکی اتفاق بیفتد که به دنباله کوتاه‌تر تعلق دارد (مانند بلوک B در شکل 7) زمانی که بلوک بعدی حل شود، چنین تراکنشی به صورت تراکنش تأیید نشده در می‌آید و همه تراکنش‌های دیگری که در بلوک B رخ داده‌اند نیز چین وضعیتی خواهند داشت.

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

شکل 8 – حمله بازپس‌گیری بیت‌کوین مصرف شده

سیستم بلاک‌چین چگونه از تقلب‌ها جلوگیری می‌کند؟

هر بلوک شامل یک ارجاع به بلوک قبلی است (شکل 6) و این ارجاع بخشی از مسئله ریاضی است که باید حل شود تا بلوک بعدی بتواند وارد شبکه شود. بنابراین محاسبه پیشاپیش یک سری از بلوک‌ها به دلیل حجم بالای حدس‌های تصادفی که برای حل یک بلوک نیاز است، کاری به شدت دشوار است. میثم برای این که بتواند بلوک بعدی را تعیین کند با کل شبکه در رقابت است و باید سریع‌تر از همه مسئله ریاضی را حل کند. حتی اگر میثم بتواند قبل از همه افراد دیگر مسئله را حل کند، احتمال این که بتواند 2 یا 3 بلوک دیگر را نیز به ترتیب حل کند کاری به مراتب دشوارتر است، چون هر بار وی دربرابر کل شبکه قرار می‌گیرد و با آن رقابت می‌کند.

بنابراین آیا میثم می‌تواند از یک رایانه بسیار فوق‌سریع استفاده کند که با تولید حدس‌های تصادفی با کل شبکه متشکل از میلیون‌ها رایانه رقابت کند؟ با وجود حجم بالای اعضای این شبکه امکان این که حتی با سریع‌ترین رایانه‌های جهان نیز بتوان چند بلوک را به ترتیب و دقیقاً در زمان‌های مورد نیاز حل کرد تا یک حمله هزینه مجدد را اجرا کرد، بسیار نامحتمل است.

یک مهاجم باید بتواند 50 درصد از توان محاسباتی کل شبکه را در اختیار داشته باشد تا 50 درصد شانس داشته باشد که یک بلوک را پیش از گره‌های دیگر حل کند و حتی در این حالت نیز احتمال این که بتواند دو بلوک پشت سر هم را حل کند به میزان 25 درصد خواهد بود. هر چه بلوک‌های بیشتری به ترتیب حل شوند، احتمال این که میثم موفق شود کاهش می‌یابد.

«تراکنش‌ها در سیستم بلاک‌چین بیت‌کوین به وسیله رقابت محاسباتی حفاظت می‌شوند، هر مهاجمی در برابر کل شبکه رقابت می‌کند.»

بنابراین تراکنش‌ها با گذشت زمان رفته‌رفته امن‌تر می‌شوند. تراکنش‌هایی که متعلق به بلوک‌های تأییدشده هستند، بسیار امن‌تر از تراکنش‌هایی هستند که در بلوک جاری قرار دارند. از آنجا که یک بلوک به طور میانگین هر 10 دقیقه یک‌بار به زنجیره اضافه می‌شود، انتظار به مدت یک‌ساعته پس از زمان انجام تراکنش و قرارگیری در بلوک، احتمال این که تراکنش تثبیت شده و غیر قابل بازگشت باشد را تا حد بسیار بالایی تضمین می‌کند.

شکل 9 – امنیت تراکنش‌های بلاک‌چین

برای این که بتوانید بیت‌کوین‌ها را ارسال کنید باید دست‌کم به یک تراکنش که نشان می‌دهد بیت‌کوین‌ها به کیف پول شما وارد شده‌اند، ارجاع دهید و این حالت در مورد همه تراکنش‌هایی که هر زمان در شبکه انجام می‌شوند، صادق است. بنابراین سؤال این است که اساساً بیت‌کوین‌ها در ابتدا از کجا آمده‌اند؟

بیت‌کوین‌ها از کجا آمده‌اند؟

از آنجا که به دلیل ماهیت بیت‌کوین، این نوع رمزپول‌ها به دلیل خطاهای نرم‌افزاری یا فراموش‌شدن رمز عبور کیف‌های پول افراد، دچار تورم منفی می‌شوند، برای افرادی که مسائل ریاضی هر بلوک را حل می‌کنند، یک پاداش به صورت بیت‌کوین تعیین شده است. فعالیت اجرای نرم‌افزار بلاک‌چین بیت‌کوین برای کسب این پاداش‌های بیت‌کوینی «استخراج» یا ماینینگ نامیده می‌شود که کاملاً شبیه استخراج طلا است.

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

از آنجا که حل کردن هر بلوک برای یک رایانه معمولی به زمان خیلی طولانی نیاز دارد (به طور میانگین 1 سال) گره‌ها با همدیگر تشکیل گروه داده و همکاری می‌کنند و تعداد حدس‌هایی که هر گره باید انجام بدهد را تعیین می‌کنند تا بتوانند بلوک بعدی را سریع‌تر حل کنند. بدین ترتیب گروه سریع‌تر می‌تواند عدد صحیح را یافته و پاداش دریافت کند و این پاداش بین اعضای گروه تقسیم می‌شود. چنین گروه‌هایی به نام استخرهای استخراج (mining pools) نامیده می‌شوند.

برخی از این استخرهای استخراج، بسیار بزرگ هستند و بیش از 20 درصد از کل توان محاسباتی شبکه را تشکیل می‌دهند. همین مسئله مشکلات امنیتی برای بلاک‌چین پدید می‌آورد، چون همان‌طور که قبلاً دیدیم فرد مهاجم می‌تواند برای مثال یک حمله مصرف مجدد را اجرا کند. حتی اگر یکی از این استخرها بتواند 50 درصد از توان شبکه را در اختیار بگیرد، باز هم بلوک‌هایی که در ترتیب قدیمی‌تری در زنجیره قرار دارند موقعیت امن‌تری دارند.

با این حال برخی از این استخرهای استخراج که توان محاسباتی قابل‌توجهی را در اختیار دارند، تصمیم گرفته‌اند که تعداد اعضای خود را برای تضمین امنیت کل شبکه محدود سازند.

از آنجا که توان محاسباتی کل شبکه در طی زمان به دلیل ابداع‌های فناوری و افزایش تعداد گره‌ها بالاتر می‌رود، سیستم بلاک‌چین دشواری مسائل ریاضی را برای حل بلوک‌های بعدی افزایش می‌دهد تا زمان 10 دقیقه‌ای برای کل شبکه حفظ شود. این امر ثبات شبکه و امنیت جمعی را تضمین می‌کند.

به علاوه هر چهار سال یک‌بار پاداش استخراج نصف می‌شود، بنابراین استخراج بیت‌کوین (= اجرای فعالیت‌های شبکه) در طی زمان جذابیت کمتری می‌یابد. برای این که گره‌های شبکه دست از کار استخراج برندارند، می‌توان هزینه پاداش اندکی برای هر تراکنش تعیین کرد. این پاداش‌ها به گرهی تخصیص می‌یابند که چنین تراکنشی را با موفقیت در یک بلوک درج کنند و مسئله ریاضیاتی آن را حل کند. به دلیل وجود این سازوکار، تراکنش‌های مرتبط با پاداش‌های بزرگ‌تر، معمولاً نسبت به آن‌ها که پاداش کمتری دارند، سریع‌تر پردازش می‌شوند.

این بدان معنی است که وقتی در حال ارسال یک تراکنش هستید، می‌توانید تصمیم بگیرید که سریع‌تر (همراه با هزینه تراکنش بالاتر) یا کندتر (همراه با هزینه تراکنش پایین‌تر) اجرا شود. هزینه تراکنش در شبکه بلاک‌چین در حال حاضر در مقایسه با هزینه بانکی بسیار پایین است و به مبلغ تراکنش ارتباطی ندارد.

اینک که درکی کلی از شیوه عملکرد بلاک‌چین دارید، به طور خلاصه اشاره می‌کنیم که چرا این فناوری تا این حد جذاب است.

چرا بلاک‌چین جذاب است؟

استفاده از فناوری بلاک‌چین مزیت‌های قابل‌توجهی دارد:

  • شما کنترل کاملی بر روی ارزش (یا پولی) که مالک آن هستید، دارید و هیچ شخص ثالثی وجود ندارد که بخواهد از ارزش شما نگهداری کند یا دسترسی شما به آن را محدود سازد.
  • هزینه اجرای تراکنش از هر جایی به جای دیگر در کره زمین بسیار پایین است (معمولاً در حد زیر یک دلار). و این مسئله امکان انجام تراکنش‌های بسیار خرد را عملی می‌کند.
  • ارزش می‌تواند در طی چند دقیقه مبادله شود و تراکنش در طی چند ساعت کاملاً امن تلقی می‌شود و نیازی به صبر کردن برای روزها و هفته‌ها وجود ندارد.
  • از آنجا که همه افراد در هر زمان می‌توانند همه تراکنش‌های روی بلاک‌چین را تأیید کنند، شفافیت کامل این شبکه تضمین شده است.
  • می‌توان از فناوری بلاک‌چین برای ساخت کاربردهای توزیع یافته‌ای استفاده کرد که می‌توانند جهت مدیریت اطلاعات و مبادله سریع و ایمن ارزش کمک کنند.

با این حال چند چالش وجود دارند که برای موفقیت بیشتر بلاک‌چین باید حل شوند:

  • تراکنش‌ها می‌توانند به صورت ناشناس ارسال و دریافت شوند. از یک طرف این وضعیت باعث حفظ حریم خصوصی کاربران می‌شود، اما از طرف دیگر امکان فعالیت‌های غیرقانونی روی شبکه را می‌دهد، چون مؤسسات و نهادهای قانونی نمی‌توانند هویت کاربران را رصد کنند.
  • حتی با این که پلتفرم‌های مبادله بسیار زیادی خلق شده‌اند؛ اما هنوز هم پرداخت بیت‌کوین در برابر دریافت کالا یا خدمات چندان آسان نیست. با این حال این فناوری رفته‌رفته رایج‌تر می‌شود.
  • بیت‌کوین مانند هر رمزپول دیگری بسیار فرار است. در بازار خریدوفروش، بیت‌کوین‌های زیادی وجود ندارند و عرضه و تقاضا به شدت در نوسان است. قیمت بیت‌کوین کاملاً تحت تأثیر رویدادها یا اعلامیه‌های مختلفی است که از سوی افراد مختلف در حوزه رمزپول‌ها صادر می‌شود.
  • این فناوری هنوز در حال رشد است. ابزارهای جدیدی همه‌روزه درحال‌توسعه هستند که به بهبود و تثبیت امنیت آن کمک می‌کنند و طیف وسیعی از امکانات، ابزارها و خدمات را فراهم می‌سازند.

«اینترنت برای تبادل اطلاعات و بلاک‌چین برای تبادل ارزش است»

در مجموع باید گفت که فناوری بلاک‌چین قابلیت ایجاد تحول بنیادین در حوزه‌های مختلف از تبلیغات تا توزیع انرژی را دارد. توان واقعی این فناوری در این واقعیت نهفته است که برای انجام تراکنش نیازی به جلب اعتماد افراد وجود ندارد و همچنین ماهیتی توزیع یافته دارد. کاربردهای زیادی برای این فناوری درخشان در حال ظهور هستند، مثلاً اتریوم یک پلتفرم کاملاً غیر متمرکز ایجاد کرده است که قراردادهای هوشمند را اجرا می‌کند.

اگر به این نوشته علاقه‌مند بودید، موارد زیر نیز احتمالاً مورد توجه شما واقع می‌شوند:

==

telegram
twitter

میثم لطفی

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

بر اساس رای 2 نفر

آیا این مطلب برای شما مفید بود؟

3 نظر در “بلاک‌چین چگونه کار می‌کند؟ — به زبان ساده

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

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *