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

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

تراکنش بیت کوین چیست و چگونه عمل می‌کند؟

تراکنش بیت کوین (Bitcoin Transaction) انتقال مقدار مشخصی بیت کوین از یک آدرس به آدرس دیگر است که در بلاکچین ثبت می‌شود.

اما این فرآیند انتقال چگونه عمل می‌کند؟

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

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

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

این کار را در قالب انجام تراکنش بین دو شخصیت خیالی بیان می‌کنیم! آماده‌اید؟

تراکنش بیت کوین

فرض کنید ایرون من ۱ بیت کوین دارد و می‌خواهد آن را به بت من بفرستد.

تراکنش بیت کوین

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

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

مراحل انجام تراکنش بیت کوین

کار بعدی که انجام می‌دهد این است که از بتمن آدرس بیت کوینش را می‌خواهد.

اینجاست که بتمن می‌خواهد بیت کوین دریافت کند. پس برای او یک آدرس بیت کوین ایمیل می‌کند و مرد آهنی آن را کپی و جایگذاری می‌کند.

مراحل انجام تراکنش بیت کوین

سپس مرد آهنی مقدار بیت کوینی را که می‌خواهد انتقال دهد را وارد می‌کند.

مراحل انجام تراکنش بیت کوین

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

سپس روی گزینه ارسال کلیک می‌کند.

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

برای ارسال بیت کوین، مرد آهنی باید به شبکه بیت کوین ثابت کند او مالک پولی است که می‌خواهد ارسال کند.

این‌جاست که کلید خصوصی او (که در کیف پول ذخیره می‌شود) وارد می‌شود.

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

مراحل انجام تراکنش بیت کوین

پشت صحنه تراکنش بیت کوین

از این‌جا به بعد مرد آهنب در انجام تراکنش دخالتی ندارد.

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

نود بررسی می‌کند که آیا تراکنش معتبر است یا خیر.

  • آیا برای انجام تراکنش، بیت کوین کافی در آدرس فرستنده موجود است؟
  • آیا فرستنده مجاز است تا این مقدار بیت کوین را ارسال کند؟

به عنوان مثال، نود بررسی می‌کند تا مطمئن شود که مرد آهنی واقعا ۱ بیت کوین برای ارسال دارد. اگر تراکنش واجد تمام شرایط باشد، توسط نود به دیگر نودها انتقال می‌یابد.

به‌طور پیش‌فرض، نودها به یکدیگر اعتماد ندارند. بنابراین هر تراکنش را دوباره برای خود تایید می‌کنند و تنها در صورتی که تراکنش را معتبر بدانند، آن را با دیگر نودهای متصل به خود به اشتراک خواهند گذاشت.

مراحل انجام تراکنش بیت کوین

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

در این مرحله، این تراکنش به عنوان تراکنش “تایید نشده” یا “در انتظار تایید” در نظر گرفته می‌شود.

مراحل انجام تراکنش بیت کوین

نودهای ویژه‌ای که به عنوان ماینر شناخته می‌شوند، تراکنش تایید شده را به همراه سایر تراکنش‌های معتبر موجود در استخر حافظه، در یک “بلاک” بسته‌بندی می‌کنند.

مراحل انجام تراکنش بیت کوین

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

تنها راه یافتن این عدد، آزمون و خطاست. به عبارت دیگر ماینرها برای یافتن عدد تا حد امکان حدس می‌زنند.

مراحل انجام تراکنش بیت کوین

اولین ماینری که بتواند عدد نانس را صحیح حدس بزند، بلاک را ماین می‌کند.

در لحظه‌ای که ماینر به درستی حدس می‌زند، بلاک را همراه با عدد نانس صحیح با سایر نودهای شبکه بیت کوین به اشتراک می‌گذارد.

تراکنش بیت کوین

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

از آن‌جایی که بلاک (که شامل تراکنش است) اکنون به نسخه رسمی بلاکچین اضافه شده است، تراکنش به عنوان “تایید شده” در نظر گرفته می‌شود.

هنگامی که یک بلاک ایجاد می‌شود و تراکنش جدید مورد تایید قرار گرفته و در آن گنجانده می‌شود، می‌توان گفت که تراکنش یک تایید دارد (یکبار تایید شده است).

عملکرد تراکنش بیت کوین

انجام تراکنش بیت کوین از دیدگاه بتمن

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

عملکرد تراکنش بیت کوین

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

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

اکنون یک بیت کوین از آدرس مرد آهنی به آدرس جدیدی که متعلق به بتمن است، منتقل شده.

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

تنها چیزی که افراد می‌توانند ببینند این است که ۱ بیت کوین از آدرسی به آدرس دیگر ارسال شده است اما نمی‌دانند که چه کسانی پشت این آدرس‌ها هستند.

همان‌طور که می‌بینید، بسیاری از مراحل تراکنش بیت کوین، در پشت صحنه انجام می‌شود.

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

ساختار تراکنش بیت کوین

اکنون بیایید به نحوه عملکرد تراکنش بیت کوین نگاهی بیندازیم.

فرض می‌کنیم مرد آهنی قبلا آدرس بتمن و مقدار بیت کوین ارسالی را وارد کرده است.

ساختار تراکنش بیت کوین

کیف پول مرد آهنی به یک نود در شبکه متصل می‌شود که پیامی را به همه کامپیوترهای شبکه بیت کوین می‌فرستد که نسخه‌‌ی به‌روزی از پایگاه داده را اجرا می‌کنند. این پیام به‌طور مشخص می‌گوید “من می‌خواهم ۱ بیت کوین به بتمن بفرستم.”

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

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

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

