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

مطالبی که در این مقاله بررسی خواهیم کرد:

  • Blockchain یا بلاکچین چیست؟
  • مثال ساده از شبکه بلاکچین
  • تاریخچه بلاکچین
  • کاربرد بلاکچین چیست؟
  • 4 ویژگی اصلی بلاکچین چیست؟
  • آیا بلاک‌چین همان ارز دیجیتالی بیت‌کوین است؟
  • استخراج بیت‌کوین در بلاکچین چگونه کار می‌کند؟
  • مزایا و معایب فناوری بلاکچین
  • زبان برنامه نویسی مناسب برای بلاکچین چیست؟

Blockchain یا بلاکچین چیست؟

همانطور که در بالا اشاره شد، Blockchain ترکیبی از کلمات Block (بلوک) و Chain (زنجیره)، به معنی زنجیره بلوکی است. بلاکچین، یک برنامه یا یک شرکت خاصی نیست بلکه یک فناوری غیرمتمرکز است. یعنی اطلاعات و داده‌ها به‌صورت متمرکز در سرورهای یک شرکت قرار نگرفته است.

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

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

هر بخشی از داده و اطلاعات شما در یک بلوک به‌صورت رمزگذاری (Encryption) ذخیره شده است و این بلوک‌ها به‌صورت زنجیر به هم وصل هستند. هر شخصی که در بلاکچین قرار دارد می‌تواند این داده‌ها را مشاهده کند، چون به‌صورت غیرمتمرکز در شبکه بلاکچین وجود دارند. اما امکان دستکاری داده‌ها وجود ندارند.

از بلاکچین به عنوان وب نسل 3 نیز یاد می‌شود. برای آشنایی بیشتر با وب 3 مقاله زیر را مطالعه کنید:

مثال ساده از شبکه بلاکچین

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

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

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

تاریخچه بلاکچین

اکنون که دانستیم بلاکچین چیست؟ به سراغ تاریخچه بلاکچین می‌رویم. کار روی زنجیره‌های بلوکی (بلاک‌چین)، اولین بار در سال 1991 توسط «استوارت هابر» و «اسکات استورنتا» مطرح شد. در سال 1992 نیز اشخاصی به نام‌های «بایر»، «هابر» و استورنتا درخت درهم‌سازی را به طراحی متصل کردند، که باعث می‌شد چندین سند در یک بلوک ذخیره شود.

پایگاه‌داده غیرمتمرکز بلاکچین، به‌صورت خودمختار مدیریت می‌شود و اشخاص خاصی صاحبان این فناوری نیستند. این فناوری از یک شبکه همتابه‌همتا (Peer-to-Peer) و یک سرور زمان‌بندی توزیع شده استفاده می‌کند.

شبکه همتا‌به‌همتا، متشکل از کامپیوترهایی است که به‌صورت توزیع شده در سطح اینترنت هستند. یعنی یک سرور مرکزی برای اشتراک فایل بین کامپیوترها وجود ندارد. وقتی یک فایل از کامپیوتری به کامپیوتر دیگر ارسال می‌شود، به‌صورت مستقیم و بدون سرور واسط انجام می‌شود. در حقیقت هر کامپیوتر به‌صورت همزمان، هم سرور (Server) و هم کاربر (Client) محسوب می‌شود.

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

کاربرد بلاکچین چیست؟

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

امروزه از بلاکچین در حوزه‌های زیر استفاده می‌شود:

  1. ارز دیجیتال (Digital currency)
  2. قرارداد هوشمند
  3. بورس اوراق بهادار
  4. ثبت و نگهداری سوابق
  5. اینترنت اشیاء
  6. رای‌گیری‌های دیجیتال
  7. بیمه و بانکداری
  8. پزشکی
  9. دفاتر اسناد رسمی
  10. سیستم‌های آموزشی
  11. پیام‌رسان‌ها
  12. و...

4 ویژگی اصلی بلاکچین چیست؟

در قسمت بالا دانستیم که بلاکچین چیست؟ و با کاربرد بلاکچین نیز آشنا شدیم. در این قسمت چهار ویژگی اصلی بلاکچین را برای شما بیان می‌کنیم:

  1. تمرکز زدایی
  2. رمزگذاری شده
  3. شفافیت
  4. تغییر ناپذیری

تمرکز زدایی

سیستم غیر متمرکز یا تمرکز زدایی باعث شده است که امنیت اطلاعات افزایش یابد و واسطه‌ها حذف شوند. برای مثال سیستم بانکی یک پایگاه‌داده متمرکز است. داده‌ها در سرورهای بانکی متمرکز شده‌اند و نقل و انتقالات توسط سیستم بانکی مدیریت و کنترل می‌شود.

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

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

رمزگذاری شده

داده‌ها در فناوری بلاکچین به‌صورت رمزگذاری (Encryption) هستند و فقط اشخاصی که کلید آن را در اختیار دارند می‌توانند به این اطلاعات دسترسی پیدا کنند. دو جزء اصلی برای تبادل اطلاعات وجود دارد:

رمزگذاری (Encryption): تبدیل یک پیام متنی ساده به شکل رمز، به‌طوری که اشخاص دیگر نتوانند آن را مشاهده کنند. پیامی که ارسال می‌شود به‌صورت رمزگذاری شده به شخص دیگر ارسال می‌شود.

رمزگشایی (Decryption): تبدیل پیام رمزگذاری شده به پیام متنی ساده، به‌طوری که گیرنده پیام بتواند آن را مشاهده کند. موقعی که پیامی دریافت می‌شود، رمزگشایی می‌شود.

