داستان شکل‌گیری رمزارزها به زبان ساده؛ قسمت سوم: Hashcash

آدام بک Adam back هش کش

یک روز در اوایل دهه‌ی ۹۰ میلادی، خانم دوارک از مسافرت کوتاه‌مدت‌اش برمی‌گرده؛ کامپیوترش رو باز می‌کنه و با ۲۴۱ ایمیل مواجه می‌شه! بله؛ به روزهای اول اینترنت و پیش از سیستم‌های anti-spamming خوش آمدید.
عمل اسپمینگ پروسه‌ی راحتی داشت؛ یک ایمیل با کم‌ترین هزینه و زمان به تعداد زیادی از افراد فرستاده می‌شد و این مشکل‌ساز بود. خانم دوارک و آقای نائور که از دانشمندان حوزه‌ی کامپیوتر هستند،‌ تصمیم گرفتن راه‌حلی برای این مساله پیدا کنند. اون‌ها در مقاله‌ای پیشنهاد کردند که ۱ . قوانینی وضع بشه و ۲ . افراد برای استفاده از ایمیل هزینه صرف کنند؛
البته باید توجه داشته باشیم که منظور از صرف هزینه همیشه پرداخت مستقیم پول نیست؛ ما برای یادگیری زمان صرف می‌کنیم و این هزینه‌ی آموختن‌ه؛ یا برای سلامتی ورزش می‌کنیم و این هزینه‌ی سالم بودن‌ه و تقریبا برای هر کاری که انجام می‌دیم، هزینه‌ای پرداخت می‌کنیم؛ در دنیای کامپیوتر صرف هزینه می‌تونه حل یک معادله باشه. به این شکل که با استفاده از قدرت کامپیوتر (مثل CPU) و برق، به حل مساله‌ای بپردازیم که هزینه‌ی انجام یک کار مشخص،‌ مثل فرستادن ایمیل، هست. به این ترتیب انجام اسپمینگ به علت هزینه‌بر بودن‌، مقرون به صرفه نخواهد بود.

دوارک و نائور همین ایده‌ی ساده رو با استفاده از سه ابزار ایجاد کردند: یک تابع ریاضی (Pricing function)، یه میان‌بر (Shortcut) و یک تابع دیگه به نام Hash.

اول هزینه توسط یک سری افراد مورداعتمادِ جمع، تعیین می‌شه (که میتونیم به تعیین قیمت تمبر توسط اداره‌ی پست تشبیه‌اش کنیم.) بعد از اون، تابع Pricing که همون معادله برای حل باشه، روی سیستم ایمیل اعمال می‌شه. البته Pricing Function به‌خاطر طولانی بودن، توسط یک تابع رمزنگاری به اسم Hash، کوتاه و بعد به پیام متصل می‌شه. حالا وقتی آدما برای هم ایمیل می‌فرستن، کامپیوترهاشون باید یک معادله ریاضی بر حسب زمان، مقصد و محتوای پیام رو حل بکنه؛ و تنها در این صورت‌ ایمیل ارسال و دریافت می‌شه؛ و خب به خاطر هزینه‌ای که اسپمرها باید پرداخت کنند، تعدادشون کم می‌شه. اما از طرفی فرض کنیم قراره یک کنفرانس راجع‌به کریپتوکارنسی (رمزارزها) برگزار بشه و دعوت‌‌نامه‌ها از طریق ایمیل ارسال بشه. علی‌رغم نیاز به ارسال پیام به تعداد زیادی از آدم‌ها، اسپمینگ نیست ولی برای فرستنده هزینه‌بره. این‌جاست که میان‌بر کاربرد پیدا می‌کنه. میان‌بر مثل یک تسهیل‌کننده می‌مونه که سختی معادله رو کاهش می‌ده. درنتیجه CPU و برق کم‌تری مصرف می‌شه. این میان‌بر رو فقط اون مرکز (افراد معتمد)‌ و یک سری ارائه‌دهنده‌ی سرویس (مثلا بگیم Gmail) دارند؛ برای مثال اگر درحالت عادی برای حل معادله ۱۰ثانیه CPU استفاده بشه، با میان‌بر این زمان به ۰٫۰۱ ثانیه می‌رسه. پس وجود میان‌بر هم به این علت‌ه؛ و کار دیگه‌ای هم که کاربر می‌تونه انجام بده، تشکیل یک لیست از خانواده، دوست، آشنا و کمپانی‌های شناخته‌شده‌ و … هست که دریافت ایمیل از این افراد نیازی به تاییدشدن با صرف هزینه، نباشه.

