اگر بخواهیم در یک جمله و به سادگی بیت کوین را تعریف کنیم، میتوانیم بگوییم بیت کوین درواقع یک برنامهی کامپیوتریست.
برنامههای کامپیوتری حاوی یک سری دستورالعمل و کد هستند که کامپیوتر با خوانش و اجرای آن عملکردی را انجام میدهد. به طور مثال این یک دستورالعمل است:
main( ) { printf("hello, world"); }
که خروجی آن به صورت hello world نمایش داده میشود.
کامپیوترها یا ابزارهایی که این برنامه را داشته باشند، میتوانند با یکدیگر در ارتباط باشند و همگی یک شبکه را تشکیل دهند. {درست مانند زمانی که ما از طریق اینترنت به یکدیگر متصل هستیم و شبکه جهانی اینترنت را تشکیل میدهیم.}
به هر کامپیوتری که برنامه بیت کوین را داشته باشد، یک نود یا گره گفته میشود.
یکی از اولین سوالاتی که پس از آشنایی با دنیای کریپتوکارنسی پیش میآید اینست که آیا برای استفاده از بیت کوین باید ابتدا برنامهی آن را نصب کرد؟
جواب منفیست. شما نیازی به داشتن تاریخچه کل تراکنشها ندارید و به سادگی میتوانید فقط تراکنش خود را وارد شبکه کنید. برنامههای دیگری مثل والتهای آنلاین تراکنش شما را گرفته و وارد شبکه میکنند. پس کاربران شبکه همانطوری که Wei Dai در پروتوکل b-money به دو دستهی کاربران عادی و سرور تقسیم کرده بود، در پروتوکل بیت کوین نیز به همین صورت است و به دو گروه کاربران عادی و نودها قابل دستهبندیست.
یا بهترست بپرسیم نودها چه کاری انجام میدهند؟
نودها در شبکه سه وظیفه را بر عهده دارند:
در ابتدای مقاله گفتیم که هر برنامه از یکسری کد یا دستورالعمل تشکیل شده که این کدها باعث عملکرد خاص آن برنامه میشوند. در شبکه بیت کوین قوانینی تعریف شدهاست که صحیح بودن یک تراکنش را مشخص میکند.
نودها برنامه ریزی شدهاند تا زمانی که تراکنشی وارد شبکه میشود، صحتسنجی انجام دهند و در صورت تطبیق، اجازه ثبت در بلاک چین یابد.
مثلا یک قانون اینست که پولی (بیت کوینی) که در حال خرج آن هستید، میبایست مساوی یا بیش تر از دارایی کیف پول شما باشد. (اگر ۰٫۰۰۹ بیت کوین دارید نمیتوانید خریدی ۰٫۰۱ بیت کوینی انجام دهید و تراکنش تصدیق نمیشود.)
یا یک مقدار مشخص را نمیتوان دو بار خرج نشود. مسالهای که به Double Spending مشهورست و یکی از چالشهای پولهای دیجیتالی محسوب میشد.
منظور از اطلاعات، تراکنشها هستند که باید به کل شبکه اعلام شوند. این اصلیترین و مهمترین کاریست که نودها انجام میدهند. هر نود با صحتسنجی و مخابرهی اطلاعات تراکنشهای خود، به شبکه کمک میکند تا تصویر کاملی تشکیل شود و اطلاعات ناقص نباشد.
هر نود دو نوع تراکنش را با سایر نودها به اشتراک میگذارد:
یک: تراکنشهایی که تازه به شبکه وارد شدهاند؛
دو: تراکنشهایی که تصدیق شده و به صورت بلوک (تراکنش گروهی) درآمدهاند.
تراکنشهای تصدیق شده (که بالاتر گفتیم به صورت بلوکیاند) به صورت یک فایل به نام بلاک چین درآمده و در آن تثبیت میشوند.
پس بلاک چین در حقیقت یک فایل از تراکنشهای صحیح است. تراکنشهایی که با قوانین بیت کوینی همخوانی دارد. هر نود یک کپی از این فایلها را دارد.
چرا این شبکه را غیرمتمرکز مینامیم؟
این شبکهای که توصیف کردیم را یک شبکه غیرمتمرکز یا Decentralized مینامیم؛ اما چرا؟
خب به دو دلیل؛ یکی اینکه همانطوری که از ماهیت آن مشخص است، یک مرکز مسئول کل شبکه نیست. همهی نودها دخیلاند و از آنجایی که هر کسی میتواند برنامه بیت کوین را نصب کرده و یک نود باشد، هیچ شخصی نیز تحت کنترل آن نیست. نتیجتا این شبکه مرکزگرا نیست.
دلیل دیگر هم اینکه همهی نودها از یک سری قوانین تبعیت میکنند. قوانینی که به صورت کد و دستورالعمل بر روی شبکه اعمال شده. به همین دلیل اشخاص بر اساس سلیقه و یا منفعت نمیتوانند آن را تغییر دهند.
میتوان گفت یکی از مهمترین اهداف و قلب ایدئولوژیهای بیت کوین نیز همین است. به همین خاطر به این شبکه، شبکهی غیرمتمرکز نیز گفته میشود.
جالب اینکه این تعریف بر مغز انسانها نیز صادق است؛
آیا مغز شما غیرمتمرکز میاندیشد یا متمرکز؟ :)
برای نگارش این مقاله از منابع زیر استفاده شدهاست: