video thumb

بیت کوین و ساختار و امنیت آن

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

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

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

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

بیت کوین

تراکنش‌ها

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

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

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

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

برچسب زنی برحسب زمان

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

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

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

حال این تراکنش‌ها در استخری به نام استخر تراکنش ثبت می‌شوند. در این قسمت استخراج کننده‌ها کار اصلی Bitcoin را انجام می‌دهند. استخراج کننده‌ها با استفاده از رایانه و قدرت پردازشی رایانه شان، بلاک‌ها را تایید می‌کنند و در ازای وقت و قدرتی که به بلاک‌ها اختصاص می‌دهند، پاداش دریافت می‌کنند که این پاداش همان بیت کوین برای آنها است.

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

مراحل معدن کاوی

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

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

بیت کوین و بیت کوین کش

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

حال در چنین شرایطی بیت کوین کش به کمک بیت کوین آمد. بیت کوین کش یک فورک از سوی بیت کوین بود که تراکنش‌ها را در سرعت بالا‌تری انجام می‌داد. بیت کوین کش قادر بود که هزاران تراکنش را در ثانیه انجام دهد. از سال ۲۰۱۷ به بعد بیت کوین کش به طور مستقل فعالیت کرد و تمامی ‌افرادی که بیت کوین داشتند، به همان‌اندازه بیت کوین کش نیز دریافت کردند.

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

معانی خاص بیت کوین

در بیت کوین کلمات خاص زیادی مانند امضا دیجیتال وجود دارد که کاربر معنی دقیق آن را نمی‌داند. در این بخش شما با معانی کامل و واضح هر کلمه آشنا خواهید شد:

  • امضا دیجیتال: هر کاربری که می‌خواهد یک حساب در بیت کوین داشته باشد، در همان ابتدا دو کلید خصوصی و عمومی ‌دریافت می‌کند که دنباله ای از امضا دیجیتال هستند. کاربر یک کد که مجموعه ای از اعداد و حروف است دریافت می‌کند که در حقیقت همان امضا دیجیتال است که با آن می‌تواند توکن‌های خود را انتقال دهد یا با ارائه امضا دیجیتال به دیگری، از آن توکن بیت کوین دریافت کند. نکته مهم در امضا دیجیتال این است که کاربر نباید کلید خصوصی خود را به کسی بفرستد زیرا ممکن است حساب او در خطر بیفتد.
  • اثبات کار یا PoW: معنی دقیق اثبات کار Proof of Work است. اثبات کار در بیت کوین باعث می‌شود که از حملاتی همچون Ddos جلوگیری شود و نوعی رمزنگاری دنباله دار را ارائه می‌دهد. در حقیقت اثبات کار به کاربر کمک می‌کند که بهبود بهتری در پردازش بلاک‌ها داشته باشد و زمان پردازش برای کارهای دیگری صرف نشود. اثبات کار‌ترافیک سیستم را کمتر می‌کند و سرعت بیشتری به ان می‌بخشد. اثبات کار نیز علاوه بر بهبود پردازش، در یافتن بلاک‌های تایید نشده به کاربر کمک می‌کند و آنها را تحت پردازش کاربر قرار می‌دهد.
  • تابع رمزنگاری یا هش: به هش نیز SHA-2 هم می‌گویند. اولین بار این رمزنگاری توسط سیستم امنیت اطلاعات آمریکا ارائه شد. هش نوعی الگوریتم‌های خاص توابع ریاضی است که مزیت بزرگ آن نتیجه‌های متفاوت است. یعنی امکان ندارد که هش‌های ارائه شده یک نتیجه یکسان به کاربر ارائه کند. البته هش تنها رمزنگاری موجود نیست و بعد از آن SHA-1 هم وجود دارد. هش دارای شش تابع است که ۵۱۲، ۲۵۶، ۳۸۴، ۲۲۴ بیتی هستند.
  • انگیزه: انگیزه اصلی‌ترین دلیل برای سلامت گره‌ها و سیستم‌های بیت کوین است. اولین تراکنش‌ها در بیت کوین نیز با ارزش‌ترین تراکنش‌ها هستند زیرا استخراج کننده‌ها ابتدا آن تراکنش را بررسی می‌کنند و براساس آن باقی تراکنش‌ها را تایید یا رد می‌کنند. دلیل چنین الگوریتمی ‌این است که اولین تراکنش نشان می‌دهد که بیت کوین در چه زمانی ساخته شده است و چگونه انتقال یافته است. انگیزه در مفهوم ساده چنین معنایی را می‌دهد که باعث می‌شود استخراج کننده‌ها با قدرت بیشتری کار کنند. در حقیقت دلیلی که به برخی از استخراج کننده‌ها معدن کاو هم می‌گویند همین بررسی اولین تراکنش است. البته باید بدانید که در نهایت ۲۱ میلیون توکن بیت کوین وجود ندارد و تا زمانی که این بیت کوین‌ها استخراج می‌شوند، استخراج کننده‌ها نیز پاداش دریافت می‌کنند و پس از این دیگر نمی‌توان پاداش خاصی را به استخراج کننده‌ها ارائه داد زیرا تمامی ‌بلاک‌ها بررسی شده‌اند.