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

بیت‌کوین یک شبکه انتقال ارزش همتا به همتاست که ارزش‌های درون آن بدون نیاز به هیچ شخص و یا نهاد واسطه می‌توانند به صورت بسیار ایمن و شفاف از شخصی به شخص دیگر منتقل شوند

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

0 174

نسخه ساده

اگر کسی بخواهد کمی از بیت‌کوینش را برای شما بفرستد، قصد خود برای این کار را منتشر می‌کند و نودها (nodes)، تمام شبکه‌ی بیت‌کوین را برای تأیید اینکه آن شخص: 1) بیت‌کوین برای پرداخت دارد و 2) و آن را قبلاً برای کس دیگری نفرستاده‌ است، بررسی می‌کنند. زمانی که اطلاعات تأیید شود، تراکنش من درون یک “بلاک” گنجانده می‌شود که خود این بلاک به “بلاک” دیگری متصل است (عبارت ” بلاکچین” (blockchain) نیز از اینجا آمده است). تراکنش‌ها نمی‌توانند انجام نشده یا دستکاری‌شده باشند زیرا انجام نشدن یا دستکاری آن به معنی انجام مجدد همه‌ی بلاک‌های بعدی است.

کمی پیچیده‌تر

در واقع، بیت‌کوین درون کیف پول بیت‌کوین نیست. چیزی که درون کیف پول بیت‌کوین قرار دارد آدرس بیت‌کوین‌ها است که تمامی تراکنش‌های هر شخص را ثبت می‌کند و در نهایت موجودی باقیمانده بیت‌کوین یک شخص را نگه می‌دارد. این آدرس(یک سری طویل از 34 حرف و شماره) “کلید عمومی” (public key) نامیده می‌شود. اهمیتی ندارد که تمام دنیا بتوانند این توالی را ببینند، زیرا هر آدرس/کلید عمومی یک “کلید خصوصی” متناظر دارد که دارای 64 حرف و شماره‌ است. این کلید شخصی است و مخفی و ایمن نگه داشتن آن ضروری است. این دو کلید مرتبط هستند اما هیچ راهی برای اینکه شما بتوانید کلید خصوصی شخصی را از روی کلید عمومی او پیدا کنید وجود ندارد.

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

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

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

حتی پیچیده‌تر

زمانی که تراکنش شما تایید می‌شود، همراه با مجموعه‌ای از تراکنش‌های دیگر، وارد یک بلاک می‌شود. داخل پرانتز باید در رابطه با “هش” (hash) نیز صحبت کنیم زیرا برای پاراگراف بعدی ضروری است؛ یک هش به وسیله‌ی یک “تابع هش” (hash function) تولید می‌شود. تابع هش یک معادله ی ریاضیاتی پیچیده است که هر متن یا داده‌ای را به یک توالی 64 کارکتری تبدیل می‌کند. این کار تصادفی انجام نمی‌شود و هر زمانی که شما آن داده‌های ویژه را وارد تابع هش کنید، توالی 64 کارکتری یکسانی دریافت می‌کنید، ولی اگر شما حتی یک کاما را تغییر دهید، یک توالی 64 کاراکتری کاملا متفاوت دریافت می‌کنید. تمامی این مقاله را می‌توان به یک هش تبدیل کرد و اگر چیزی را تغییر نداده و یا چیزی را به متن اضافه و کم نکنید، بار‌ها و بار‌ها به هش یکسانی خواهید رسید. این یک روش بسیار موثر برای گفتن این است که چیزی تغییر کرده است و اینکه چگونه بلاکچین می تواند تایید کند که یک تراکنش، دستکاری شده است یا خیر.

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

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

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.