استفاده از بیت کوینها در حال فراگیر شدن است و به خوبی میتوان رد پای آن را در حوزههای مختلف مشاهده کرد. شاید شما هم از جمله کسانی باشید که به بیت کوینها علاقه مند شده و با اندکی آموزش، توانسته اید به استفاده از آن بپردازید. اما آیا واقعا میدانید که در پشت صحنه معاملاتی که بر اساس بیت کوینها صورت میگیرد، چه میگذرد؟ آیا میدانید که دلیل اصلی فراگیر شدن بیت کوین ها که امنیت آنها است از کجا نشات میگیرد؟ در این مطلب کوین نیک میخواهیم با پاسخ به این سوالات دریابیم که تراکنش های بیت کوین چگونه کار میکنند. پس در ادامه با ما همراه باشید.
نگاهی کلی به تراکنش های بیت کوین
فرض کنید شخصی قرار است چند تا از بیت کوینهای خود را برای شما بفرستد. او ابتدا درخواست این کار را از طریق نرم افزاری که در اختیار دارد به شبکه میفرستد و سپس نودهای موجود در شبکه بیت کوین، ۲ مورد اساسی را در رابطه با بیت کوینهای مورد نظر بررسی میکنند؛ اول اینکه آیا این بیت کوینها در حساب شخص درخواست کننده، وجود دارند و دوم اینکه آیا قبلا برای شخصی دیگر فرستاده نشده اند؟ پس از تایید این موارد، تراکنشهای مورد نظر، دارای بلوکی متصل به بلوکهای مربوط به تراکنشهای پیشین خواهد شد. واژه بلاک چین (به معنی زنجیرهای از بلوکها) از همین جا نشات گرفته است. تراکنشهای اشاره شده نمیتوانند نیمه کاره رها شده یا به شکل ناقص به اتمام برسند. زیرا این به معنی اجرای مجدد عملیات تمام بلوکهایی خواهد بود که پس از آن میآیند.
نقش کلیدهای عمومی و خصوصی
همانطور که احتمالا میدانید، کیف پول بیت کوین واقعا حاوی بیت کوین نیست، بلکه در حقیقت، آدرس بیت کوینها که در آن رکوردی از همه تراکنشها و در نتیجه، مقدار بیت کوینهای موجود و در دسترس شما وجود دارد را در خود ذخیره میکند. این آدرس، در واقع رشتهای ۳۴ کاراکتری شامل حروف و اعداد مختلف است که از آن تحت عنوان «کلید عمومی (public key)» نیز یاد میشود. هیچ اهمیتی ندارد که بقیه افراد حاضر در شبکه بتوانند این کلید را مشاهده کنند یا خیر. در این میان چیزی که اهمیت دارد، کلید خصوصی (private key) مربوط به هر آدرس یا کلید عمومی است که در واقع رشتهای ۶۴ کاراکتری از حروف و اعداد خواهد بود. این کلید است که باید به خوبی توسط شما محافظت شده و در مکانی امن و دور از دسترس دیگران، حفظ و نگهداری شود. همانطور که اشاره شد، کلیدهای عمومی و خصوصی به هم مرتبط هستند. با این وجود، هیچ راهی برای هک کلید خصوصی از طریق کلید عمومی وجود ندارد.
دلیل اهمیت کلید خصوصی این است که از آن به عنوان امضایی منحصر به فرد برای همه تراکنشهای صورت گرفته توسط شما استفاده میشود. بدین منظور، باید هم کلید خصوصی و هم جزئیات مربوط به تراکنش جدید (اینکه قصد ارسال چه مقداری از بیت کوینها و برای چه کسی را دارید) را در نرم افزار بیت کوین نصب شده روی گوشی همراه هوشمند یا کامپیوتر خود وارد کنید. این برنامه، با کمک این اطلاعات، امضای دیجیتالی را از کلید خصوصی استخراج کرده و آن را جهت اعتبارسنجی به شبکه میفرستد.
تایید اعتبار این تراکنش به این معنی است که اولا بیت کوینهای مورد نظر در کیف پول شخص متقاضی وجود دارند و ثانیا پیش از این برای شخص دیگری فرستاده نشده اند. این فرایند با اعمال امضا و کلید عمومی (که همه آن را میشناسند) به برنامه بیت کوین صورت میگیرد. جالب ترین بخش بیت کوین همینجا است. اگر امضای مورد نظر از طریق کلید خصوصی متناطر با کلید عمومی ساخته شده باشد، تراکنش درخواستی توسط برنامه، تایید خواهد شد. این در حالی است که هیچگونه دسترسی به خود کلید خصوصی صورت نپذیرفته است. همانطور که پیش از این گفته شد، شبکه با مرور تاریخچه تراکنشهایی که در آدرس شما (همان کلید عمومی) ذخیره شده است، باید تایید کند که بیت کوینهای مورد نظر پیش از این مصرف نشده اند. توجه داشته باشید که همه تراکنشها در لجرهای بیت کوین قابل دسترسی و مشاهده به صورت عمومی هستند.
اما این تاییدیه چگونه و بر اساس چه مکانیسمی صورت میگیرد؟ در اینجا لازم است که قبل از ادامه بحث راجع به شیوه کار بیت کوینها، نگاهی به «هش» داشته باشیم.
این مطلب راهم مطالعه کنید: تکنولوژی بلاک چین در احراز هویت چه نقشی دارد و چطور بکارگرفته میشود؟
شیوه تایید تراکنش های بیت کوین
هش در واقع یک معادله پیچیده ریاضی است که توسط تابع هش تولید شده و میتواند هر متن یا دادهای را به رشتهای ۶۴ بیتی تبدیل کند. به خاطر داشته باشید که رشته ایجاد شده، تصدفی نیست. بنابراین مادامی که متن یا دادهای یکسان را به تابع ارسال کنید، همواره رشته ای یکسان را به عنوان خروجی دریافت خواهید کرد. در این میان، اگر کوچکترین تغییری در داده ارسالی ایجاد کنید (حتی در حد حذف یا اضافه کردن یک ویرگول ساده)، پاسخی کاملا متفات را دریافت خواهید داشت. پس تا اینجا باید متوجه مزیتهایی که استفاده از تابع هش برای ما به ارمغان میآورد شده باشید. همه مطلبی که در حال مطالعه آن هستید میتواند به یک هش (رشته ای ۶۴ بیتی) تبدیل شود و اگر هیچگونه تغییری در آن ایجاد نشده یا متنی به آن اضافه یا از آن کم نخواهد شد، همان رشته ۶۴ بیتی در هر بار استفاده از تابع هش، تولید میشود. این راهی بسیار موثر برای تشخیص اینکه آیا در چیزی تغییری رخ داده است یا خیر. با استفاده از همین شیوه است که بلاک چین میتواند مشخص کند که آیا تراکنشی با مشخصات یکسان، پیش از این انجام شده یا نشدهاست.
حالا که با تابع هش و نحوه استفاده از آن در بلاک چین جهت تایید تراکنشها آشنا شدیم، به بحث بلاکها بر میگردیم. پس از اینکه تراکنش مورد نظر تایید شد، درون بلوکی قرار میگیرد تا به خوشهای از بلوکهای حاوی دیگر تراکنشها بپیوندد. هر بلوک، حاوی هش مربوط به بلوک قبلی هم است. در واقع همین خصوصیت است که آن را بخشی از زنجیره موجود تحت عنوان «بلاکچین» یا «زنجره بلوکها» میسازد. بنابراین اگر حتی بخشی کوچک از بلوک قبلی به هر دلیلی تغییر کرده باشد، هش موجود در این بلوک هم باید تغییر کند (همانطور که گفتیم، یک تغییر کوچک در ورودی تابع هش، باعث عوش شدن خروجی آن میشود.) با این اوصاف، اگر قصد تغییر دادن چیزی در بلوک قبلی را داشته باشید، باید بلوک کنونی را نیز با تغییراتی مواجه سازید. این کار بسیار سختی است. به خصوص اینکه ممکن است بلوکهای دیگری هم در این میان قرار داشته باشند که مجبور به اعمال تغییرات در آنها هم باشید. این دقیقا همان نکتهای است که احتمال بروز دستکاری یا خرابکاری در بلاک چین را تا حد بسیار زیادی پایین میآورد. البته اینطور نیست که بگوییم انجام چنین کاری به هیچوجه ممکن نیست ولی با توجه به دلایلی که گفته شد بسیار مشکل و غیر محتمل خواهد بود.
امیدواریم این مطلب برای شما مفید بوده باشد. اگر به دنبال خرید بیت کوین و سایر ارزهای دیجیتال بدون کمترین معطلی هستید، با ما در ارتباط باشید؛ زیرا این دقیقا همان کاری است که ما در «کوین نیک» برای شما انجام میدهیم. اینجا خرید و فروش انواع ارز دیجیتال، در سریعترین زمان ممکن انجام میشود و در اکثر ساعات شبانه روز، هوای شما را داریم!