هر آنچه باید در رابطه با تراکنشهای بیت کوین بدانید
کمتر کسی است که در این دوره اسم بیت کوین را نشنیده باشد. همین خود شما که در حال خواندن این مقاله هستید شاید مدتی میشود که در حوزه ارزهای دیجیتال سرمایهگذاری میکنید ولی میدانید تراکنشهایی که هر روز انجام میدهید در پشت پرده چگونه پردازش میشوند؟
شاید بگویید که دانستن این موضوع کمک چندانی به موفقیت شما در سرمایهگذاری و افزایش سودآوریتان نمیکند و بیشتر بحث فنی است. با اینکه حرف شما تاحدودی درست است ولی درک عملیاتی که هنگام ارسال و دریافت بیت کوین انجام میشود، میتواند دید ما را نسبت به آن بازتر کند.
دفعه بعدی که واریز یا برداشت بیت کوین شما به کیف پول یا صرافی کمی بیشتر از حالت عادی طول کشید، آنموقع متوجه خواهید شد که درک نحوه کار تراکنشهای بیت کوین چندان هم بیفایده نیست. در ادامه در رابطه با این تاخیرها و علل وجود آنها صبحت خواهیم کرد.
تراکنشهای بیت کوین
«بیت کوین» (Bitcoin) یک سیستم پولی دیجیتال است که بهصورت «همتا به همتا» (Peer-to-peer) کار میکند. وقتی میگوییم همتا به همتا منظورمان این است که در این سیستم، هرکس بهصورت مستقیم با طرف مقابل خود در ارتباط است و خبری از فرد یا سازمان سومی نیست که به عنوان رابط این دو ایفای نقش کند.
تراکنشهای بیت کوین را میتوان شبیه پیامهایی در نظر گرفت که بهصورت دیجیتالی و با کمک الگوریتمهای رمزنگاری امضا شده و برای کل شبکه بیت کوین ارسال میشوند تا توسط دیگر کاربران تایید شوند. احتمالا با خواندن جمله قبل کمی گیج شدید و مفهوم امضا را درک نمیکنید، پس بیایید یک مثال بزنیم.
در دنیای واقعی برای اینکه اطمینان حاصل شود یک نامه اداری مهم توسط فرستندهای که در ابتدای آن نامه نوشته شده، ارسال شده است، حتما باید امضای آن فرد هم در نامه وجود داشته باشد. منظور از امضا شدن تراکنشها در بیت کوین هم چیزی شبیه همین است با این تفاوت که این امضاها به کمک الگوریتمهای رمزنگاری انجام میشوند.
هر تراکنشی هم که در شبکه بیت کوین انجام میشود، عمومی است و هرکسی میتواند آن را ببیند. علاوه بر این، اگر تاریخچه هر تراکنشی از بیت کوین را دنبال کنیم به زمانی خواهیم رسید که بیت کوین اولینبار ایجاد و اولین تراکنش انجام شد.
گفتن این نکته هم خالی از لطف نیست که بیت کوین به معنای واقعی وجود خارجی ندارد. به عبارت دیگر بیت کوینهایی که در کیف پولهای دیجیتال شما قرار دارند مثل اسکناس، سکه یا حتی سهام بورس فیزیکی نیستند. شبکه بیت کوین تنها تاریخچهای از تراکنشهای صورتگرفته بین آدرسهای مختلف است.
فرض کنید علی میخواهد مقداری بیت کوین به سارا ارسال کند. هر تراکنش هم از سه بخش اصلی تشکیل شده است:
- ورودی: همان آدرس بیت کوینی است که علی قبلا از کس دیگری دریافت کرده و حالا میخواهد به سارا ارسال کند.
- مبلغ: مقدار بیت کوینی که علی میخواهد به سارا ارسال کند.
- خروجی: آدرس بیت کوین سارا یا همان کلید عمومی او است.
حال بیایید با جزئیات بیشتری در مورد نحوه عملکرد تراکنشهای بیت کوین حرف بزنیم.
تراکنش های بیت کوین چگونه کار میکنند؟
ارسال بیت کوین به شخص دیگر نیازمند این است که شما به کلیدهای خصوصی و عمومی منتسب به آن مقدار بیت کوین، دسترسی داشته باشید. در واقع وقتی میگوییم فلان شخص مقداری بیت کوین دارد، در اصل منظورمان این است که آن شخص به جفت کلیدهای زیر دسترسی دارد:
- یک کلید عمومی که قبلا مقداری بیت کوین به آن ارسال شده است.
- کلید خصوصی اختصاصی متناظر با آن که اجازه میدهد آن بیت کوینی که قبلا به کلید عمومی اشارهشده ارسال شده، به شخص دیگری ارسال شود.
کلیدهای عمومی که به آنها آدرسهای بیت کوین هم میگویند درواقع یک سری از حروف و اعداد تصادفی هستند که نقش آدرس ایمیل یا نام کاربری در شبکههای اجتماعی را بازی میکنند. این کلیدها عمومی هستند، یعنی میتوانید آن را با دیگران به اشتراک بگذارید.
اصلا اگر میخواهید کسی برای شما بیت کوین ارسال کند باید دقیقا همین کلید عمومی خود را در اختیار او قرار دهید. کلیدهای خصوصی هم یک سری حروف و اعداد تصادفی دیگر هستند که نقش رمز عبور در همان شبکههای اجتماعی را ایفا میکنند. یعنی بههیچوجه نباید آن را در اختیار کسی قرار دهید.
بهترین کار این است که کلید خصوصی خود را روی کاغذ بنویسید و در جای مطمئن نگهداری کنید. آدرس بیت کوین هرکس را میتوان مثل یک گاوصندوق شیشهای در نظر گرفت که همه میتوانند محتویات آن را ببینند ولی تنها کسی که به کلید خصوصی دسترسی دارد، میتواند آن را باز کند.
حال دوباره به مثال قبلیمان که علی قصد ارسال بیت کوین به سارا را داشت، برمیگردیم. برای انجام این تراکنش علی با کلید خصوصی خود پیامی را که حاوی اطلاعات مربوط به تراکنش است امضا میکند و آن پیام را به بلاک چین ارسال میکند. این پیام شامل اطلاعات زیر است:
- ورودی: تراکنش اصلی که در جریان آن بیت کوینها به آدرس علی ارسال شدهاند.
- مقدار: مقدار بیت کوینی که علی میخواهد برای سارا بفرستد.
- خروجی: آدرس عمومی سارا.
سپس این تراکنش به کل کاربران شبکه بیت کوین ارسال میشود. با این کار علی ادعا میکند که بیت کوینهای موجود در تراکنشی که در ورودی ثبت شده، به او تعلق دارد. در این مرحله «ماینرها» (Miners) یا کسانی که به استخراج ارز دیجیتال میپردازند، درستی این ادعا را تأیید یا رد میکنند. به عبارت دیگر ماینرها تشخیص میدهند که کلیدهایی که علی در اختیار دارد به آدرسهایی که او قبلا بیت کوین را از آنجا دریافت کرده، دسترسی دارند یا خیر.
به این پروسه تأیید، «استخراج ارز دیجیتال» (Mining) میگویند. دلیلش هم این است که این کار نیازمند قدرت سختافزاری بسیار بالا است. البته در عوض به ماینرها مقداری بیت کوین به عنوان پاداش داده میشود. بیت کوینهای جدید هم طی همین فرایند ایجاد میشوند.
چرا تأیید برخی تراکنشهای بیت کوین زمان زیادی طول میکشد؟
همانطور که گفتیم تمام تراکنشهای بیت کوین باید توسط ماینرها تأیید شوند. توجه داشته باشید که ماینرها خود تراکنشها را استخراج نمیکنند. در واقع آنها بلاکهایی که شامل مجموعهای از تراکنشها هستند را استخراج میکنند.
بعضی مواقع تراکنش شما از بلاک فعلی جا میماند و مجبور است تا پر شدن بلاک بعدی صبر کند. به همین دلیل است که احتمال طولانیتر شدن یک تراکنش از تراکنش دیگر وجود دارد. پروتکل بیت کوین به گونهای طراحی شده است که شرایط را به گونهای تنظیم کند تا استخراج هر بلاک حدودا ۱۰ دقیقه طول بکشد.
یکی دیگر از دلایل طولانیتر شدن فرایند تأیید تراکنشها این است که هر بلاک میتواند تا حداکثر ۱ مگابایت حجم داشته باشد. این حجم را میتوان تغییر داد ولی در حال حاضر این محدودیت تعداد تراکنشهایی که قادر به ورود به هر بلاک هستند را محدود میکند که باعث میشود تراکنشها بعضی اوقات دیرتر تأیید شده و رفتهرفته شبکه بیت کوین کندتر شود.
مثالی از عملکرد تراکنشهای بیت کوین
یادتان است که گفتیم بیت کوینها وجود خارجی ندارند و تنها رکوردی از تراکنشها روی بلاک چین هستند؟ این یعنی بعضی اوقات چند تراکنش مختلف به یک آدرس بیت کوین خاص ارسال میشوند. فرض کنیم شما ۲ بیت کوین در کیف پول خود دارید. شما این ۲ بیت کوین را از چهار دوست خود که هر کدام ۰.۵ بیت کوین برای شما ارسال کردهاند، دریافت کردهاید.
کیف پول شما برای سادهتر کردن اوضاع داراییهای شما را ۲ بیت کوین نشان میدهد ولی در اصل کیف پولتان ۰.۵ بیت کوینهای شما را با هم جمع نکرده و هر کدام از این چهار تراکنش ۰.۵ بیت کوینی را بهصورت جداگانه نگه میدارد که مجموع آنها ۲ بیت کوین میشود.
حال اگر بخواهید با بیت کوینهای خود چیزی خریداری کنید، کیف پول شما از سوابق تراکنشهایتان که ممکن است مقادیر متفاوتی داشته باشند، استفاده میکند تا به آن مقدار بیت کوینی برسد که میخواهید خرجش کنید. مثلا فرض کنیم میخواهید تنها ۰.۲۵ بیت کوین خرج کنید. این را هم میدانیم که چهار ورودی ۰.۵ بیت کوینی دارید که هیچ کدام ۰.۲۵ بیت کوینی نیستند.
تراکنشهای بیت کوین را نمیتوان نصف کرد و کل تراکنش باید ارسال شود. پس اتفاقی که میافتد این است که بعد از نوشتن ۰.۲۵ بیت کوین در کادر خرید و ارسال آن، تمام آن تراکنش ۰.۵ بیت کوینی ارسال میشود و باقیمانده آن در جریان یک تراکنش جدید به شما برمیگردد. جزئیات این پروسه بدین شرح است:
- مبلغ چیزی که میخواهید بخرید تنها ۰.۲۵ بیت کوین است.
- شما یکی از ورودیهای ۰.۵ بیت کوینی خود را به طور کامل به فروشنده ارسال میکنید.
- آدرس بیت کوین فروشنده همان خروجی است.
اما در اینجا کیف پول شما دو خروجی تولید میکند:
- ۰.۲۵ بیت کوین برای فروشنده است.
- ۰.۲۵ بیت کوین برای آدرس جدیدی که توسط کیف پول شما برای دریافت باقیمانده ایجاد میشود.
این جزئیات شاید گیجکننده به نظر برسد ولی خبر خوب این که همه این اتفاقات در پشت پرده به وقوع میپیوندد و شما همان ۰.۲۵ بیت کوین مشخص شده را ارسال میکنید.
سخن پایانی
به همان اندازه که خود فناوری بیت کوین و ارزهای دیجیتال هیجانانگیز هستند، فعالیتهای پشتپرده آنها نیز جالبتوجه و منحصر به فرد است. شاید درک عملکرد آنها پیچیده به نظر برسد و چندان کمکی هم به ما نکند ولی به هرحال آشنایی جزئی با آن خالی از لطف نخواهد بود.
به همین منظور در این مقاله سعی کردیم با جزئیات و به زبانی ساده در مورد تراکنشهای بیت کوین و نحوه عملکرد آنها صحبت کنیم تا حداقل یک دید کلی نسبت به آن داشته باشید. در انتها نیز با ذکر یک مثال کاربردی تمام نکات اشارهشده در مقاله را مرور کردیم.
چه جزو کسانی هستید که به تازگی پا به عرصه پرسود و پرنوسان ارزهای دیجیتال گذاشته و چه جزو کسانی هستید که مدتهاست در این ارزها سرمایهگذاری میکنند، پیشنهاد میکنیم در اوقات فراغت خود در مورد مسائل پشتپرده و فنی این فناوری هم مطالعه کنید.