در مطلب آموزش بیت کوین و کتابی که در همین خصوص برای شما عزیزان آماده کرده ایم، در خصوص بیت کوین و نحوه انجام تراکنش های آن مختصری صحبت کردیم. اما در این مطلب قصد داریم بعد از آنکه پاسخ سوال اصلی بیت کوین چیست را دریافتید، در مورد نحوه پیگیری تراکنش های بیت کوین و کارمزدی که به ازای انجام هر معامله باید پرداخت کنید، اطلاعات جامع و کاملی در اختیارتان قرار دهیم.
[lwptoc]مجموعه داریکلند، در زمینه آموزش سرمایه گذاری در بورس بین الملل و ارزهای رمزنگاری شده مانند بیت کوین و اتریوم به صورت تخصصی در حال فعالیت است. بنابراین اگر قصد دارید رویای کسب درآمد دلاری خود را به واقعیت تبدیل کنید، از طریق شماره تماس 03136661801 ، جهت مشاوره سرمایه گذاری با ما در ارتباط باشید.
در شبکه بلاکچین بیت کوین، پس از اینکه یک نقل و انتقال به شبکه بیت کوین ارسال می شود، باید تایید یا کانفرم(confirm) شود. دارنده هر آدرس بیت کوین می تواند به هر مقدار دلخواه از آدرس خودش به یک آدرس دیگر، بیت کوین بفرستد و درخواست مربوطه را به شبکه بیت کوین ارسال کند.
اما این تراکنش لازم است کانفرم شود و تنها زمانی کانفرم خواهد شد که موجودی آدرس بیت کوین فرستنده در ابتدا به میزان کافی بوده باشد و فرستنده قبلا این موجودی را در تراکنش دیگری به آدرس دیگری ارسال نکرده باشد. هر چند در صورتیکه موجودی فرستنده به میزان کافی باشد نیز به این معنی نیست که تراکنش بلافاصله کانفرم خواهد شد؛ یا حتی ممکن است چنین تراکنشی هم کانفرم نشود. کانفرم یک فرایند بسیار سخت، پیچیده و زمان بر است که توسط استخراج کنندگان بیت کوین (miners) انجام می شود.
ساختار تراکنش های بیت کوین چگونه است؟
تراکنش های بیت کوین حاوی دسته ای از اطلاعات هستند، که این اطلاعات شامل مقادیر ارسالی،مبدا و مقصد اطلاعات ارسالی است.
این موارد همان اطلاعات اساسی در تراکنش هستند که در واقع روی یک خط قرار گرفته و نامی که برایش انتخاب میشود، خط داده است. مثلا یک تصوری از شکل زیر:
حال تصور کنید که قصد انجام این تراکنش با این اطلاعات را دارید. تنها کاری که باید انجام دهید این است که این اطلاعات را در اختیار شبکه بیت کوین قرار دهید.
زمانی که شما درخواست خود را برای شبکه بیت کوین ارسال میکنید، درخواست به یک ماینر فعال در شبکه تحویل داده میشود. فراموش نکنیم افرادی که در حال استخراج بیت کوین هستند، مسئولیت تایید تراکنشها را به عهده داشته و در ازای انجام این کار، بیت کوین رایگان دریافت میکنند. ماینر درخواست شما را داخل یکی از بلاک های موجود در بلاکچین، قرار میدهد.
خلاصه تراکنش بیت کوین
- ما یک آدرس بیت کوین داریم، که مقادیر بیت کوین به شکل دسته هایی از مقادیر مختلف در این آدرس جای گرفته اند، که جزء خروجی ها تلقی می شوند.
- در یک تراکنش بیت کوین از همین دسته های مختلف برای ارسال انتقال جدید استفاده میشود که در قالب تراکنش نامگذاری می شود.
- همه این اطلاعات در یک خط داده نمایش داده میشوند.
انتقال بیت کوین چگونه انجام میشود؟
یک آدرس بیت کوین مانند یک شماره حساب می ماند که بیت کوینها در آن قرار گرفته و ظبیعتا خیلی با ارزش و مهم است. درواقع زمانی که شما درخواست یک تراکنش بیت کوین را ارسال میکنید، به این صورت نیست که شما مقداری از کوینهای خود را از حساب خارج کرده و به حساب مورد نظر انتقال دهید!
در انتقال بیت کوین هر آدرس به طور فردی (مستقل) نگهداری میشود؛ یعنی چندین مدل مقادیر مختلف به حساب ما مینشیند. یعنی این اینجوری نیست که فکر کنیم همه مقادیر با هم جمع شدند و در قالب یک عدد کل نمایش داده میشوند. گرچه شما یک عدد کل را در بالانس کیف پول بیت کوین خود می بینید، اما در قسمت فنی موضوع هر تراکنش به طور مستقل از هم در حساب نشسته و از لحاظ اطلاعات و داده ها با هم متفاوت هستند.
بنابراین وقتی شما می خواهید یک مقدار مشخصی از بالانس خودتان را برای حساب دیگری بفرستید، باید آن مقدار مورد نظر (ارسالی) را در نظر بگیرید و همان مقدار را برای مقصد در قالب تراکنش بفرستید، که در اینجا میتواندشکل های گوناگونی به خودش بگیرد.
نکته: این قسمت از فرآیند خودش یک مبحث کاملا مهم و قابل تامل می باشد که در قالب کوین سلکشن نام گذاری می شود، بنده از توضیح آن در این مقاله دوری می کنم (البته شاید پیرامونش مباحث دیگه هم بیاد که من بی اطلاع باشم.)
و همینطور اگر شخصی که به حساب آن مقدار مورد نظر را فرستادید، بخواهد به شخص دیگری بفرستد دوباره از کل مقادیری که دریافت کرده می تواند مقدار مورد نظر ارسالی خودش را به حساب دیگه بفرستد.
در کل خیلی گیج نشوید!تمامی این فرآیند ها به صورت اتومات انجام میگیرد. (هرچند بعضا شاید امکان دستی انجام دادن آنها توسط بعضی از والت ها انجام شدنی باشد)، اما برای فهم فرآیند این موضوع، بهتر است این مسائل را بدانیم اما نه به بهاء بیشتر گمراه کردن خودمان.
بنابراین به صورت خلاصه بگوییم که ما مقادیر مختلف بیت کوین را به صورت دسته ای دریافت کرده ایم، و مقدار مورد نظری که می خواهیم بفرستیم را از این دسته انتخاب و ارسال می کنیم.
یک دقیقه صبر کنید …
چه اتفاقی می افتد وقتی مجموع مقادیر بیشتر از مقداری می شود که من میخواهم انتقال دهم؟!
سوال خوبیه 🙂 اینجا ما در خروجی کافیه یک خروجی دیگر به صورت برگشتی برای خودمان تعیین کنیم، یعنی مشخص کنیم به صورت خودکار آن مقداری که قصد ارسالش داریم را از حساب کم کن و مابقی را به حسابمان بازگردان.
تایید تراکنش بیت کوین چگونه انجام میشود؟
در هر لحظه تعداد زیادی نقل و انتقال توسط کاربران از سراسر دنیا به شبکه بیت کوین ارسال می شود. زمانیکه یک بلاک جدید در شبکه بیت کوین ایجاد می شود تعدادی از این تراکنش ها که معمولا کارمزد آنها به نسبت حجمشان بالاتر است در بلاک جدید قرار گرفته و کانفرم می شوند. بقیه تراکنش ها لازم است تا ساخت بلاک های بعدی منتظر باشند تا اینکه بتوانند در یکی از بلاک های ایجاد شده قرار گیرند و کانفرم شوند. در صورتیکه یک تراکنش به مدت طولانی کانفرم نشود، از شبکه بیت کوین طرد خواهد شد. هر چند تراکنش های طرد شده نیز ممکن است مجدد توسط شبکه به جریان گذاشته شوند و در دوره جدید در صورتیکه ترافیک تراکنش های کاربران کمتر باشند می توانند شانس قرار گرفتن در بلاک و کانفرم شدن را داشته باشند.
به صورت حدودی باید هر 10 دقیقه یک بلاک جدید توسط استخراج کنندها ایجاد شود و به بلاک چین افزوده شود. پس از ایجاد بلاک جدید، استخراج کننده، تعدادی از تراکنش های کانفرم نشده موجود در شبکه بیت کوین را تایید یا کانفرم کرده و در بلاک جدید قرار می دهد. تراکنش هایی که در بلاک جدید قرار می گیرند داری 1 کانفرم می شوند و تراکنش هایی که در بلاک پیش از آن قرار داشته اند 2 کانفرم به دست می آوردند و به همین صورت برای همه بلاک های قدیمی تر تعداد کانفرم ها یکی بالاتر می رود.
در حال حاضر ظرفیت هر بلاک جدید در شبکه بیت کوین هزار کیلوبایت است. بنابراین هر استخراج کننده در زمان ایجاد یک بلاک جدید می تواند به میزان هزار کیلوبایت از تراکنش های کانفرم نشده در شبکه بیت کوین را در بلاک جدید قرار دهد. کارمزد پرداخت شده در نقل و انتقال های بیت کوین به استخراج کننده ای که این تراکنش ها را در بلاک جدید قرار می دهد تعلق می گیرد. بنابراین استخراج کننده ها در زمان ایجاد یک بلاک جدید با توجه به اینکه حجم بلاک محدود است، سعی می کنند تراکنش هایی را که نسبت به حجم خودشان دارای کارمزد بیشتری هستند را در بلاک قرار دهند. به عنوان مثال یک تراکنش با حجم 200 بایت و کارمزد 200 هزار ساتوشی دارای اولویت بیشتری از یک تراکنش با حجم 400 بایت و کارمزد 300 هزار ساتوشی خواهد بود.
اینکه هر 10 دقیقه باید یک بلاک جدید ایجاد شود تنها یک قرارداد حدودی است. در عمل یک بلاک جدید زمانی ساخته می شود که یکی از استخراج کنندگان بیت کوین بتواند پاسخ یک مساله محاسباتی را پیدا کند. این مساله به صورتی طرح می شود که به طور حدودی حل آن 10 دقیقه زمان ببرد. اما در عمل بعضی بلاک ها در کسری از ثانیه ایجاد می شوند و بعضی مواقع چندین ساعت یافتن پاسخ مساله و ایجاد یک بلاک جدید طول می کشد. مساله محاسباتی طرح شده پس از مدتی در شبکه بیت کوین مورد بازبینی قرار می گیرد و سختی آن به گونه ای تنظیم می شود که زمان یافتن پاسخ و ایجاد بلاک های جدید در شبکه بیت کوین به طور میانگین 10 دقیقه باشد.
کارمزد تراکنش بیت کوین چقدر است و چگونه محاسبه میشود؟
کارمزد تمام تراکنش هایی که در یک بلاک جدید قرار دارند به استخراج کننده ای که بلاک را ایجاد کرده تعلق می گیرد. علاوه براین در زمان ایجاد یک بلاک جدید تعداد 12.5 بیت کوین جدید نیز در شبکه بیت کوین تولید می شود و به عنوان پاداش به استخراج کننده ای که بلاک جدید را ساخته تعلق می گیرد. این پاداش در 4 سال اول شروع به کار شبکه بیت کوین 50 بیت کوین برای ایجاد هر بلاک جدید بوده و در چهار سال بعدی به 25 بیت کوین کاهش یافته و در حال حاضر نیز 12.5 بیت کوین است و به همین صورت هر چهار سال نصف خواهد شد. طبق برنامه ریزی انجام شده از حدود سال 2140 این پاداش به صفر می رسد. از آن زمان به بعد تنها کارمزد تراکنشهایی که در بلاک جدید قرار می گیرند به عنوان پاداش فعالیت استخراج کننده پرداخت می شود.
مدت زمان تایید تراکنش بیت کوین چقدر است؟
بنابراین وقتی یک تراکنش به شبکه بیت کوین ارسال می شود زمان کانفرم شدن آن به مسایل زیادی بستگی دارد. مواردی مثل اینکه کارمزد پرداخت شده توسط این تراکنش به نسبت حجم تراکنش چقدر است، دیگر کاربران با چه سرعتی در حال ارسال تراکنش به شبکه بیت کوین هستند و میزان کارمزد پرداختی آنها چقدر است، تعداد تراکنش های کانفرم نشده در شبکه بیت کوین چقدر است و از همه مهمتر اینکه استخراج کنندگان در چه مدت زمانی موفق به حل مسایل محاسباتی مطرح شده در شبکه بیت کوین شوند و اینکه تراکنش مورد نظر ما توسط استخراج کننده های پیروز در رقابت محاسباتی دیده شود.
شاید تصور شود کانفرم شدن تراکنش در شبکه بیت کوین با این توضیحات بیشتر به بخت و اقبال واگذار شده و در برخی موارد واقعا هم به همین صورت است؛ اما به طور معمول اگر کارمزد مناسبی در یک تراکنش با توجه به حجم تراکنش پرداخت شود که این کارمزد مناسب با توجه به ترافیک شبکه بیت کوین در زمان های مختلف متفاوت است. در این صورت اولین کانفرم در طی یک یا 2 بلاک انجام خواهد شد.
در ابتدا ممکن است افزایش کارمزد تنها راه حل موجود برای سرعت بخشیدن فرآیند کانفرم، به نظر برسد؛ اما خیلی ساده می توان تراکنش را در زمانی که ترافیک شبکه بیت کوین در سطح پایینی قرار دارد ارسال کرد و با کارمزد حتی پایین تر تراکنش سریعتر کانفرم شود.
راه حل دیگر این است که در صورت امکان حجم نقل و انتقال را کاهش داد تا با همان میزان کارمزد پرداختی قبلی نسبت کارمزد به حجم تراکنش بیشتر شود و تراکنش سریعتر کانفرم شود. حجم یک تراکنش به حجم اطلاعاتی که در تراکنش قرار می گیرد بستگی دارد و تقریبا هیچ ارتباطی به میزان بیت کوین ارسالی ندارد. اطلاعاتی که در تراکنش قرار می گیرد به طور کلی تعداد تراکنش های ورودی و تعداد آدرس های خروجی است.
به عنوان مثال اگر یک آدرس بیت کوین به دفعات بسیار زیاد مقادیر اندک بیت کوین دریافت کرده باشد و بخواهد تمام این بیت کوینها را در یک تراکنش به یک آدرس دیگر ارسال کند باید رفرنس به تمام بیت کوینهای دریافتی در تراکنش قرار گیرد. بنابراین حجم چنین تراکنشی بسیار زیاد می شود هرچند ممکن است مقادیر کل بیت کوین های این آدرس زیاد نباشد. لذا بهتر است از دریافت مقادیر اندک بیت کوین در تراکنش های مختلف خودداری نمایید. به صورت حدودی رفرنس به هر ورودی 100 بایت به حجم تراکنش اضافه می کند.
اگر کارمزد مناسب برای هر 100 بایت، 20 هزار ساتوشی باشد به این معنی است که اگر در یک تراکنش ورودی یک آدرس 20 هزار ساتوشی دریافت کند باید تمام این بیت کوین دریافتی را در زمان جابجایی به عنوان کارمزد بپردازد. بنابر این به دست آوردن مقادیری در این حد یا کمتر از آن در یک تراکنش عملا به معنای از دست دادن بیت کوین است. مانند اینکه شما در یک فرایند بانکی 500 تومان یا کمتر دریافت کنید و کارمزد تراکنش بانکی به میزان 500 تومان باشد و از حساب دریافت کننده تراکنش کسر شود. در این حالت کسی که مقادیر کمتر از کارمزد را به حساب شما ارسال می کند عملا موجودی حساب شما را کمتر می کند.
چگونه از حمله دو بار خرج کردن بیت کوین جلوگیری میشود؟
یکی از چالش های اساسی که در خصوص ازرهای دیجیتال پیش از بیت کوین مطرح بود، حمله دو بار خرج کردن است. در این حمله یک تراکنش چند بار انجام شده و کلاهبرداری به سادگی انجام میشود. سوالی که احتمالا برای بسیاری از شما مطرح شده این است که:
اگر کل داده ها و فرستادن و گرفتن و نقل و انتقالات بیت کوین در قالب یک خط از داده نشان داده میشود، چرا خودمان یک تراکنش ساختگی از این داده ها درست نکنیم که با آدرس خودمان ارتباط داشته باشد؟
جواب این سوال، در قفلی است که برای خروجی هر بیت کوین تعریف شده است.
در نتیجه اگر شما اگه تراکنشی را بدون در نظر گرفتن باز کردن قفل آن ایجاد کنید؛ نودها که در شبکه بیت کوین قرار دارند تراکنش شما را رد خواهند کرد.
به همین خاطر است که آدرس بیت کوین شما همراه با یک کلید خصوصی می باشد.
خب حالا اگه بخواهید بیت کوینی را به جایی بفرستید، توسط این کلید خصوصی خروجی های خود را باز کرده و از آنها استفاده میکنید.
بعد از اینکه خروجی های مورد نظری که می خواستید استفاده کنید را باز کردید، معامله یا تراکنش توسط گره های شبکه بیت کوین تایید می شود و انتشار پیدا می کند.
و این چگونگی عملکرد تراکنش های بیت کوین است.
نتیجه گیری
کانفرم در عمل، بیت کوین و دیگر ارزهای کریپتو را از ارزهای معمولی بسیار متمایز می کند. کانفرم پیچیدگی زیادی را به همراه می آورد که البته این پیچیدگی بهایی است که کابران به راحتی می پردازند تا از دیگر مزایای بسیار بیت کوین بهرمند شوند. ضمن اینکه والتهای سرویس دهنده و مراکز پذیرنده بیت کوین، مقدار بسیار زیادی از این پیچیدگی را در اسکریپت ها و پشتیبانی خودشان برای کابران پوشش می دهند و در بسیاری مواقع کاربران عادی متوجه اکثر این پیچیدگیها نمی شوند.
منبع مقاله سایت کوین دسک