زنجیره‌بلوک: مفاهیم کلیدی

زنجیره‌بلوک در سال 2008 میلادی توسط شخص یا گروه ساتوشی ناکاموتو و در مقاله‌ای با عنوان «بیت‌کوین: سامانه بی‌واسطه الکترونیک وجه نقد» به جهان معرفی شد. از آن زمان تا به حال، باوجوداینکه تلاش‌های زیادی برای ارائه موجودیتی بهتر از بیت‌کوین شده است، بیت‌کوین کماکان یکه‌تازی می‌کند. درهرحال، هسته اصلی تمامی این تلاش‌ها پروتکل و راه‌کاری بود که ساتوشی ناکاموتو ارائه کرد و زنجیره‌بلوک نام گرفت. برای درک بهتر چیستی زنجیره‌بلوک ابتدا لازم است که با چهار ایده و مفهوم کلیدی مرتبط با آن آشنا شوید تا بتوانید تعریفی دقیق‌تر و جامع‌تر از آن داشته باشید. درواقع زنجیره‌بلوک چیزی فراتر از ادغام این مفاهیم نیست. این چهار مفهوم عبارت‌اند از: دفترکل توزیع‌شده، رمزنگاری، اجماع و قرارداد هوشمند. به دفترکل توزیع‌شده در نوشتار قبلی پرداخته شد. با ما همراه باشید تا سه مفهوم دیگر را بررسی کنیم.رمزنگاریروش رمزنگاری مورداستفاده در زنجیره‌بلوک همان روش رمزنگاری مورداستفاده در سامانه‌های روز دنیا است. ازاین‌رو نمی‌توان آن را موضوعی جدید و مبهم که همراه با فناوری زنجیره‌بلوک ظهور پیدا کرده است، دانست؛ اما چون یکی از کلیدی‌ترین مفاهیم مرتبط با زنجیره‌بلوک به شمار می‌آید، آن را بررسی می‌کنیمبرای دانستن ماهیت رمزنگاری ابتدا باید مفاهیم تابع هش، کلید عمومی و کلید خصوصی بررسی شود تا پس از آن بتوان به رمزنگاری و کاربرد اصلی آن در زنجیره‌بلوک، «امضای دیجیتال»، پرداخت.تابع هش و الگوریتم رمزنگاری SHA-256تابع هش، تابعی است که اطلاعات از هر نوع و در هراندازه‌ای را به اطلاعاتی در اندازه مشخص و از یک نوع خاص تبدیل می‌کند. هر ورودی مشخص یک خروجی منحصربه‌فرد داشته و اگر ورودی به این تابع یکسان باشد خروجی هم مشابه خواهد بود. از طرفی اندکی تغییر در ورودی منجر به تغییر اساسی در خروجی می‌شود. همچنین تابع هش یک تابع یک‌طرفه است؛ بدین معنی که رسیدن از خروجی به ورودی در آن کاری به‌شدت دشوار است و در عمل و با پردازنده‌های موجود تقریباً غیرممکن هست.در فناوری زنجیره‌بلوک مورداستفاده در رمزارز بیت‌کوین، نام خروجی استاندارد تابع هش، SHA-256 است که یک کد دویست‌وپنجاه‌وشش رقمی متشکل از صفر و یک می‌باشد. هر ورودی (چند تراکنش و غیره) تبدیل به این کد دویست‌وپنجاه‌وشش رقمی می‌شود. به‌جای عبارت «خروجی تابع هش» به‌اختصار از واژه «هش» استفاده می‌شود.کلید عمومی، کلید خصوصی و امضای دیجیتالهمان‌طور که اشاره شد، امنیت زنجیره‌بلوک با رمزنگاری تامین می‌شود. رمزنگاری در زنجیره‌بلوک با زوج‌کلید عمومی و خصوصی انجام می‌شود. کلید عمومی که یک کد دیجیتال است، نقش حساب کاربری هر عضو در شبکه را ایفا می‌کند و دردسترس همه اعضای شبکه هست. کلید خصوصی که زوجِ کلیدِ عمومی محسوب می‌شود، تنها در اختیار مالک هر کلید عمومی (حساب کاربری) است؛ درواقع هر کس که کلید خصوصی مربوط به یک کلید عمومی را در اختیار داشته باشد، مالک آن محسوب می‌شود.کلید خصوصی تنها راه اثبات مالکیت کلید عمومی زوج آن است و نباید فاش شود. برای رسیدن به هدفِ «اثبات در اختیار داشتن کلید خصوصی بدون نیاز به فاش شدن آن» از امضای دیجیتال استفاده می‌شود. امضای دیجیتال درواقع هش دسته‌ای از اطلاعات شامل کلید خصوصی و غیره است که با استفاده از روابط ریاضی می‌تواند اثبات کند که ایجادکننده تراکنش، کلید خصوصی حساب کاربری که قرار است از آن دارایی برداشت شود را در اختیار دارد (بدون نیاز به افشای کلید خصوصی).اجماعدر زنجیره‌بلوک‌ها سامانه طوری طراحی شده است که نیازی به تائید طرف سوم یکتا در تراکنش‌ها وجود نداشته باشد که اصطلاحاً به این نوع سامانه‌ها، همتا-به-همتا یا بی‌واسطه نیز می‌گویند. در سامانه‌های ثبت تراکنش بانکی امروزی وظیفه تائید تراکنش‌ها با بانک به‌عنوان طرف سوم است. به‌طور مثال وقتی می‌خواهیم پولی را از حساب خود به‌حساب شخص دیگر واریز کنیم، بانک پول را از حساب ما برداشته و به‌حساب دیگری انتقال می‌دهد و در حقیقت به‌واسطه اعتبار بانک، طرفین معامله به بانک اعتماد می‌کنند؛ حال‌آنکه در سامانه‌های زنجیره‌بلوکی، نیاز به وجود چنین طرف سوم مورداعتمادی نیست و اعضای شبکه، همگی، بر سر درستی یک تراکنش، ثبت و اجرای آن به اجماع می‌رسند. اجماع به معنی توافق اعضای سامانه بر سر موضوعات زیر است:· آیا تراکنش واردشده توسط خود صاحب حساب انجام شده است؟ یا توسط یک فرد دیگر (سارق)؟· آیا بر اساس سوابق، انجام تراکنش مقدور است؟ به‌عنوان‌مثال: آیا موجودی ایجادکننده تراکنش برای انجام تراکنش کافی است؟· چه کسی تراکنش را ثبت کند؟ به بیان بهتر چه کسی کارمزد ثبت تراکنش را دریافت کند؟ به‌عنوان‌مثال: در حال حاضر ثبت‌کننده هر بلوک (مجموعه‌ای از تراکنش‌ها) در سامانه بیت‌کوین دوازده‌ونیم بیت‌کوین کارمزد دریافت می‌کند که نشان از اهمیت توافق بر سر ثبت‌کننده تراکنش دارد.· کدام تراکنش زودتر ثبت شود؟الگوریتم‌های زیادی برای اجماع در زنجیره‌بلوک استفاده می‌شود که از مهم‌ترین و پرکاربردترین آن‌ها می‌توان به اثباتِ کار که وابسته به توان پردازشی است و تحمل خطای بیزانس اشاره کرد.قراردادهای هوشمندیکی از مهم‌ترین مفاهیم مرتبط با زنجیره‌بلوک که به‌همراه آن عرضه و توسعه داده شده است، قراردادهای هوشمند است و به دلیل همین رابطه تنگاتنگ میان این دو، اکثراً قراردادهای هوشمند را از خواص فناوری زنجیره‌بلوک می‌دانند و نه از کاربردهای آن. در این قراردادها به‌محض سررسید موعد مقرر، قرارداد به‌صورت خودکار تعهدات طرفین و میزان تحقق آن را بررسی می‌کند و نیازی به پیگیری و یا انجام عملیات توسط طرفین قرارداد نیست. به‌طور مثال در قرارداد وام، مبلغ موردنظر به‌صورت خودکار از وام‌گیرنده به وام‌دهنده انتقال می‌یابد و یا پس از پرداخت نشدن چند قسط، فرد به‌طور خودکار بازخواست می‌شود. انجام خودکار این فرآیندها به میزان چشمگیری باعث صرفه‌جویی در زمان و هزینه می‌شود. لازمه اجرای چنین ایده‌ای یک دفترکل مرکزی و قابل نظارت از طرف همه نهادهاست که زنجیره‌بلوک، آن را فراهم می‌کند. همچنین اگر پرداخت‌ها در این قراردادها از طریق رمزارز انجام شود، فرآیند، شفاف‌تر و قابل‌پیگیری‌‌تر شده و صرفه‌جویی هرچه بیش‌تر حاصل می‌گردد. لازم به ذکر است، زنجیره‌بلوک بیت‌کوین از قرارداد هوشمند بی‌بهره است و این مفهوم بعدا به زنجیره‌بلوک اضافه شد.با ما همراه باشید تا در آینده عمیق‌تر به این فناوری بپردازیم.