بگذارید با یک مثال ساده این مورد را بیان کنیم. اگر یک پیام‌رسان مبتنی بر بلاکچین باشد، وقتی یک پیامی برای شخص دیگر ارسال کنیم رمزگذاری شده ارسال می‌شود. برای مثال: حرف «س» به‌صورت «01»، حرف «ل» به‌صورت «02»، حرف «الف» به‌صورت «03» و حرف «م» به‌صورت «04» ارسال می‌شود

وقتی کلمه «سلام» را به کسی ارسال می‌کنیم، این کلمه به‌صورت «01020304» رمزگذاری می‌شود و شخص ثالث (نفر سوم) نمی‌تواند محتوای پیام شما را متوجه شود. در آن سوی پیام‌رسان، فرد دریافت کننده پیام، کلید این گفتگو را در اختیار دارد و می‌تواند رمز «01020304» را رمزگشایی کند و کلمه «سلام» را مشاهده کند. بدین صورت داده‌ها امن هستند و اشخاص دیگر متوجه نمی‌شوند.

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

شفافیت

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

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

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

برای اینکه پول از یک حساب برداشت شود و یا انتقال داده شود، باید آدرس خصوصی آن را در اختیار داشته باشید که فقط در اختیار صاحب آن حساب است. اگر آدرس خصوصی لو برود، می‌توان حساب شخص را خالی کرد (امنیت).

این کار مانند آن است که شماره کارت خود را در اختیار اشخاص دیگر قرار می‌دهید تا برای شما پول واریز کنند. بدون آن که نام صاحب حساب را ببینند. اما نمی‌توانند از حساب شما پول برداشت کنند مگر اینکه رمز شما را در اختیار داشته باشند.

تغییر ناپذیری

وقتی یک بلوک وارد زنجیزه شد، دیگر امکان تغییر آن وجود ندارد. این قابلیت با هَش (نوعی رمزنگاری) انجام می‌شود. برای مثال وقتی یک متنی را می‌نویسید، چه متن کوتاه باشد چه طولانی باشد، با 64 کاراکتر Hash (رمزنگاری) می‌شود.

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

اگر هکری بخواهد بلاکچین را تغییر دهد، باید کنترل بیش از 50 درصد گره را در اختیار داشته باشد که با وجود میلیون گره در این فناوری، عملا کار غیر ممکنی خواهد بود. این کار نشان از امنیت بالای این فناوری است.

آیا بلاک‌چین همان ارز دیجیتالی بیت‌کوین است؟

بلاک‌چین در مقابل بیت‌کوین

وقتی صحبت از بلاکچین می‌شود، برخی از افراد فکر می‌کنند که بلاک‌چین (Blockchain) همان بیت‌کوین (Bitcoin) است، در حالی که چنین نیست. در حقیقت، بیت‌کوین از فناوری بلاک‌چین استفاده می‌کند. این تفکر از آنجایی مطرح شد که «ساتوشی ناکاموتو» خالق بیت‌کوین، برای اینکه در این ارز دیجیتال واسطه‌ها حذف شوند، پایگاه‌داده بلاک‌چین را طراحی کرد.

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

استخراج بیت‌کوین در بلاکچین چگونه کار می‌کند؟

همانطور که در قسمت بلاکچین چیست؟ اشاره شد، بلاکچین از بلوک‌هایی تشکیل شده است که به‌صورت زنجیر به هم متصل شده‌اند. هر بلوک شامل سه بخش است:

  1. داده (Data)
  2. هَش جدید (Hash)
  3. هَش بلوک قبلی

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

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

در شبکه بلاکچین گره‌هایی (Nodes) وجود دارند. این گره‌ها همان رایانه یا کامپیوترهایی هستند که در شبکه بلاکچین می‌خواهند فعالیت کنند. یک کپی از همه‌ی داده‌ها برای هر گرهی وجود دارد که می‌توانند با حل مسائل الگوریتمی از این داده‌ها بلوک‌ها را به‌صورت زنجیره هم وصل کنند.

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

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

مزایا و معایب فناوری بلاکچین

بعد از اینکه دانستیم بلاکچین چیست و چه کاربرذی دارد؟ به سراغ مزایا و معایب بلاکچین می‌رویم:

مزایای استفاده از بلاکچین چیست؟

  1. افزایش صحت و دقت با حذف دخالت انسانی.
  2. کاهش هزینه‌ها با حذف شخص واسط.
  3. افزایش امنیت اطلاعات ذخیره شده.
  4. تراکنش‌های مالی امن و خصوصی.
  5. و...

معایب استفاده از بلاکچین چیست؟

  1. محدودیت در ذخیره‌سازی اطلاعات.
  2. پیچیدگی در اصلاح و ویرایش داده‌ها بعد از ذخیره‌سازی.
  3. کم بازده: به دلیل سختی در شبکه. برای مثال در هر 10 دقیقه یک نفر پاداش استخراج دریافت می‌کند.
  4. از دست رفتن اطلاعات: برای مشخص شدن مالکیت رمز ارزها از یک کلید عمومی استفاده می‌شود که این کلید را می‌توان در اختیار همه قرار داد تا تراکنش انجام دهند. همچنین از یک کلید خصوصی استفاده می‌شود که فقط خود آن شخص باید به آن دسترسی داشته باشد. در صورتی که کلید خصوصی گم یا فراموش شود، سرمایه شخص نیز از دست می‌رود چون قابل بازیابی نیست.
  5. و...

زبان برنامه نویسی مناسب برای بلاکچین چیست؟

زبان برنامه نویسی سالیدیتی (Solidity Programming Language)

بهترین زبان برای ساخت برنامه‌های مبتنی بر بلاکچین، زبان برنامه نویسی سالیدیتی (Solidity) است. زبان سالیدیتی هر سال محبوب‌ار می‌شود و کاربرد اصلی آن در حوزه بلاکچین است.

جمع‌بندی

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