بیت کوین چگونه کار میکند

0

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

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

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

 

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

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

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

تمام چیزی که در بیت کوین با آن سروکار داریم را می‌توان در این یکی دو جمله خلاصه کرد: سیستمی که به همه (کامپیوترها) اجازه می‌دهد در نگهداری سابقه تراکنش‌ها سهیم باشند + ویژگی‌های امنیتی برای جلوگیری از تقلب و حمله به شبکه.

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

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

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

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

 

امضای دیجیتال و کلیدهای عمومی و خصوصی

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

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

در شبکه بیت کوین هم هر پیامِ تراکنش باید امضای معتبر داشته باشد تا قبول شود، اما نه امضای دست‌نویس؛ امضایی از جنس دیجیتال، چیزی که نتوان آن را جعل کرد.

در درون هر کیف پول بیت کوین، دو رشته متنی وجود دارد که مجزا هستند، اما با هم ارتباط مکمل دارند: کلید عمومی (Public Key) و کلید خصوصی (Private Key).

رضا برای ارسال بیت کوین باید پیام تراکنش را با کلید خصوصی کیف پولش امضا و به شبکه ارسال کند. به این شکل، بدون این‌که نیاز به استفاده از نام و مشخصات هویتی در شبکه بیت کوین باشد، مشخص می‌شود که بیت کوین‌ها دقیقاً از طریق کیف پول رضا ارسال شده‌اند و فرد دیگری به دروغ این پیام را به شبکه نفرستاده است. داشتن کلید خصوصی به منزله داشتن دارایی‌ها است. برای همین گفته می‌شود که هرگز نباید کلید خصوصی کیف پول خود را در اختیار فرد دیگری قرار بدهید.

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

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

بیت کوین چگونه کار میکند

بی‌نهایت آدرس

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

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

اما یک مسئله: در هنگام ساخت کیف پول امکان بررسی تکراری بودن یا نبودن آدرس یا کلید نیست.

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

حداکثر تعداد آدرس‌های احتمالی بیت کوین ۲¹⁶⁰ است یعنی ۱۴۶۱۵۰۱۶۳۷۳۳۰۹۰۲۹۱۸۲۰۳۶۸۴۸۳۲۷۱۶۲۸۳۰۱۹۶۵۵۹۳۲۵۴۲۹۷۶ احتمال برای آدرس‌های بیت کوین وجود دارد.

برای اینکه بزرگی این عدد را خوب درک کنید به این مثال توجه کنید:

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

این موضوع باعث می‌شود تا هک یا حملات سایبری با استفاده از حدس زدن کلیدها غیرممکن باشد.

 

بلاک و بلاک چین

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

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

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

بیت کوین چگونه کار میکند

ماینینگ بیت کوین

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

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

نام علمی ماینینگ، «اثبات کار» (Proof Of Work) است. درواقع استخراج‌کنندگان با قدرت پردازش سخت‌افزارهای خود اثبات می‌کنند که به پروتکل بیت کوین پایبند هستند. اگر کسی بخواهد به شبکه بیت کوین حمله کند، مجبور است بیش از ۵۰ درصد از قدرت پردازش بیت کوین را از آن خود کند. با توجه به گسترش شبکه بیت کوین، این کار بسیار هزینه‌بر است و از نظر منطقی توجیه ندارد.

برای ایجاد انگیزه در ماینرها در افزایش امنیت شبکه و همچنین تولید واحدهای بیت کوین جدید به‌صورت غیرمتمرکز، برای پیدا کردن جواب معادله بلاک‌ها پاداش در نظر گرفته شده است. پاداش بلاک بیت کوین ابتدا ۵۰ واحد بیت کوین بود، اما این پاداش پس از هر ۲۰۰,۰۰۰ بلاک (تقریباً هر چهار سال یکبار) نصف می‌شود. در حال حاضر پاداش بلاک بیت کوین ۶.۲۵ واحد است.

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

 

سختی استخراج

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

شبکه به‌طور خودکار نسبت به قدرت پردازش موجود، سختی پیدا کردن پاسخ معادلات را کم و زیاد می‌کند تا ماینرها بتوانند به‌طور میانگین در ده دقیقه به جواب برسند، نه بیشتر نه کمتر. با اضافه شدن قدرت پردازش ماینرها، سختی افزایش می‌یابد و با کم شدن آن، سختی هم کمتر می‌شود. در شبکه بیت کوین، سختی شبکه بعد از هر ۲,۰۱۶ بلاک (تقریباً هر دو هفته یکبار) تنظیم می‌شود.

 

استخر استخراج

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

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

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

 

سخن پایانی

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

پیشنهاد سردبیر

اشتراک
اطلاع از
guest
0 نظر
بازخورد های درون متن
مشاهده همه نظرات