شبکه بیت کوین یک شبکه همتا به همتا (P2P) متشکل از نودهاست.
در درسهای قبل یاد گرفتید که یک شبکه چه کاری انجام میدهد و شبکه همتا به همتا چیست.
اما نود بیت کوین دقیقا چیست؟ چه کاری انجام میدهد و چگونه کار میکند؟
یک نود بیت کوین، یا بهطور اختصاصیتر، یک فول نود بیت کوین کامپیوتری است که نرم افزار بیت کوین را اجرا میکند. ( به عنوان “مشتری بیت کوین” یا “نرم افزار مشتری بیت کوین” شناخته میشوند.)
این فول نود میتواند یک کامپیوتر شخصی یا لپتاپ باشد تا زمانی که حافظه کافی برای ذخیره دادههای گذشته داشته باشد.
دو اصطلاح نود و فول نود اغلب به عنوان مترادف بهکار میروند اما در واقع تفاوتی بین آنها وجود دارد. به همین دلیل ۲ نوع نود وجود دارد:
فول نودها “full node” و لایت نودها “light node”
فول نودها ستون فقرات شبکه بیت کوین را تشکیل میدهند اما لایت نودها برای عملکردشان به فول نودها وابسته هستند.
از آنجایی که لایت نودها (نودهای سبک) به تنهایی قادر به انجام کاری نیستند، من آنها را مانند انگل یا کنه در نظر میگیرم زیرا مجبورند خود را به یک فول نود متصل کنند.
در ادامه هرجا از کلمه نود استفاده کردم، منظور همان فول نود است (مگر اینکه صریحا مشخص کنم)
وظیفه نود شبکه بیت کوین چیست؟
سه وظیفه اصلی هر نود بیت کوین عبارتاند از:
- پیگیری و اجرای قوانین
- به اشتراک گذاری اطلاعات
- ذخیره کپی از تراکنشهای تایید شده
پیگیری و اجرای قوانین:
هر نود (کامپیوتری که نرم افزار بیت کوین را اجرا میکند) طوری برنامه ریزی شده که از مجموعهای از قوانین پیروی میکند.
به این مجموعه قوانین پروتکل بیت کوین (Bitcoin protocol) گفته میشود.
پس یک پروتکل مجموعهای از قوانین از پیش تعریف شده است که نحوه عملکرد شبکه را تعیین میکند و همه شرکت کنندگان در شبکه باید از آن پیروی کنند تا شبکه به درستی کار کند.
هر نود بیت کوین مستقل است. اگر کامپیوتری دارید که نرم افزار بیت کوین را اجرا میکند، شبکه به شما نمیگوید چه کاری انجام دهید چون همه نودهای بیتکوین از قبل میدانند چه کاری انجام دهند و تصمیماتشان را بر اساس پروتکل یا قوانین بیت کوین میگیرند.
قوانین از پیش تعریف شده در نرم افزار بیت کوین کدگذاری شدهاند و این کار از بروز هرگونه اختلاف در شبکه بیت کوین جلوگیری میکند.
نودها با پیروی از قوانین، میتوانند تراکنشهایی را که دریافت میکنند بررسی کنند و سپس در صورتی که همه چیز قانونی و درست باشد میتوانند آنها را انتقال دهند.
اگر مشکلی وجود داشته باشد، تراکنش انجام و منتقل نمیشود.
تراکنشی که از قوانین پیروی نکند، توسط شبکه P2P رد میشود.
برای مثال، یکی از قوانین این است که برای انجام تراکنش باید موجودی بیت کوین در حساب شخص، بیشتر یا مساوی با مقداری باشد که میخواهد ارسال کند.
اگر یکی از نودهای شبکه، تراکنشی را دریافت کند که در آن شخص سعی کرده تا بیت کوین بیشتری نسبت به موجودی حسابش ارسال کند، تراکنش به نودهای دیگر منتقل نمیشود.
اگر یکی از اعضای شبکه بیت کوین اقدام به پخش اطلاعات نادرست کند، تمام نودهای شبکه بلافاصله آن را نامعتبر تشخیص داده و رد میکنند.
هر یک از نودها به تنهایی میتوانند همه اطلاعات در شبکه را تایید کنند بنابراین نیازی به وجود اعتماد بین اعضای شبکه نیست.
به اشتراک گذاری اطلاعات در نودها:
وظیفه اصلی یک نود بیت کوین، اشتراک گذاری اطلاعات با دیگر نودهاست.
این اطلاعات همان تراکنشها هستند.
تراکنشهایی که نودها به اشتراک میگذارند دو نوع هستند:
- تراکنشهای جدید: تراکنشهایی که به تازگی وارد شبکه شدهاند.
- تراکنشهای تایید شده: تراکنشهایی که تایید شدهاند و در یک فایل نوشته شدهاند. این تراکنشها به صورت جداگانه به اشتراک گذاشته نمیشوند بلکه در بلاکها “block” موجود هستند.
یک نود، هم تراکنشهای جدید و هم بلاک تراکنشهای تایید شده را به اشتراک میگذارد.
بلاک “block” چیست؟
فرض کنید به کافیشاپ محل زندگی خود میروید و پس از پرداخت، رسیدی دریافت میکنید که نشان میدهد تراکنشی انجام دادهاید. شما واقعا عاشق رفتن به این کافیشاپ هستید و پس از چندبار رفتن به آنجا، تعدادی رسید دارید. شما همه آنها را کنار هم جمع میکنید. این دسته از رسیدها بلاک هستند.
بنابراین در بیت کوین، با در کنار هم قرار گرفتن اطلاعات تراکنشها یک بلاک ایجاد میشود.
در حال حاضر زیاد نگران درک مفهوم بلاکها یا تفاوت بین تراکنشهای تایید شده و جدید نباشید. در درسهای بعدی همه چیز برای شما شفاف خواهد شد.
نگهداری از کپی تراکنشهای تایید شده
همانطور که در بالا ذکر شد، هر نود از “بلاکهای تراکنشهای تایید شده” نیز نگهداری میکند.
این بلاکها در فایلهایی به نام بلاک چین “blockchain“ ذخیره میشوند.
“chain” یا “زنجیره” چیست؟
زمانی که بلاک جدیدی ایجاد میکنید (بسته جدیدی از تراکنشها) و آن را به بلاک قبلی متصل میکنید، یک زنجیره از بلاکها را تشکیل دادهاید. زمانی که این قلابها به یکدیگر وصل شوند، دیگر نمیتوانید آنها را از یکدیگر باز کنید چون دائمی هستند.
بلاک جدید برای همیشه به بلاک قبلی متصل شده است. در مثال کافیشاپ، زنجیرهای از چندین بسته رسید را تصور کنید… پس به زنجیرهای از بلاکها بلاک چین گفته میشود.
تراکنشهای جدید تا زمانی که به بلاک چین (که فقط یک دفتر کل از تراکنشهای تاییده شده است) اضافه شوند، در سراسر شبکه حرکت میکنند.
هیچ بلاک چین واحدی وجود ندارد. هر نود به بلاک چین دسترسی دارد چون یک کپی از آن را در اختیار دارد.
نودها تلاش میکنند تا در شبکه با دیگر نودها هماهنگ باشند. اگر بعضی از نودها، کپیهای قدیمی و منسوخ از بلاک چین داشته باشند، سایر نودها که جدیدترین نسخه از بلاک چین را دارند، کپی خود را با آنها به اشتراک خواهند گذاشت.
درمورد اینکه هر نود کپی مخصوص به خود از بلاک چین را دارد نکته جالبی وجود دارد و آن این است که اگر یک یا چند نود آفلاین شود، شبکه بیت کوین همچنان میتواند به کار خود ادامه دهد! هرچه تعداد نودهای بیشتری درحال اجرا باشند، از کار انداختن بیت کوین دشوارتر میشود.
شبکه به هیچ نود واحدی وابسته نیست. احتمال بروز اختلال به دلیل عدم دسترسی به سرور در شبکه وجود ندارد. برای از بین بردن بیت کوین، هر یک از بلاک چینها باید نابود شود!
هر نود مستقل از دیگری است. نودها (کامپیوترها) میتوانند به دلخواه شبکه را ترک کرده و دوباره به آن بپیوندند.
اگر یک نود از شبکه جدا شود و مجددا برگردد، کامپیوتر جدیدترین نسخه بلاک چین بیت کوین را دانلود میکند و دوباره به یک نود تبدیل میشود.
نودها بخش مهمی از سیستم بیت کوین هستند. بدون نودها، شبکه بیت کوین نیز وجود نخواهد داشت و بدون شبکه بیت کوین نیز هیچ بلاک چینی وجود ندارد چون نودها برای ذخیره کپیهای بلاک چین ضروری هستند و زمانی که بلاک چین وجود نداشته باشد، پس سیستم بیت کوین نیز وجود ندارد.
خلاصه:
تا اینجا، درمورد شبکه بیت کوین یاد گرفتید:
- شبکه بیت کوین یک شبکه همتا به همتا از نودهاست (کامپیوترهایی که نرم افزار بیت کوین را اجرا میکنند) که نیاز به وجود رهبری ندارند.
- در شبکه بیت کوین، هر نود بهصورت مستقل بررسی میکند که همه قوانین رعایت شده باشند.
- نودها تراکنشهای جدید را تایید میکنند.
- نودها یک کپی از بلاک چین را ذخیره میکنند (دفتر کل تراکنشهای تایید شده)
از آنجایی که همه نودها کار یکسانی را انجام میدهند هیچ سرور متمرکزی وجود ندارد.
برای اینکه تراکنشهای جدید به بلاک چین اضافه شوند، فرآیندی به نام استخراج یا ماینینگ “mining” را طی میکنند که توسط نوع خاصی از نودها به نام ماینرها “miners“ انجام میشود.
اما برای اینکه بفهمیم استخراج بیت کوین به چه صورت است، به یک راه میانبر نیاز داریم… با ایران بروکر همراه باشید.