![تراکنش ارز دیجیتال بیت کوین و ماینر ها](https://www.excoino.com/blog/wp-content/uploads/2019/04/how-do-bitcoin-transactions-work-810x455.png)
کاربران زیادی هستند که در مورد نحوه تایید تراکنش ها و زمان لازم برای تایید سوال می کنند، برای این که این کاربران بیشتر با نحوه انجام تراکنش و تایید آن آشنا شوند، تصمیم گرفتیم مقاله ای در مورد آن منتشر کنیم. در ابتدای کار، چرخه انجام تراکنش را بررسی می کنیم و سپس به نحوه تایید و زمان آن می پردازیم.
فرآیند یک تراکنش بیت کوین
ابتدا به این صورت است که یک نفر درخواست تراکنش می کند و مقدار و کارمزد تراکنش را تعیین می کند. تراکنش درخواست شده به شبکه ای از نود ها که به صورت همتا به همتا کار می کنند، مخابره می شود. سپس به وسیله الگوریتم از پیش تعیین شده ای، هویت کاربر اعتبار سنجی می شود و اعتبار تراکنش بررسی می شود. ماینرها تراکنش را در بلاک بعدی وارد می کنند تا استخراج انجام شود. سپس استخراج انجام می شود و ماینر بلاک جدید را در شبکه منتشر می کند. نتیجه تایید می شود و بلاک تکثیر می شود. تاییدیه های جدید با تولید بلاک های جدید انجام می شود تا زمانی که کل تراکنش تایید شود.
تایید تراکنش بیت کوین
برای این که با تایید تراکنش ها آشنا شوید، حتما این قسمت از مقاله را بخوانید. زمانی که یک بلاک از اطلاعات تراکنش به درستی و با موفقیت پردازش شود، همه تراکنش هایی که درون آن بلاک داده هستند، تائید می شوند و به ثبت می رسند (استخراج). زمان تایید تراکنش ها به نوع ارز دیجیتالی که انجام می شود، بستگی دارد و این زمان تایید می تواند از ۳۰ ثانیه تا چند دقیقه متغیر باشد. تاییدیه هایی که برای اعتبار سنجی به کار می روند، زمان طولانی تری دارند. زمان تایید تراکنش های شما ممکن است طولانی شود اما همه این کارها به دلیل ایمن تر شدن تراکنش است چون باید به داده هایی که استخراج می شود، توجه بیشتری داشت.
علت طول کشیدن تایید تراکنشهای بیت کوین
زمانی که لازم است تا تراکنشها تایید شود، به عوامل زیادی بستگی دارد. برخی از این عوامل صرفا عملیات ریاضی و برخی دیگر به شرایطی که در حال حاضر در بازار وجود دارد، بستگی دارد. اما در این قسمت از مقاله به صورت مفصل توضیح خواهیم داد که چرا ممکن است زمان تایید تراکنش های شما طولانی شود.
زمان انتظار بین بلاک های بیت کوین معمولا 15 دقیقه طول می کشد ولی ممکن است تایید تراکنش بیت کوین شما چند روز طول بکشد. چرا؟ برای این که به این سوال پاسخ دهیم این موضوع را از نظر ریاضی و به زبان ساده بررسی می کنیم.
اما گاهی فاصله بلاک آخر و بلاک بعدی بیش از 15 دقیقه است که این موضوع کاملا به سختی شبکه بیت کوین بر می گردد.
اگر بخواهیم سختی شبکه بیت کوین را به طور خلاصه و ساده توضیح دهیم، سختی شبکه مقدار زمانی است که طول می کشد یک ماینر بتواند یک بلاک را استخراج کند و بلاک بعدی را برای فرآیند استخراج شروع کند. برای این که این سختی در همان بازه زمانی تعریف شده باقی بماند (همان هر 15 دقیقه) هر سه هفته یکبار تنظیم میشود. بنابر چیزی که توضیح دادیم و شکل های بالا به این نتیجه می رسیم که یک مدت زمان بین ساخت ۲بلاک در بیت کوین داریم و آن مدت زمان 15 دقیقه است که با سختی شبکه تنظیم میشود. برای این که با سختی شبکه بیت کوین بیشتر آشنا شوید، می توانید مقاله ” سختی استخراج بیت کوین و قدرت هش شبکه “ را مطالعه کنید.
به جز این ها عواملی مثل بالا رفتن تعداد تراکنش ها و میزان فعالیت ماینر هم در بالا رفتن زمان تایید تراکنش تاثیر دارد.
آیا تراکنش شما در بلاک بعدی قرار می گیرد؟
پس از این که فهمیدیم زمان انتظار برای تایید تراکنش بیت کوین می تواند متغیر باشد، این سوال پیش می آید که آیا تراکنشی که انجام داده اید، در بلاک بعدی قرار می گیرد؟ شاید نه! شاید حتی تا چندین بلاک دیگر هم نباشد. پس چه چیزی باعث می شود یک تراکنش در بلاک بعدی قرار گیرد؟ برای پاسخ به این سوال، عوامل تعیین کننده قرار گرفتن تراکنش در بلاک بعد را بخوانید.
عوامل قرار دادن تراکنش در بلاک بعد
اولین موضوع محدود بودن فضای هر بلاک است. یعنی فضای هر بلاک طوری است که فقط تعداد محدودی تراکنش در یک بلاک قرار می گیرد.
دومین موضوع تعداد زیاد تراکنش هاست. اگر تعداد زیادی تراکنش در صف انتظار باشد که نیاز به تایید شدن داشته باشند، باید آنقدر منتظر بمانند که فضایی در بلاک ایجاد شود.
سومین عامل ممپول یا mempool است که یک استخر از تراکنش هاست که در حافظه ذخیره شده و در بلاک چین نوشته نشده است. این عامل مثل یک اتاق انتظار برای تراکنش هاست.
اولویت قرار گرفتن تراکنش ها در صف
قانون کلی و پروتکلی برای قرار گرفتن تراکنش ها و اولویت بندی آن ها وجود ندارد اما ماینرها معمولا اولویت را به تراکنش هایی اختصاص می دهند که کارمزدهای بیشتری دارند.
برای اطلاع از روند تایید شدن تراکنش می توانید آدرس مقصد را در سایت BTC.com جستجو کنید و تراکنش مورد نظر را مشاهده کنید.
چه زمانی سختی شبکه تغییر می کند؟
میزان سختی شبکه در هر ۲۰۱۶ بلاک تغییر میکند که در واقع همان 3 هفته یک بار است، یعنی برای 2016 بلاک باید 2016 تا 15 دقیقه صرف شود و بعد از این زمان تغییر سختی شبکه انجام می گیرد. اما نکته دیگری هم وجود دارد، این که این جا زمان 15 دقیقه یک زمان ثابت نیست و این مقدار به صورت میانگین 15 دقیقه در نظر گرفته شده است.
به هر حال برای محاسبه لازم است که ۲۰۱۶ در 15 دقیقه زمان در نظر گرفته شده ضرب شود. حالا ممکن است ماینر استخراج بیت کوین را به نحوی انجام دهد که میانگین استخراج 12 دقیقه شود و همین موضوع می تواند باعث تغییر سختی شبکه شود و 2016 باید در 12 دقیقه ضرب شود. برعکس همین موضوع هم صادق است. یعنی ماینر به نحوی استخراج کند که میانگین زمان لازم برای استخراج 30 دقیقه شود و دوباره بر حسب همین موضوع، زمان سختی شبکه تغییر می کند و در نهایت زمان تایید تراکنش شما تغییر می یابد.
دریافت سختی شبکه از زنجیره بلوک
کمترین سختی شبکه در بلاک چین در هر بلاک ثبت میشود. بنابراین بلاک چین منبع معتبر آن است. عملیات انکودینگ یا عملیات کدگذاری آن هم نسبتا خاص است و از روی کد منبع بیت کوین به صورت مهندسی معکوس طراحی شده است.
سرعت شبکه بیت کوین
سرعت شبکه در واقع زمانی است که انتظار میرود یک ماینر در هر 15 دقیقه موفق شود. سرعت محاسباتی کل شبکه (S (d)) بر حسب هش طبق زمان زیر محاسبه می شود:
d کمترین سختی شبکه در بلاک چین در هر بلاک است.