درست مثل همون کاری که ۳جوون زودبازنشسته‌شده یعنی Eric Hughes ، Tim May، John Gilmore تو سال ۱۹۹۲ تصمیم به انجام‌ا‌ش گرفتند و این تصمیم به جنبش سایفرپانک‌ها ختم شد. شاید بتونیم قاطعانه ادعا کنیم که این لیست از تاثیرگذارترین لیست‌های ایمیلی در دنیای ما بوده. ایمیل‌های این لیست به‌صورت رمزنگاری‌شده انجام می‌گرفت و هویت افراد در اون مشخص نبود؛ برای همین هر کسی بدون ترس از عواقب صحبت‌ها و عقاید خودش می‌تونست اون‌هارو آزادانه بیان کنه.

دو مرد جلوی یک خانه

حریم خصوصی در دنیای آنلاین

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

حریم خصوصی در عصر الکترونیک لازمه‌ی یک اجتماع آزاد است. حریم خصوصی پنهان‌کاری نیست…

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

… حریم خصوصی توانایی انتخاب افراد در به اشتراک‌گذاری اطلاعات آن‌ها با جهان اطراف است.”

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

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

اثبات کار یا Proof-of-Work

یکی دیگه از افراد تاثیرگذار این لیست، Adam Back یک کریپتوگرافر۲۶ ساله‌ و از اعضای فعال سایفرپانک‌هاست؛ که درسال ۱۹۹۷ (یعنی یک سال قبل از ورشکستگی دیجی‌کش) نوعی سیستم رو تو این جمع مطرح کرد که ظاهرن ضعف‌های DigiCash رو می‌تونست برطرف کنه. آقای بک مستقلا به نتایج مشابه‌ای با کارهای دوارک و نائور رسیده بود: پرداخت هزینه برای انجام کاری. اون در طرح خودش توضیح می‌ده برای اینکه بتونیم سریعا از صحیح یا نادرست بودن یک عمل (مثل اسپمینگ ایمیل یا تراکنش‌های مالی) مطمئن بشیم، می‌تونیم شرطی بذاریم؛ چه طوری؟
بگیم خروجیِ معادله‌ای که کامپیوتر باید محاسبه‌ بکنه، عددی متشکل از مثلا ۲۵ تا صفرویک (bit) باشه؛ این شرطِ ماست. اگر صادق بود، اون عمل انجام می‌گیره؛ در غیر این صورت رد می‌شه. یعنی کاری انجام می‌گیره تا اثبات کنه برای اون هزینه صرف شده که به اون اثبات کار یا Proof-of-Work گفته می‌شه. این سیستم می‌تونه کاربردهای زیادی تو حوزه‌های مختلف داشته باشه؛ برای مثال فکر کنید که شما یک سلبریتی مشهور هستید و در طول روز تعداد زیادی ایمیل دریافت می‌کنید. با این سیستم می‌شه فیلتری ایجاد کرد که شما فقط ایمیل‌هایی که می‌خواید رو دریافت کنید. یا اگه یادتون باشه تو سال ۲۰۱۶ به چند سایت مشهور مثل توییتر و اسپاتیفای حمله شد و برای مدتی از دسترس خارج شدن؛ حمله‌ای که به DoS شناخته می‌شه. استفاده از این سیستم می‌تونه جلوی این نوع حملات رو هم بگیره.

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

حمله DDoS

تابع ریاضی هش

اما چرا تابع هش؟
آقای بک یک کریپتوگرافر و نگران حریم خصوصی افراد بود. و وقتی صحبت از امنیت میشه، متخصصای ما به یک تابع خاص علاقه زیادی نشون میدن: تابع Hash !
تابع هش درواقع یک تابع رمزنگاری هست که هر داده‌ای اعم از یک کلمه یا کلمات یک کتاب رو می‌تونه بگیره و اون(ها) رو به یک سری اعداد تصادفی با طولی مشخص تبدیل کنه. مثلا اگر به یکی از انواع معروف و محبوب hash به‌نام SHA-256 جمله‌ی :‌”امروز هوا خوبه” رو بدیم، تابع هش جمله رو به‌ شکل:

۳E51EC9B95477798A0DF3266DB45F357A2EAB2385C0CA65548DA45BA58036DF6 بر مبنای ۱۶، رمزنگاری می‌کنه. که می‌تونه به:

۲۱۶ ۱۶۷ ۲۱۷ ۱۳۳ ۲۱۶ ۱۷۷ ۲۱۷ ۱۳۶ ۲۱۶ ۱۷۸ ۳۲ ۲۱۷ ۱۳۵ ۲۱۷ ۱۳۶ ۲۱۶ ۱۶۷ ۳۲ ۲۱۶ ۱۷۴ ۲۱۷ ۱۳۶ ۲۱۶ ۱۶۸ ۲۱۷ ۱۳۵ بر مبنای ۱۰، ترجمه بشه

و یا

به‌صورت ۰ و ۱ های کامپیوتری (باینری) دربیاد:

۱۱۰۱۱۰۰۰ ۱۰۱۰۰۱۱۱ ۱۱۰۱۱۰۰۱ ۱۰۰۰۰۱۰۱ ۱۱۰۱۱۰۰۰ ۱۰۱۱۰۰۰۱ ۱۱۰۱۱۰۰۱ ۱۰۰۰۱۰۰۰ ۱۱۰۱۱۰۰۰ ۱۰۱۱۰۰۱۰ ۰۰۱۰۰۰۰۰ ۱۱۰۱۱۰۰۱ ۱۰۰۰۰۱۱۱ ۱۱۰۱۱۰۰۱ ۱۰۰۰۱۰۰۰ ۱۱۰۱۱۰۰۰ ۱۰۱۰۰۱۱۱ ۰۰۱۰۰۰۰۰ ۱۱۰۱۱۰۰۰ ۱۰۱۰۱۱۱۰ ۱۱۰۱۱۰۰۱ ۱۰۰۰۱۰۰۰ ۱۱۰۱۱۰۰۰ ۱۰۱۰۱۰۰۰ ۱۱۰۱۱۰۰۱ ۱۰۰۰۰۱۱۱

بدیهی‌ه که با نگاه کردن به خروجی جمله‌ی هش‌شده جمله‌ی اول قابل تشخیص نیست. و همین امر باعث امنیت hashcash می‌شه. جالبه نه؟

اما جدای اصل قراردادن تابع هش در سیستم آدام بک، تقاوت دیگه‌ی کار اون با دوارک-نائور فاکتور سرعت هست. براساس pricing function همیشه کامپیوتر سریع‌تر می‌تونه معادلات رو زودتر از بقیه حل بکنه. درحالی که در سیستم hashcash یک مسابقه‌ی نسبتا عادلانه برقراره؛ چراکه کامپیوترهای کندتر هم شانس پیروزی دارند. مثل این می‌مونه که دو نفر تو لاتاری شرکت کنند؛ نفر اول توانایی خرید کارت‌های بیش‌تری رو داشته باشه و خب شانس‌اش برای پیروزی بالاتره؛ اما نفر دوم با تعداد لاتاری کم‌ترهنوز شانس داشتن کارت برنده رو تو تعداد محدود کارت‌هاش داره؛ و ممکن‌ه هرازگاهی ببره.

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

۱ . بستر داریم   شبکه‌ای غیرمتمرکز که با اینترنت به هم متصل‌اند و اسم‌اش رو گذاشتیم بلاکچین  

۲ .حساب‌های ناشناس برای حفظ حریم خصوصی

۳ . حذف واسطه‌ها   تایید تراکنش‌ها با صرف هزینه  ✓

دیگه به چی نیاز داریم؟
به کسی که این‌هارو کنار هم قرار بده؛ نه؟ 🙂

 

 

این مقاله قسمت سوم از مجموعه داستان شکل‌گیری رمزارزهاست؛

اگر قسمت‌های قبلی رو  هنوز نخوندین، می‌تونین همین‌‌جا پیداشون کنین 👇

قسمت اول: DigiCash

قسمت دوم : b-money

قسمت سوم: Hashcash

قسمت چهارم: Bitcoin

برای نوشتن این مقاله از منابع زیر استفاده شده:

Bitcoin Magazine  ،The untold history of Bitcoin ، Hashcash 

دیدگاهتان را بنویسید

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

*