همه نودها به‌طور مداوم یکدیگر را با آخرین اطلاعات (تراکنش‌ها) که به شبکه بیت کوین اضافه می‌شود، به‌روز می‌کنند.

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

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

تراکنش‌ها ابتدا در یک اتاق انتظار به نام “ممپول” منتظر تایید می‌مانند.

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

شبکه بیت کوین این تراکنش تایید نشده را به همه نودهای شبکه نشان می‌دهد تا اطمینان حاصل کند که همه اعضای شبکه از آن آگاه هستند.

در نمودار زیر، مرد آهنی و بتمن به صورت کیف پول بنفش نمایش داده شده‌اند.

دایره‌های خاکستری همان کامپیوترها (نودهای کامل)‌اند که بخشی از شبکه بیت کوین همتا به همتا را تشکیل می‌دهند.

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

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

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

ساختار تراکنش بیت کوین

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

این‌جاست که یک شرکت کننده دیگر وارد شبکه می‌شود: ماینر

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

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

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

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

اساسا این معما در “حدس زدن برای یافتن یک عدد صحیح” خلاصه می‌شود. احتمال حدس زدن یک عدد صحیح، حدود ۱ در ۶ تریلیون است.

بنابراین تنها ترفند برای ماینری که می‌خواهد عدد برنده را پیدا کند، این است که تا حد امکان حدس بزند و این کار نیاز به قدرت محاسباتی زیادی دارد که انرژی زیادی مصرف می‌کند.

ماینری که اولین راه حل (عدد درست) را پیدا کند، مستحق دریافت پاداشی است که به عنوان “پاداش بلاک” شناخته می‌شود.

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

پاداش بلاک از ۲ جزء تشکیل شده است:

  • بیت کوین‌های تازه استخراج‌شده
  • کارمزد تراکنش‌ها (که توسط شخصی که تراکنش را انجام می‌دهد پرداخت می‌شود)

بیت کوین‌های تازه استخراج شده توسط ماینر، به عنوان بخشی از پاداش بلاک شناخته می‌شوند که بیشترین بخش از درآمد ماینرها را تشکیل می‌دهند. در حال حاضر، پاداش ایجاد هر بلاک ۶.۲۵ بیت کوین است.

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

به‌طور خلاصه:

پاداش بلاک= پاداش استخراج هر بلاک + کارمزد تراکنش‌های موجود در بلاک

پاداش بلاک ماینرها را تشویق می‌کند تا کارهای لازم را برای تایید تراکنش‌ها و حفظ پایگاه داده انجام دهند.

هر ۲۱۰۰۰۰ بلاک یا تقریبا هر چهار سال یک‌بار، پاداش بلاک در رویدادی به نام هاوینگHalving” به نصف کاهش می‌یابد. این روند تا صفر شدن پاداش بلاک ادامه می‌یابد و در آن مرحله، ماینرها فقط کارمزد تراکنش‌ها را دریافت می‌کنند.

امروزه اکثر استخراج‌ها توسط استخرهای ماینینگ “Mining pools” انجام می‌شود. استخرهای ماینینگ گروهی از ماینرها هستند که قدرت پردازش خود را ترکیب می‌کنند و پاداش بلاک را بین خود به اشتراک می‌گذارند.

این فرآیند در نمودار زیر نشان داده شده است:

تراکنش بیت کوین

در تصویر، ماینرها با دایره‌های نارنجی رنگ نشان داده می‌شوند.

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

در این زمان، تنها یک شرکت‌کننده در شبکه (ماینری که بلاک جدید تراکنش‌ها را به شبکه اضافه کرده) می‌تواند دفتر کل به‌روزرسانی شده را که شامل تراکنش جدید است ببیند.

شرکت‌کنندگان دیگر تنها می‌توانند بلاک‌های قدیمی‌تر را که با رنگ مشکی نشان داده شده‌اند ببینند.

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

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

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

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

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

در این مرحله، ابتدا تراکنش مرد آهنی تایید می‌شود. سپس مقدار ۱ بیت کوین از آدرس او به آدرس بتمن منتقل شده و رسما در بلاکچین ثبت می‌شود.

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

عملکرد تراکنش بیت کوین

همه شرکت‌کنندگان شبکه، اکنون بلاک جدید تراکنش (مربع آبی) را پذیرفته‌اند. در نتیجه دفترکل آن‌ها به‌روز می‌شود.

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

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

در بلاکچین بیت کوین، هر بلاک شامل اطلاعات بلاک قبلی است تا جایی که به بلاک اول بیت کوین (جنسیس بلاک) منتهی شود.

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

یا اگر مرد آهنی یک کلاهبردار باشد و سعی کند همان ۱ بیت کوین را همزمان برای ۲ نفر بفرستد، بدون اینکه کسی متوجه شود چه؟

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

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

خلاصه

در ادامه مطلب، خلاصه‌ای از تراکنش بیت کوین (و سایر ارزهای دیجیتال) در شبکه را مطالعه می‌کنیم:

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

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

فهرست مطالب

منتخب سردبیر

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

مرتب سازی
محمد ۳۱ تیر ۱۴۰۲

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

مهدی نظری ۰۱ مرداد ۱۴۰۲
پاسخ محمد

سلام . خیلی ممنون از حسن توجه شما . حتما بررسی میشه و در صورت نیاز اصلاح میشه