03-07-2020, 02:57 PM
پردیس فناوری کیش_طرح مشاوره متخصصین صنعت و مدیریت_دپارتمان فناوری اطلاعات و ارتباطات
http://kishindustry.com
یکی از بزرگترین مشکلاتی که افراد تازهکار در دنیای ارزهای دیجیتال با آن سر و کار دارند، درک مفهوم و چگونگی کار بیت کوین است. تس رینیرسون (Tess Rinearson) در پستی 2 قسمتی که در مدیوم منتشر کرده است، به زبان خیلی ساده و با استفاده از ایموجیها به تشریح چگونگی سازوکار بیت کوین و بلاک چین آن میپردازد. متن کامل این مقاله را در ادامه میخوانید.
بیتکوین را میتوان انقلابی در چگونگی ذخیره و خرج کردن پول دیجیتالی دانست. این ارز دیجیتال، این قابلیت را دارد که بقیه جنبههای زندگی ما را هم تحت تاثیر قرار دهد. برای درک آن نیازی نیست که یک ریاضیدان و یا یک رمزنگار باشید. در ادامه با این مقاله جذاب همراه باشید. مطمئنم پس از خواندن آن، این پست را به دوستان خود که نمیدانید چگونه بیت کوین را برایشان شرح دهید ارسال خواهید کرد ?
فرض کنید که من قرار است با استفاده از اینترنت، یک فیلم برای شما ارسال کنم. فایل فیلم را در یک ایمیل پیوست میکنم و پس از فشردن دکمه ارسال، چند لحظه بعد شما آن را دریافت میکنید. شما میتوانید این فیلم را دانلود و تماشا کنید و یا میتوانید آن را پاک کنید. میتوانید هر کاری دلتان میخواهد با آن انجام دهید.
اما این را به خاطر داشته باشید؛ من هنوز یک نسخه از این تعاملی که بین ما اتفاق افتاد، یعنی همان فیلم را دارم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
اطلاعات دیجیتالی در اینترنت اینگونه جابهجا میشوند. هنگام ارسال یک فایل، شما در واقع خودِ محتوا را منتقل نمیکنید، بلکه یک نسخه رونوشت و کپی از آن تهیه میکنید. و تا به امروز این روش به خوبی کار کرده است. هر چند ممکن است این عمل قانونی و یا منصفانه نباشد، اما بعید است که کپی کردن یک آهنگ و یا فیلم به اقتصاد ضربه مهلکی وارد کند.
اما اگر قرار باشد به جای فایل، پول را کپی کنیم چه؟
در ابتدا شاید استفاده از ایمیل برای ایجاد پول دیجیتالِ نامحدود جذاب به نظر برسد، اما وقتی همه شروع به انجام این کار کنند چه اتفاقی میافتد؟ تورمی وحشتناک بر جامعه حاکم خواهد شد و اقتصاد رو به زوال خواهد رفت. اگر من برای شما یک دلار ارسال کنم، اینکه نتوانم یک نسخه و کپی از آن را برای خودم نگه دارم خیلی مهم است. در واقع من نباید بتوانم که یک پول را دو بار خرج کنم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
معمولا، در دنیای نقل و انتقالات مبتنی بر سیم و کارتهای اعتباری، پولهای دیجیتال به صورت مرکزی کنترل میشوند تا از تکثیر آنها جلوگیری شود.
به عنوان مثال در بانک شما یک پایگاه داده (دیتابیس) که اطلاعات همه حسابها را در خود ذخیره کرده است، تایید میکند که چه کسی مالک چه چیزی است. این سیستم به یک مرجع و قدرت مرکزی و متمرکز متکی است که مفهومی آشنا برای همهی ماست. واضح است که این مرجع مرکزی کنترل و دسترسی کاملی روی پول شما دارد.
اما اگر راه دیگری وجود داشته باشد چه؟ اگر برای اثبات مالکیت و انتقال پول به جای استفاده از بانک و بقیه سازمانهای مالی، از یک قدرت توزیعشده که توسط یک شخص و یا نهاد خاصی کنترل نمیشود استفاده کنیم چه؟
چه میشود اگر پول ما دارای ارزش باشد، نه به این دلیل که ما به قدرت دولت برای حمایت از آن اعتماد داریم، بلکه به این دلیل که به قدرت ریاضیات اعتماد داریم؟ پاسخ به این سوالها ما را به بیت کوین میرسانند.
معرفی بیت کوین
بیت کوین یک سیستم ارز دیجیتال است که به هیچ نهاد و دولتی وابسته نیست. کلمه bitcoin با حرف b کوچک، نام خود ارز دیجیتال است. سیستم و مفهوم کلی Bitcoin با B بزرگ، در سال 2009 ایجاد شد، اما واحدهای ارزی بیت کوین به طور مداوم طی فرآیندی به نام استخراج تولید میشوند. این فرآیند همانند استخراج طلاست، اما طلای دیجیتال قرن 21ام.
بنابراین بیت کوین دارای دو مفهوم است: ۱- شبکه ۲- واحدهای ارز دیجیتال که روی این شبکه منتقل میشوند
تمامی تراکنشهای شبکه بیت کوین برای همیشه بر روی بلاک چین آن ثبت میشوند. بلاک چین لیستی محرمانه نیست که توسط یک مقام و یا مرجع مرکزی از آن محافظت شود.
بلاک چین در واقع لیستی عمومی و توزیعشدهای است که هر کامپیوتری که در شبکه آن مشارکت میکند، یک نسخه از آن را دارد. بلاک چین بیت کوین یک دفترکل تغییرناپذیر، عمومی و توزیعشده است.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
منظور از تغییرناپذیر این است که به محض اینکه تراکنشی برای چند ساعت بر روی بلاک چین ثبت شود، دیگر تغییر و یا پاک کردن آن غیرممکن میشود. دلیل این امر این است که تراکنشهای بعدی بر مبنای اطلاعات تراکنش پیشین انجام میشوند و بدین ترتیب بلاکها ساخته میشوند.
عمومی بودن بلاک چین به این معناست که هرکسی (نه فقط مدیران بانک) میتواند به بلاک چین دسترسی داشته باشد. البته این دسترسی بدان معنا نیست که شما دقیقا بدانید چه کسی پول را ارسال و دریافت میکند، چرا که سوابق تراکنشها با نوعی نام مستعار (که وارد جزئیات فنی آن نمیشویم) ثبت میشوند. هویت گیرنده و فرستنده با استفاده از نامهای ساختگی پنهان میشود. در رابطه با بیت کوین این نام ساختگی در واقع یک رشته طولانی از اعداد است.
وقتی مدعی میشویم که بلاک چین بیت کوین توزیعشده است، منظورمان این است که نسخههای همگامسازیشدهی بلاک چین توسط کامپیوترهای مختلف در جهان نگهداری میشوند. هیچ نسخه اصلی و برتری وجود ندارد، همه نسخهها با هم برابرند.
هر کس که به بلاک چین بیت کوین وصل میشود یک نسخه از کل آن را دریافت میکند. حالا اگر آن فرد شبکه بیت کوین را ترک کند یا نسخه خودش را نابود کند چه میشود؟ هیچ اتفاقی رخ نمیدهد چون بقیه هستند.
در نهایت دفترکل (Ledger) بودن بلاک چین به این معناست که میتوان آن را به عنوان لیستی از تراکنشها در نظر گرفت. در واقع آن را معادل تاریخچه تراکنشها در موسسه بانکی بدانید.
این دفترکل توزیعشده «بلاک چین» نامیده میشود، چرا که مجموعهای از چند تراکنش است که با یکدیگر تشکیل یک بلاک را میدهند و در نهایت این بلاکها به صورت زنجیرهوار به یکدیگر متصل میشوند. ایجاد هر بلاک 10 دقیقه زمان نیاز دارد.
برای درک بهتر قدرت یک دفترکل توزیعشدهی عمومی، بیایید تراکنشی که دربرگیرنده مقداری بیت کوین به ارزش 5 دلار است را تصور کنیم.
فرض کنید دوست من، آلیس، مقداری بیت کوین به ارزش 5 دلار را برای من ارسال میکند. همانند تمامی تراکنشها، این تراکنش نیز بر روی بلاک چین ثبت میشود. سپس، من این مقدار بیت کوین را برای شما ارسال میکنم و حالا تمامی نسخههای بلاک چین نشان میدهند که شما اکنون صاحب آن بیت کوینی هستید که متعلق به من بود و پیش از آن نیز متعلق به آلیس بود.
نیازی نیست که هیچ کدام از ما، نه من، نه شما و نه آلیس، از یک مرجع و یک پایگاه داده مرکزی استعلام کنیم تا بدانیم که چه چیزی برای چه کسی است و یا اینکه برای انجام این تراکنشها از کسی کسب اجازه کنیم. قدرت غیرمتمرکز است، این قدرت در تمامی نسخههای بلاک چین در سرتاسر جهان توزیعشده است.
شاید برایتان سوال شود که آلیس بیت کوینی که برای من ارسال کرد را از کجا به دست آورده است؟ پاسخ کوتاه به این سوال این است که احتمالا کسی آن را برای او ارسال کرده است. تقریبا هر کسی به این ترتیب صاحب بیت کوین میشود.
اما این سکهها باید برای اولین بار به گونهای ایجاد و یا تولید میشدند، این اتفاق چگونه رقم خورد؟
یک بیت کوین چگونه متولد میشود؟
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
دلارها وقتی متولد میشوند که دولت ایالات متحده آمریکا آنها را چاپ میکند، درست همانطور که سایر ارزهای معمول توسط دولتهای مربوطه صادر میشوند. در گذشته، پشتوانه دلار آمریکا مقدار معادلی طلا بود که در خزانه ایالات متحده نگهداری میشد. در آن زمان عرضه ارز جدید مستلزم دارا بودن میزان متناسبی طلا بود. اما امروزه دیگر دلار پشتوانهای ندارد.
بیت کوین در جریان فرآیندی به نام استخراج (ماینینگ) ایجاد و تولید میشود. لازم به ذکر است که این استخراج به صورت دیجیتالی انجام میشود، و به جای بیل و دینامیت از کامپیوتر و نرمافزار استفاده میشود.
برای افزودن یک بلاک جدید به بلاک چین، باید معادلات و مسائل پیچیده ریاضی حل شوند. ماینری که اول از همه این معادلات را حل کند و به جواب برسد، به او پاداش تعلق میگیرد. پاداش او بیت کوینهای جدید و تازه ایجاد شده است. این نحوه استخراج بیت کوین است.
به عبارت دیگر، در فرآیند استخراج دو عمل انجام میشود؛ بلاک جدیدی به بلاک چین افزوده میشود و بیت کوینهای جدید تولید میشود. این معاملات و مسائل ریاضی که پیشتر به آن اشاره کردیم و ماینرها برای حل آن با یکدیگر به رقابت میپردازند، شامل فرآیندی به نام هش کردن است.
هش کردن به زبان ساده
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
هش همانند اثر انگشت برای دادههاست، به این صورت که سیستم به صورت کاملا منحصر به فرد بخشی از محتوای دیجیتال مانند عکس، فیلم، رمزعبور، متن و یا هر چیز دیگری را یکی میکند. این خروجی طی فرآیندی به نام هش کردن، از خود محتوای دیجیتال حاصل میشود و میتوان به فرم رشتهای حروف، اعداد و یا هر نشانه دیگر باشد.
برای مثال دو عبارت «arzdigital» و «bitcoin10000000» را در نظر بگیرید. این دو عبارت از نظر تعداد حروف و اندازه با یکدیگر متفاوت هستند. حالا هش این دو عبارت را در تابع SHA 256 مشاهده میکنید:
هش عبارت «arzdigital»:
ac42165f390aef299a41d6d7a74d4fb909145f6e45f4feb505519c082802160c
هش عبارت «bitcoin10000000»:
4dd23eacecd8082af64d907f14a754cec259c9004b1906f23c83698eb0994af9
همانطور که مشاهده میکنید، اگر چه اندازه دو عبارت با هم متفاوت بود اما اندازه هش آنها کاملا یکسان است. تابع هش یک قابلیت فوقالعاده دیگر هم دارد: کوچکترین تغییر در ورودی، هش را کاملا تغییر میدهد.
هش کردن، یک مفهوم کلی و بنیادینی در علوم کامپیوتر است که به طور گستردهای در پشت پردهی عملیات رایانهای مورد استفاده قرار میگیرد. اصولا سرویسهای ارائهدهنده خدمات آنلاین برای افزایش امنیت به جای رمزعبورهای واقعی، هشهای رمزعبورها را نگه میدارند. زمانی که شما میخواهید وارد سیستم شوید، هش رمزعبوری که وارد کردید با هش رمزعبور واقعی شما مقایسه میکنند.
فیسبوک از هشها برای بررسی مناسب بودن تصاویر آپلود شده استفاده میکند. هیچ شخصی در فیسبوک مسئول این کار نیست که تک تک عکسهای این پلتفرم را چک کند و از اینکه محتوای خشونتآمیز و یا مستهجن ندارد، اطمینان حاصل کند.
در عوض، فیسبوک عکسهایی که به عنوان عکس نامناسب گزارش شدهاند را هش میکند و لیستی از اثر انگشتهایی که حاوی محتوای بد هستند را ایجاد میکند. هر بار که عکسی بر روی فیسبوک آپلود میشود، با استفاده از تابع مشابهی هش میشود. هش حاصل با لیست هشهای ممنوعه مقایسه میشود و در صورت مطابقت، فیسبوک تشخیص میدهد که آن عکس مناسب نیست.
به طور معمول، وقتی که نرمافزار تابع هش را اجرا میکند، دادههای ورودی مانند عکس را دریافت میکند و خروجی رشته نامفهومی است که در واقع همان هش است.
برای نمونه بیایید تصویر این سگ را به تابع هشی با نام SHA-256 بدهیم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
واضح است که تصویر این حیوان بامزه، دربرگیرنده هیچ محتوای خشونتآمیزی نیست. اما هیچ کسی در فیسبوک این تصویر را بررسی نمیکند. در عوض نرمافزاری در فیسبوک هش آن را که به صورت زیر است کنترل میکند:
8EC9D4718F919C6087CA589EDA09E7DD9A7ACCDB820F42B4196E1D0D4BEDE77A
رقم بالا خروجی تابع SHA-256 است، وقتی که تصویر سگ را به آن دادیم. همانطور که گفتیم، یکی از ویژگیهای جالب تابع هش این است که اگر کمی تصویر را تغییر دهیم، خروجی آن کاملا متفاوت خواهد بود.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
مثلا با تغییر یک پیکسل از عکس این سگ، و قرار دادن نقطهای سیاه به اندازه 1 پیکسل بالای چشم او، هشی کاملا متفاوت از تصویر اصلی دریافت خواهیم کرد:
039E1AF92F7D00775ECE35C2216FC3F7F0BBCD31F912A105D2601380D8DEABA2
حالا، در ادامه این پست ما میتوانیم از محتوا و مقادیر مرتبط به هش واقعی استفاده کنیم، اما از آنجایی که این مقاله زمینه آموزشی دارد و هشها هم به نوعی قابل تفکیک و مخاطبپسند نیستند، از ایموجیها برای نمایش مقادیر ورودی و خروجی استفاده میکنیم. در مثال زیر، ورودی (محتوایی که قرار است هش شود)، با گربه و خروجی (نتیجه هش) با یک ربان نمایش داده شده است.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
تصور کنید فیسبوک تابع هش خود را بر روی دو تصویر نامناسب زیر اجرا کرده است. بیایید آنها ? و ❌ بنامیم. هش خروجی به صورت ? و ? خواهد بود.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
بعدتر، یکی از کاربران تصویری را آپلود میکند که ما نمیدانیم چیست وآن را (؟) مینامیم. فیسبوک این عکس را هش میکند و نتیجه ? خواهد بود.
اگر چه هیچکس به این عکس نگاه ننداخته، اما فیسبوک میداند که این یک تصویر نامناسب است چرا که هش آن مطابق هش ? است. در واقع نیازی نیست که کسی عکس را مستقیما بررسی و چک کند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
شناسایی عکسها تنها یکی از هزاران کاربرد هش کردن است. استخراج بیت کوین که سبب تولید بیت کوین جدید و افزودن بلاک جدید به بلاک چین میشود، یکی دیگر از کاربردهای آن است.
هش کردن و بلاک چین بیت کوین
بلاک چین بیت کوین دفترکلی است که دربرگیرنده تمام تراکنشهای بیت کوین است. بلاک چین در واقع زنجیرهای از بلاکهاست که و بلاک شامل گروهی از تراکنشهای انجام شده بر روی شبکه بیت کوین است. میتوانید در ذهنتان بلاک چین را شبیه به یک سری بسته تجسم کنید که هر حاوی تراکنشهایی هستند که در طی مدت زمان 10 دقیقه انجام میشوند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
یا ممکن است آن را همانند بستههای انبار شده بالای یکدیگر تجسم کنید که اولین بلاک تراکنشها در پایینترین قسمت و جدیدترین در بالا قرار دارد. میتوان تصور کرد که دستکاری یک جعبه در قسمت زیرین سبب فروریختن تمام جعبههای بالایی خواهد شد. بنابراین برای تغییر یک بلاک در بلاک چین مجبور به تغییر گسترده بلاک های قبل خواهید بود که در بلاک چینهای بزرگی مثل بیت کوین تقریبا غیرممکن است.
هر بلاک یک هش منحصر به فرد دارد، اثر انگشتی که به شکل رشتههای بسیار بزرگی از اعداد و به صورت رشتهای از کاراکترهای درهم و برهم نشان داده میشود. به عنوان نمونه هش یک بلاک ممکن است به صورت “00000000003e95b0ac78cb961d0” باشد.
برای اینکه بحث ما سادهتر و قابل فهمتر باشد، اجازه دهید از ایموجیها به جای شماره برای نشان دادن هش استفاده کنیم. بیایید هش بلاک اول را به صورت ⚽، بلاک دوم را ? و بلاک سوم را با ? نشان دهیم. حال با استفاده از ایموجیها، بلاک چین را میتوان به شکل زیر نمایش داد.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
همان مثالی که دوست من آلیس بیت کوینی به ارزش 5 دلار برایم ارسال کرد و من نیز میخواهم آن را برای شما ارسال کنم را در نظر بگیرید. هنگامی که من این کار را انجام میدهم، تراکنش همراه با بسیاری از تراکنشهای دیگر در بلاک جدیدی به زنجیره افزوده میشود. هر بلاک در زنجیره میداند که در کدام دنباله قرار دارد، زیرا حاوی هش بلاک پیش از خود است. به عبارت دیگر، بلاک سوم نه تنها شامل گروهی از تراکنشهاست؛ بلکه حاوی هش بلاک قبلی ? نیز هست.
تصور کنید که سیستم بیت کوین چند ثانیه پیش بلاک شماره 3 را هش کرد (?را ایجاد کرد). وقتی که من 5 دلار را به شما انتقال دهم، بیت کوین تراکنش ما را در بلاک جدید قرار میدهد. این بلاک جدید که ما آن را بلاک شماره 4 مینامیم، هنوز هشی ندارد و فعلا به جای آن علامت سوال قرار میدهیم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
بخش جالب ماجرا اینجاست. کامپیوترهای قدرتمندی که ماینر نامیده میشوند برای افزودن بلاک شماره 4 به زنجیره، با حل معادلات و مسائل پیچیده ریاضی با یکدیگر به رقابت میپردازند. اولین ماینری که موفق شود هش بلاک جدید را محاسبه کند برنده است و صاحب آن 12.5 بیت کوین جدید را به عنوان پاداش دریافت میکند.
لازم به ذکر است که تقریبا هر 4 سال یکبار پاداش استخراج بیت کوین کاهش مییابد و نصف میشود.
اینگونه است که پول جدید «استخراج» میشود. به محض اینکه یک هش درست به دست آمد، بلافاصله بین ماینرهای دیگر توزیع میشود. ماینرها هش جدید را تایید میکنند و آن را به نسخه بلاک چین خود اضافه میکنند. پس از این، مسابقه برای یافتن هش بلاک بعدی زنجیره آغاز میشود.
هش کردن در کل فرآیند آسانی است و کامپوترها و لپتاپهای معمولی میتوانند هزاران هش در ثانیه ایجاد کنند. اما در شبکه بیت کوین، ماینرها برای به دست آوردن هش درست به طور متوسط 10 دقیقه زمان صرف میکنند.
سیستم بیت کوین عمدا طوری طراحی شده که پیدا کردن یک هش قابل قبول و درست را بسیار سخت میکند. یک هش میتواند هر عدد بزرگی باشد، عددی که صرفا یکی از تریلیون احتمالهای موجود باشد.
بنابراین، ماینرها میخواهند یک مقدار هش نسبتا کوچکی پیدا کنند، و تنها راه رسیدن به آن این است که بارها و بارها امتحان کنند. هر کدام از این تلاشها باید متفاوت باشد. ماینر نمیتواند روش هش کردن خود را تغییر دهد، اما میتواند چیزی که هش میکند را اندکی تغییر دهد.
آنها این کار را با کمک چیزی به نام نانس (Nonce) انجام میدهند که به نوعی شبیه به همان پیکسل سیاهی است که ما پیشتر به تصویر سگ اضافه کردیم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
به یاد آورید که اضافه کردن تنها یک پیکسل سبب شد که هش این تصویر کاملا متفاوت از هش تصویر اصلی باشد. چرا که تغییر محتوای دیجیتالی حتی در همین حد اندک سبب میشود که هش به کلی متفاوت و غیرقابل پیشبینی باشد.
یک نانس در واقع یک حدس بدون حساب و کتاب است، عددی که بر مبنای سعی و خطا و با امید اینکه سبب میشود که هشی که حاصل میشود، هش برنده باشد، به بلاک بیت کوین اضافه میشود.
ماینرها همه تراکنشها به علاوه هش بلاک پیشین را در بلاک جدیدی قرار میدهند، در نهایت نانس را اضافه میکنند و نتیجه را هش میکنند.
هر ماینری با امید اینکه بالاخره یکی از تلاشهایش به ثمر بنشیند، عددهای زیادی برای نانس امتحان میکند. وقتی که این اعداد درون بلاک قرار میگیرند، سبب میشوند که هش بلاک عدد نسبتا کوچکی باشد.
در واقع، ممکن است ماینرهای موفق میلیونها عدد را به عنوان حدس برای نانس به کار برند تا اینکه در نهایت یکی از آنها درست باشد.
این روزها، کل ماینرهایی که برای استخراج بلاک جدید تلاش میکنند معمولا در مجموع، کادریلیون (1015) عدد را امتحان میکنند تا یک هش درست را به دست آورند. هر 10 دقیقه یک برنده دارد، چرا که استخراجکنندگان صاحب فارمهای بزرگ و منابع محاسباتی بسیار قدرتمندی هستند. اگر متوسط زمان استخراج به زیر 10 دقیقه برسد، سیستم بیت کوین به طور خودکار با تغییر سایز هش مورد قبول، معادلات ریاضی را سختتر میکند که به آن افزایش سختی استخراج هم میگویند.
ارزش طلا به این خاطر است که یک فلز کمیاب است، به همین ترتیب هش برنده با توجه به اینکه یک عدد کمیاب است، ارزش پیدا میکند. عددی که ویژگی خاصی (اندازه کوچک) دارد و این ویژگی آن را بسیار نادر و با ارزش میسازد.
ماینرها با امید اینکه اولین کسی باشند که عدد نانس را درست حدس میزنند و چراغی در تاریکی روشن کنند، آغاز به کار میکنند. به عنوان مثال ممکن است الزام شبکه بیت کوین این باشد که هش کوچکتر از 0000000003e95b0acc32ac089222 باشد. استراتژی ماینر برنده این است که به اندازه کافی توان کامپیوتری و محاسباتی در اختیار داشته باشد تا بتواند هش را به درستی حدس بزند.
شبکه بیت کوین خواستار هشهایی که از یک اندازه خاصی کوچکتر باشند. برای ادامه فرآیند بهره بردن از ایموجیها برای روشنتر شدن مطلب، بیایید تصور کنیم که این محدودیتها دوستانهترند. برای مثال بیایید فرض کنیم که محدودیت شبکه این است که هشها باید ایموجی حیوان باشند. در اولین تلاش، هشی که ماینرها به دست میآورند به صورت زیر است.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
تنها یکی از ماینرها توانست این محدودیت را برآورده کند. نه شکوفه گیلاس و نه گلابی هیچ کدام حیوان نیستند، اما نهنگ این الزام را برآورده کرد و یک حیوان است.
از آنجایی که ماینر دوم هش درستی را پیدا کرده، مستحق دریافت پاداش میشود. این پاداش که همان پاداش استخراج است در واقع بیت کوینهای جدیدی است که در نتیجه تولید بلاک جدید تولید میشود.
اگر استخراج خیلی سریع اتفاق بیفتد، بیت کوین در سیستم طغیان خواهد کرد و سبب ایجاد تورم خواهد شد. برای جلوگیری از رخ دادن چنین اتفاقی، نرمافزار بیت کوین به گونهای نوشته شده است که دارای یک محدودیت قابل تنظیم است. اگر هشها به راحتی به دست بیایند، شبکه میتواند محدودیت بیشتری را اعمال کند.
مثلا در بلاک چین ایموجی ما، برای رفع مشکل ماین کردن سریع بلاک محدودیتی که اعمال میکنند به صورت زیر باشد: «هش بعدی باید حیوان باشد و علاوه بر این حیوانی باشد که چنگال دارد».
ماینرها تابع هش خود را اجرا کردند و هشهای زیر را به دست آوردند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
هیچکدام از این هشها حیوان چنگالدار نیست. پس آنها باید دوباره تلاش کنند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
در این مرحله، همانطور که مشاهده میکنید ماینر سوم یک هش درست پیدا کرده است؛ خرسهای حیوانات چنگالدار هستند. بنابراین این ماینر میتواند هش به دست آمده را به همراه دادههای داخل بلاک به شبکه مخابره کند.
از آنجا که توابع هش میتوانند به سرعت اجرا شوند، دیگر ماینرها میتوانند تابع هش را بر روی این بلاک اجرا کنند و به صحت سنجی هش به دست آمده ? بپردازند و از اینکه محدودیتها را ارضا کرده است اطمینان حاصل کنند و آن را تایید کنند.
سپس همه آنها این بلاک را در زنجیره خود میپذیرند؛ این بدان معناست که آنها تقریبا کم و بیش با یکدیگر همگام باقی میمانند، و پس از آن به جمعآوری تراکنشها برای استخراج بلاک بعدی میپردازند.
اکنون بلاک چین به شکل زیر است، این بلاک جدید شامل آن 5 دلاری که من برای شما ارسال کردم نیز هست و ? نامیده میشود.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
رمزنگاری کلید عمومی
هش کردن تنها یکی از مفاهیم ریاضی است که بیت کوین بر پایه آن استوار است. رمزنگاری کلید عمومی یکی دیگر از آنهاست.
اصول کسانی که مطالعاتی در حوزه رمزنگاری دارند، از شخصیت «آلیس» و «باب» برای مثالهایشان استفاده میکنند. در اینجا ما نیز از آنها برای توضیح مفهوم رمزنگاری کلید عمومی استفاده میکنیم.
تصور کنید که آلیس میخواهد برای باب یک کیف دستی حاوی اسناد محرمانه ارسال کند. اگر آنها دارای کلیدهای مطابق باشند ساده است؛ آلیس میتواند یک قفل روی کیف قرار دهد، آن را با کلید خود قفل کند و برای باب ارسال کند.
http://kishindustry.com
یکی از بزرگترین مشکلاتی که افراد تازهکار در دنیای ارزهای دیجیتال با آن سر و کار دارند، درک مفهوم و چگونگی کار بیت کوین است. تس رینیرسون (Tess Rinearson) در پستی 2 قسمتی که در مدیوم منتشر کرده است، به زبان خیلی ساده و با استفاده از ایموجیها به تشریح چگونگی سازوکار بیت کوین و بلاک چین آن میپردازد. متن کامل این مقاله را در ادامه میخوانید.
بیتکوین را میتوان انقلابی در چگونگی ذخیره و خرج کردن پول دیجیتالی دانست. این ارز دیجیتال، این قابلیت را دارد که بقیه جنبههای زندگی ما را هم تحت تاثیر قرار دهد. برای درک آن نیازی نیست که یک ریاضیدان و یا یک رمزنگار باشید. در ادامه با این مقاله جذاب همراه باشید. مطمئنم پس از خواندن آن، این پست را به دوستان خود که نمیدانید چگونه بیت کوین را برایشان شرح دهید ارسال خواهید کرد ?
فرض کنید که من قرار است با استفاده از اینترنت، یک فیلم برای شما ارسال کنم. فایل فیلم را در یک ایمیل پیوست میکنم و پس از فشردن دکمه ارسال، چند لحظه بعد شما آن را دریافت میکنید. شما میتوانید این فیلم را دانلود و تماشا کنید و یا میتوانید آن را پاک کنید. میتوانید هر کاری دلتان میخواهد با آن انجام دهید.
اما این را به خاطر داشته باشید؛ من هنوز یک نسخه از این تعاملی که بین ما اتفاق افتاد، یعنی همان فیلم را دارم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
اطلاعات دیجیتالی در اینترنت اینگونه جابهجا میشوند. هنگام ارسال یک فایل، شما در واقع خودِ محتوا را منتقل نمیکنید، بلکه یک نسخه رونوشت و کپی از آن تهیه میکنید. و تا به امروز این روش به خوبی کار کرده است. هر چند ممکن است این عمل قانونی و یا منصفانه نباشد، اما بعید است که کپی کردن یک آهنگ و یا فیلم به اقتصاد ضربه مهلکی وارد کند.
اما اگر قرار باشد به جای فایل، پول را کپی کنیم چه؟
در ابتدا شاید استفاده از ایمیل برای ایجاد پول دیجیتالِ نامحدود جذاب به نظر برسد، اما وقتی همه شروع به انجام این کار کنند چه اتفاقی میافتد؟ تورمی وحشتناک بر جامعه حاکم خواهد شد و اقتصاد رو به زوال خواهد رفت. اگر من برای شما یک دلار ارسال کنم، اینکه نتوانم یک نسخه و کپی از آن را برای خودم نگه دارم خیلی مهم است. در واقع من نباید بتوانم که یک پول را دو بار خرج کنم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
معمولا، در دنیای نقل و انتقالات مبتنی بر سیم و کارتهای اعتباری، پولهای دیجیتال به صورت مرکزی کنترل میشوند تا از تکثیر آنها جلوگیری شود.
به عنوان مثال در بانک شما یک پایگاه داده (دیتابیس) که اطلاعات همه حسابها را در خود ذخیره کرده است، تایید میکند که چه کسی مالک چه چیزی است. این سیستم به یک مرجع و قدرت مرکزی و متمرکز متکی است که مفهومی آشنا برای همهی ماست. واضح است که این مرجع مرکزی کنترل و دسترسی کاملی روی پول شما دارد.
اما اگر راه دیگری وجود داشته باشد چه؟ اگر برای اثبات مالکیت و انتقال پول به جای استفاده از بانک و بقیه سازمانهای مالی، از یک قدرت توزیعشده که توسط یک شخص و یا نهاد خاصی کنترل نمیشود استفاده کنیم چه؟
چه میشود اگر پول ما دارای ارزش باشد، نه به این دلیل که ما به قدرت دولت برای حمایت از آن اعتماد داریم، بلکه به این دلیل که به قدرت ریاضیات اعتماد داریم؟ پاسخ به این سوالها ما را به بیت کوین میرسانند.
معرفی بیت کوین
بیت کوین یک سیستم ارز دیجیتال است که به هیچ نهاد و دولتی وابسته نیست. کلمه bitcoin با حرف b کوچک، نام خود ارز دیجیتال است. سیستم و مفهوم کلی Bitcoin با B بزرگ، در سال 2009 ایجاد شد، اما واحدهای ارزی بیت کوین به طور مداوم طی فرآیندی به نام استخراج تولید میشوند. این فرآیند همانند استخراج طلاست، اما طلای دیجیتال قرن 21ام.
بنابراین بیت کوین دارای دو مفهوم است: ۱- شبکه ۲- واحدهای ارز دیجیتال که روی این شبکه منتقل میشوند
تمامی تراکنشهای شبکه بیت کوین برای همیشه بر روی بلاک چین آن ثبت میشوند. بلاک چین لیستی محرمانه نیست که توسط یک مقام و یا مرجع مرکزی از آن محافظت شود.
بلاک چین در واقع لیستی عمومی و توزیعشدهای است که هر کامپیوتری که در شبکه آن مشارکت میکند، یک نسخه از آن را دارد. بلاک چین بیت کوین یک دفترکل تغییرناپذیر، عمومی و توزیعشده است.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
منظور از تغییرناپذیر این است که به محض اینکه تراکنشی برای چند ساعت بر روی بلاک چین ثبت شود، دیگر تغییر و یا پاک کردن آن غیرممکن میشود. دلیل این امر این است که تراکنشهای بعدی بر مبنای اطلاعات تراکنش پیشین انجام میشوند و بدین ترتیب بلاکها ساخته میشوند.
عمومی بودن بلاک چین به این معناست که هرکسی (نه فقط مدیران بانک) میتواند به بلاک چین دسترسی داشته باشد. البته این دسترسی بدان معنا نیست که شما دقیقا بدانید چه کسی پول را ارسال و دریافت میکند، چرا که سوابق تراکنشها با نوعی نام مستعار (که وارد جزئیات فنی آن نمیشویم) ثبت میشوند. هویت گیرنده و فرستنده با استفاده از نامهای ساختگی پنهان میشود. در رابطه با بیت کوین این نام ساختگی در واقع یک رشته طولانی از اعداد است.
وقتی مدعی میشویم که بلاک چین بیت کوین توزیعشده است، منظورمان این است که نسخههای همگامسازیشدهی بلاک چین توسط کامپیوترهای مختلف در جهان نگهداری میشوند. هیچ نسخه اصلی و برتری وجود ندارد، همه نسخهها با هم برابرند.
هر کس که به بلاک چین بیت کوین وصل میشود یک نسخه از کل آن را دریافت میکند. حالا اگر آن فرد شبکه بیت کوین را ترک کند یا نسخه خودش را نابود کند چه میشود؟ هیچ اتفاقی رخ نمیدهد چون بقیه هستند.
در نهایت دفترکل (Ledger) بودن بلاک چین به این معناست که میتوان آن را به عنوان لیستی از تراکنشها در نظر گرفت. در واقع آن را معادل تاریخچه تراکنشها در موسسه بانکی بدانید.
این دفترکل توزیعشده «بلاک چین» نامیده میشود، چرا که مجموعهای از چند تراکنش است که با یکدیگر تشکیل یک بلاک را میدهند و در نهایت این بلاکها به صورت زنجیرهوار به یکدیگر متصل میشوند. ایجاد هر بلاک 10 دقیقه زمان نیاز دارد.
برای درک بهتر قدرت یک دفترکل توزیعشدهی عمومی، بیایید تراکنشی که دربرگیرنده مقداری بیت کوین به ارزش 5 دلار است را تصور کنیم.
فرض کنید دوست من، آلیس، مقداری بیت کوین به ارزش 5 دلار را برای من ارسال میکند. همانند تمامی تراکنشها، این تراکنش نیز بر روی بلاک چین ثبت میشود. سپس، من این مقدار بیت کوین را برای شما ارسال میکنم و حالا تمامی نسخههای بلاک چین نشان میدهند که شما اکنون صاحب آن بیت کوینی هستید که متعلق به من بود و پیش از آن نیز متعلق به آلیس بود.
نیازی نیست که هیچ کدام از ما، نه من، نه شما و نه آلیس، از یک مرجع و یک پایگاه داده مرکزی استعلام کنیم تا بدانیم که چه چیزی برای چه کسی است و یا اینکه برای انجام این تراکنشها از کسی کسب اجازه کنیم. قدرت غیرمتمرکز است، این قدرت در تمامی نسخههای بلاک چین در سرتاسر جهان توزیعشده است.
شاید برایتان سوال شود که آلیس بیت کوینی که برای من ارسال کرد را از کجا به دست آورده است؟ پاسخ کوتاه به این سوال این است که احتمالا کسی آن را برای او ارسال کرده است. تقریبا هر کسی به این ترتیب صاحب بیت کوین میشود.
اما این سکهها باید برای اولین بار به گونهای ایجاد و یا تولید میشدند، این اتفاق چگونه رقم خورد؟
یک بیت کوین چگونه متولد میشود؟
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
دلارها وقتی متولد میشوند که دولت ایالات متحده آمریکا آنها را چاپ میکند، درست همانطور که سایر ارزهای معمول توسط دولتهای مربوطه صادر میشوند. در گذشته، پشتوانه دلار آمریکا مقدار معادلی طلا بود که در خزانه ایالات متحده نگهداری میشد. در آن زمان عرضه ارز جدید مستلزم دارا بودن میزان متناسبی طلا بود. اما امروزه دیگر دلار پشتوانهای ندارد.
بیت کوین در جریان فرآیندی به نام استخراج (ماینینگ) ایجاد و تولید میشود. لازم به ذکر است که این استخراج به صورت دیجیتالی انجام میشود، و به جای بیل و دینامیت از کامپیوتر و نرمافزار استفاده میشود.
برای افزودن یک بلاک جدید به بلاک چین، باید معادلات و مسائل پیچیده ریاضی حل شوند. ماینری که اول از همه این معادلات را حل کند و به جواب برسد، به او پاداش تعلق میگیرد. پاداش او بیت کوینهای جدید و تازه ایجاد شده است. این نحوه استخراج بیت کوین است.
به عبارت دیگر، در فرآیند استخراج دو عمل انجام میشود؛ بلاک جدیدی به بلاک چین افزوده میشود و بیت کوینهای جدید تولید میشود. این معاملات و مسائل ریاضی که پیشتر به آن اشاره کردیم و ماینرها برای حل آن با یکدیگر به رقابت میپردازند، شامل فرآیندی به نام هش کردن است.
هش کردن به زبان ساده
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
هش همانند اثر انگشت برای دادههاست، به این صورت که سیستم به صورت کاملا منحصر به فرد بخشی از محتوای دیجیتال مانند عکس، فیلم، رمزعبور، متن و یا هر چیز دیگری را یکی میکند. این خروجی طی فرآیندی به نام هش کردن، از خود محتوای دیجیتال حاصل میشود و میتوان به فرم رشتهای حروف، اعداد و یا هر نشانه دیگر باشد.
برای مثال دو عبارت «arzdigital» و «bitcoin10000000» را در نظر بگیرید. این دو عبارت از نظر تعداد حروف و اندازه با یکدیگر متفاوت هستند. حالا هش این دو عبارت را در تابع SHA 256 مشاهده میکنید:
هش عبارت «arzdigital»:
ac42165f390aef299a41d6d7a74d4fb909145f6e45f4feb505519c082802160c
هش عبارت «bitcoin10000000»:
4dd23eacecd8082af64d907f14a754cec259c9004b1906f23c83698eb0994af9
همانطور که مشاهده میکنید، اگر چه اندازه دو عبارت با هم متفاوت بود اما اندازه هش آنها کاملا یکسان است. تابع هش یک قابلیت فوقالعاده دیگر هم دارد: کوچکترین تغییر در ورودی، هش را کاملا تغییر میدهد.
هش کردن، یک مفهوم کلی و بنیادینی در علوم کامپیوتر است که به طور گستردهای در پشت پردهی عملیات رایانهای مورد استفاده قرار میگیرد. اصولا سرویسهای ارائهدهنده خدمات آنلاین برای افزایش امنیت به جای رمزعبورهای واقعی، هشهای رمزعبورها را نگه میدارند. زمانی که شما میخواهید وارد سیستم شوید، هش رمزعبوری که وارد کردید با هش رمزعبور واقعی شما مقایسه میکنند.
فیسبوک از هشها برای بررسی مناسب بودن تصاویر آپلود شده استفاده میکند. هیچ شخصی در فیسبوک مسئول این کار نیست که تک تک عکسهای این پلتفرم را چک کند و از اینکه محتوای خشونتآمیز و یا مستهجن ندارد، اطمینان حاصل کند.
در عوض، فیسبوک عکسهایی که به عنوان عکس نامناسب گزارش شدهاند را هش میکند و لیستی از اثر انگشتهایی که حاوی محتوای بد هستند را ایجاد میکند. هر بار که عکسی بر روی فیسبوک آپلود میشود، با استفاده از تابع مشابهی هش میشود. هش حاصل با لیست هشهای ممنوعه مقایسه میشود و در صورت مطابقت، فیسبوک تشخیص میدهد که آن عکس مناسب نیست.
به طور معمول، وقتی که نرمافزار تابع هش را اجرا میکند، دادههای ورودی مانند عکس را دریافت میکند و خروجی رشته نامفهومی است که در واقع همان هش است.
برای نمونه بیایید تصویر این سگ را به تابع هشی با نام SHA-256 بدهیم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
واضح است که تصویر این حیوان بامزه، دربرگیرنده هیچ محتوای خشونتآمیزی نیست. اما هیچ کسی در فیسبوک این تصویر را بررسی نمیکند. در عوض نرمافزاری در فیسبوک هش آن را که به صورت زیر است کنترل میکند:
8EC9D4718F919C6087CA589EDA09E7DD9A7ACCDB820F42B4196E1D0D4BEDE77A
رقم بالا خروجی تابع SHA-256 است، وقتی که تصویر سگ را به آن دادیم. همانطور که گفتیم، یکی از ویژگیهای جالب تابع هش این است که اگر کمی تصویر را تغییر دهیم، خروجی آن کاملا متفاوت خواهد بود.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
مثلا با تغییر یک پیکسل از عکس این سگ، و قرار دادن نقطهای سیاه به اندازه 1 پیکسل بالای چشم او، هشی کاملا متفاوت از تصویر اصلی دریافت خواهیم کرد:
039E1AF92F7D00775ECE35C2216FC3F7F0BBCD31F912A105D2601380D8DEABA2
حالا، در ادامه این پست ما میتوانیم از محتوا و مقادیر مرتبط به هش واقعی استفاده کنیم، اما از آنجایی که این مقاله زمینه آموزشی دارد و هشها هم به نوعی قابل تفکیک و مخاطبپسند نیستند، از ایموجیها برای نمایش مقادیر ورودی و خروجی استفاده میکنیم. در مثال زیر، ورودی (محتوایی که قرار است هش شود)، با گربه و خروجی (نتیجه هش) با یک ربان نمایش داده شده است.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
تصور کنید فیسبوک تابع هش خود را بر روی دو تصویر نامناسب زیر اجرا کرده است. بیایید آنها ? و ❌ بنامیم. هش خروجی به صورت ? و ? خواهد بود.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
بعدتر، یکی از کاربران تصویری را آپلود میکند که ما نمیدانیم چیست وآن را (؟) مینامیم. فیسبوک این عکس را هش میکند و نتیجه ? خواهد بود.
اگر چه هیچکس به این عکس نگاه ننداخته، اما فیسبوک میداند که این یک تصویر نامناسب است چرا که هش آن مطابق هش ? است. در واقع نیازی نیست که کسی عکس را مستقیما بررسی و چک کند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
شناسایی عکسها تنها یکی از هزاران کاربرد هش کردن است. استخراج بیت کوین که سبب تولید بیت کوین جدید و افزودن بلاک جدید به بلاک چین میشود، یکی دیگر از کاربردهای آن است.
هش کردن و بلاک چین بیت کوین
بلاک چین بیت کوین دفترکلی است که دربرگیرنده تمام تراکنشهای بیت کوین است. بلاک چین در واقع زنجیرهای از بلاکهاست که و بلاک شامل گروهی از تراکنشهای انجام شده بر روی شبکه بیت کوین است. میتوانید در ذهنتان بلاک چین را شبیه به یک سری بسته تجسم کنید که هر حاوی تراکنشهایی هستند که در طی مدت زمان 10 دقیقه انجام میشوند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
یا ممکن است آن را همانند بستههای انبار شده بالای یکدیگر تجسم کنید که اولین بلاک تراکنشها در پایینترین قسمت و جدیدترین در بالا قرار دارد. میتوان تصور کرد که دستکاری یک جعبه در قسمت زیرین سبب فروریختن تمام جعبههای بالایی خواهد شد. بنابراین برای تغییر یک بلاک در بلاک چین مجبور به تغییر گسترده بلاک های قبل خواهید بود که در بلاک چینهای بزرگی مثل بیت کوین تقریبا غیرممکن است.
هر بلاک یک هش منحصر به فرد دارد، اثر انگشتی که به شکل رشتههای بسیار بزرگی از اعداد و به صورت رشتهای از کاراکترهای درهم و برهم نشان داده میشود. به عنوان نمونه هش یک بلاک ممکن است به صورت “00000000003e95b0ac78cb961d0” باشد.
برای اینکه بحث ما سادهتر و قابل فهمتر باشد، اجازه دهید از ایموجیها به جای شماره برای نشان دادن هش استفاده کنیم. بیایید هش بلاک اول را به صورت ⚽، بلاک دوم را ? و بلاک سوم را با ? نشان دهیم. حال با استفاده از ایموجیها، بلاک چین را میتوان به شکل زیر نمایش داد.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
همان مثالی که دوست من آلیس بیت کوینی به ارزش 5 دلار برایم ارسال کرد و من نیز میخواهم آن را برای شما ارسال کنم را در نظر بگیرید. هنگامی که من این کار را انجام میدهم، تراکنش همراه با بسیاری از تراکنشهای دیگر در بلاک جدیدی به زنجیره افزوده میشود. هر بلاک در زنجیره میداند که در کدام دنباله قرار دارد، زیرا حاوی هش بلاک پیش از خود است. به عبارت دیگر، بلاک سوم نه تنها شامل گروهی از تراکنشهاست؛ بلکه حاوی هش بلاک قبلی ? نیز هست.
تصور کنید که سیستم بیت کوین چند ثانیه پیش بلاک شماره 3 را هش کرد (?را ایجاد کرد). وقتی که من 5 دلار را به شما انتقال دهم، بیت کوین تراکنش ما را در بلاک جدید قرار میدهد. این بلاک جدید که ما آن را بلاک شماره 4 مینامیم، هنوز هشی ندارد و فعلا به جای آن علامت سوال قرار میدهیم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
بخش جالب ماجرا اینجاست. کامپیوترهای قدرتمندی که ماینر نامیده میشوند برای افزودن بلاک شماره 4 به زنجیره، با حل معادلات و مسائل پیچیده ریاضی با یکدیگر به رقابت میپردازند. اولین ماینری که موفق شود هش بلاک جدید را محاسبه کند برنده است و صاحب آن 12.5 بیت کوین جدید را به عنوان پاداش دریافت میکند.
لازم به ذکر است که تقریبا هر 4 سال یکبار پاداش استخراج بیت کوین کاهش مییابد و نصف میشود.
اینگونه است که پول جدید «استخراج» میشود. به محض اینکه یک هش درست به دست آمد، بلافاصله بین ماینرهای دیگر توزیع میشود. ماینرها هش جدید را تایید میکنند و آن را به نسخه بلاک چین خود اضافه میکنند. پس از این، مسابقه برای یافتن هش بلاک بعدی زنجیره آغاز میشود.
هش کردن در کل فرآیند آسانی است و کامپوترها و لپتاپهای معمولی میتوانند هزاران هش در ثانیه ایجاد کنند. اما در شبکه بیت کوین، ماینرها برای به دست آوردن هش درست به طور متوسط 10 دقیقه زمان صرف میکنند.
سیستم بیت کوین عمدا طوری طراحی شده که پیدا کردن یک هش قابل قبول و درست را بسیار سخت میکند. یک هش میتواند هر عدد بزرگی باشد، عددی که صرفا یکی از تریلیون احتمالهای موجود باشد.
بنابراین، ماینرها میخواهند یک مقدار هش نسبتا کوچکی پیدا کنند، و تنها راه رسیدن به آن این است که بارها و بارها امتحان کنند. هر کدام از این تلاشها باید متفاوت باشد. ماینر نمیتواند روش هش کردن خود را تغییر دهد، اما میتواند چیزی که هش میکند را اندکی تغییر دهد.
آنها این کار را با کمک چیزی به نام نانس (Nonce) انجام میدهند که به نوعی شبیه به همان پیکسل سیاهی است که ما پیشتر به تصویر سگ اضافه کردیم.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
به یاد آورید که اضافه کردن تنها یک پیکسل سبب شد که هش این تصویر کاملا متفاوت از هش تصویر اصلی باشد. چرا که تغییر محتوای دیجیتالی حتی در همین حد اندک سبب میشود که هش به کلی متفاوت و غیرقابل پیشبینی باشد.
یک نانس در واقع یک حدس بدون حساب و کتاب است، عددی که بر مبنای سعی و خطا و با امید اینکه سبب میشود که هشی که حاصل میشود، هش برنده باشد، به بلاک بیت کوین اضافه میشود.
ماینرها همه تراکنشها به علاوه هش بلاک پیشین را در بلاک جدیدی قرار میدهند، در نهایت نانس را اضافه میکنند و نتیجه را هش میکنند.
هر ماینری با امید اینکه بالاخره یکی از تلاشهایش به ثمر بنشیند، عددهای زیادی برای نانس امتحان میکند. وقتی که این اعداد درون بلاک قرار میگیرند، سبب میشوند که هش بلاک عدد نسبتا کوچکی باشد.
در واقع، ممکن است ماینرهای موفق میلیونها عدد را به عنوان حدس برای نانس به کار برند تا اینکه در نهایت یکی از آنها درست باشد.
این روزها، کل ماینرهایی که برای استخراج بلاک جدید تلاش میکنند معمولا در مجموع، کادریلیون (1015) عدد را امتحان میکنند تا یک هش درست را به دست آورند. هر 10 دقیقه یک برنده دارد، چرا که استخراجکنندگان صاحب فارمهای بزرگ و منابع محاسباتی بسیار قدرتمندی هستند. اگر متوسط زمان استخراج به زیر 10 دقیقه برسد، سیستم بیت کوین به طور خودکار با تغییر سایز هش مورد قبول، معادلات ریاضی را سختتر میکند که به آن افزایش سختی استخراج هم میگویند.
ارزش طلا به این خاطر است که یک فلز کمیاب است، به همین ترتیب هش برنده با توجه به اینکه یک عدد کمیاب است، ارزش پیدا میکند. عددی که ویژگی خاصی (اندازه کوچک) دارد و این ویژگی آن را بسیار نادر و با ارزش میسازد.
ماینرها با امید اینکه اولین کسی باشند که عدد نانس را درست حدس میزنند و چراغی در تاریکی روشن کنند، آغاز به کار میکنند. به عنوان مثال ممکن است الزام شبکه بیت کوین این باشد که هش کوچکتر از 0000000003e95b0acc32ac089222 باشد. استراتژی ماینر برنده این است که به اندازه کافی توان کامپیوتری و محاسباتی در اختیار داشته باشد تا بتواند هش را به درستی حدس بزند.
شبکه بیت کوین خواستار هشهایی که از یک اندازه خاصی کوچکتر باشند. برای ادامه فرآیند بهره بردن از ایموجیها برای روشنتر شدن مطلب، بیایید تصور کنیم که این محدودیتها دوستانهترند. برای مثال بیایید فرض کنیم که محدودیت شبکه این است که هشها باید ایموجی حیوان باشند. در اولین تلاش، هشی که ماینرها به دست میآورند به صورت زیر است.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
تنها یکی از ماینرها توانست این محدودیت را برآورده کند. نه شکوفه گیلاس و نه گلابی هیچ کدام حیوان نیستند، اما نهنگ این الزام را برآورده کرد و یک حیوان است.
از آنجایی که ماینر دوم هش درستی را پیدا کرده، مستحق دریافت پاداش میشود. این پاداش که همان پاداش استخراج است در واقع بیت کوینهای جدیدی است که در نتیجه تولید بلاک جدید تولید میشود.
اگر استخراج خیلی سریع اتفاق بیفتد، بیت کوین در سیستم طغیان خواهد کرد و سبب ایجاد تورم خواهد شد. برای جلوگیری از رخ دادن چنین اتفاقی، نرمافزار بیت کوین به گونهای نوشته شده است که دارای یک محدودیت قابل تنظیم است. اگر هشها به راحتی به دست بیایند، شبکه میتواند محدودیت بیشتری را اعمال کند.
مثلا در بلاک چین ایموجی ما، برای رفع مشکل ماین کردن سریع بلاک محدودیتی که اعمال میکنند به صورت زیر باشد: «هش بعدی باید حیوان باشد و علاوه بر این حیوانی باشد که چنگال دارد».
ماینرها تابع هش خود را اجرا کردند و هشهای زیر را به دست آوردند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
هیچکدام از این هشها حیوان چنگالدار نیست. پس آنها باید دوباره تلاش کنند.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
در این مرحله، همانطور که مشاهده میکنید ماینر سوم یک هش درست پیدا کرده است؛ خرسهای حیوانات چنگالدار هستند. بنابراین این ماینر میتواند هش به دست آمده را به همراه دادههای داخل بلاک به شبکه مخابره کند.
از آنجا که توابع هش میتوانند به سرعت اجرا شوند، دیگر ماینرها میتوانند تابع هش را بر روی این بلاک اجرا کنند و به صحت سنجی هش به دست آمده ? بپردازند و از اینکه محدودیتها را ارضا کرده است اطمینان حاصل کنند و آن را تایید کنند.
سپس همه آنها این بلاک را در زنجیره خود میپذیرند؛ این بدان معناست که آنها تقریبا کم و بیش با یکدیگر همگام باقی میمانند، و پس از آن به جمعآوری تراکنشها برای استخراج بلاک بعدی میپردازند.
اکنون بلاک چین به شکل زیر است، این بلاک جدید شامل آن 5 دلاری که من برای شما ارسال کردم نیز هست و ? نامیده میشود.
بیت کوین به زبان خیلی ساده: توضیح بیت کوین با ایموجیها!
رمزنگاری کلید عمومی
هش کردن تنها یکی از مفاهیم ریاضی است که بیت کوین بر پایه آن استوار است. رمزنگاری کلید عمومی یکی دیگر از آنهاست.
اصول کسانی که مطالعاتی در حوزه رمزنگاری دارند، از شخصیت «آلیس» و «باب» برای مثالهایشان استفاده میکنند. در اینجا ما نیز از آنها برای توضیح مفهوم رمزنگاری کلید عمومی استفاده میکنیم.
تصور کنید که آلیس میخواهد برای باب یک کیف دستی حاوی اسناد محرمانه ارسال کند. اگر آنها دارای کلیدهای مطابق باشند ساده است؛ آلیس میتواند یک قفل روی کیف قرار دهد، آن را با کلید خود قفل کند و برای باب ارسال کند.