بلاک چین چیست ؟
بلاک چین چیست؟ مشکلی که اکثر توضیحاتی که درباره بلاک چین (BlockChain) گفته میشود این است که جزئیات را بیشتر از آنچه اهمیت دارد ارائه میدهند،که این کار باعث گیج شدن افراد میشود. در عوض، در این مقاله قصد داریم برای شما یک توضیح ساده و غیر تخصصی در مورد بلاک چین که هرکسی میتواند درک کند، ارائه میدهیم.
جالب نبود اگر میتوانستید مدارک هویتی خودتان را درست کنید و هیچ نیازی هم به دولت یا سازمانهای مختلف نداشتید؟
یا اینکه توانایی جمع آوری و نگهداری دادههای مربوط به هر کاهوی کاشته شده داخل مزرعه را از لحظه برداشت از زمین تا فروشگاه داشتید؟
حتی بهتر از این، چه میشد اگر میتوانستید به تمام این دادهها و سیستم جمع آوری آنها اعتماد کنید و جلوی دستکاری اطلاعات توسط مجرمان را میگرفتید؟ بلاک چین در این زمینه میتواند کمک کند. بلاک چین (Blockchain) از دو کلمه Block (بلوک) و Chain (زنجیره) ایجاد شده است. این فناوری در حقیقت زنجیرهای از بلوکهاست.
در این مطلب به صورت کامل توضیح خواهم داد که بلاک چین چطور کار میکند.

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

بلاک چین چگونه کار میکند؟
فناوری بلاک چین احتمالا بهترین اختراع پس از اینترنت بوده است. این فناوری اجازه میدهد که بتوان بدون وجود یک نهاد مرکزی اقدام به تبادل ارزش کرد.
تصور کنید که شما و من روی آب و هوای فردای تهران با هم یک شرط ۵۰ هزار تومانی میبستیم. من میگفتم فردا هوا آفتابی است و شما میگفتید هوا بارانی است. در حال حاضر ۳ گزینه برای انجام چنین شرطی در اختیار داریم:
۱. میتوانیم به همدیگر اعتماد کنیم. اگر با هم دوست باشیم این راه خوبی برای مدیریت چنین شرایطی است. البته حتی دوست شما هم میتواند پولی پرداخت نکند.
۲. میتوانیم این شرطبندی را تبدیل به یک قرارداد کنیم. با وجود قرارداد طرفین تمایل بیشتری برای پرداخت پیدا میکنند. البته اگر یکی از طرفین نخواهد به قرارداد پایبند باشد، طرف برنده باید برای احقاق حق خود به مراجع قانونی مراجعه کند و هزینههای حقوقی را نیز پوشش دهد.
۳. ما میتوانیم سراغ طرف سومی برویم هر کدام از ما ۵۰۰۰۰ تومان به او بدهیم. در آخر او پول برنده را پرداخت میکند. البته این احتمال نیز وجود دارد که او با پول من و شما پا به فرار بگذارد.
بنابراین عملا ۲ گزینه دارید: اعتماد یا قرارداد.
هیچ کدام از اینها بهترین راهحل موجود نیستند
نمیتوانیم به غریبهها اعتماد کنیم و نمیتوان کسی را مجبور به اجرای قرارداد کنیم مگر با صرف پول و زمان. فناوری بلاک چین جالب است چرا که گزینه دیگری به ما میدهد که ارزان و سریع است.
بلاک چین اجازه میدهد تا با نوشتن چند خط کد، یک برنامه روی بلاک چین شروع به کار کند، که هر دو طرف ۵۰۰۰۰ تومان را برای آن برنامه ارسال میکنند. این برنامه ۱۰۰۰۰۰ تومان را پیش خود نگه میدارد و به صورت خودکار هوای فردا را از چند منبع بررسی میکند. مهم نیست بارانی یا آفتابی باشد برنامه به صورت خودکار پول را برای برنده ارسال میکند.هر طرف این معامله میتوانند منطق برنامه را بررسی کند و وقتی برنامه روی بلاک چین شروع به کار کند کسی نمیتواند برنامه را دستکاری یا متوقف کند.
این همه تلاش برای یک شرطبندی کوچک شاید زیادی باشد اما فرض کنید همین کار را برای خرید خانه یا خودرو انجام دهید.

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

ویتالیک بوترین سازنده اتریوم به خوبی عدم تمرکز گرایی بلاک چین را توضیح میدهد:
بلاک چینها از نظر کنترل غیرمتمرکز (کسی آنها را کنترل نمیکند) و از نظر معماری هم غیرمتمرکز (هیچ نقطه مرکزی برای نفوذ وجود ندارد) هستند اما از نظر منطقی تمرکزگرا هستند (باید اجماع شرکت کنندهها برای یک حالت وجود داشته باشد و سیستم مثل یک رایانه عمل میکند). نبوغ این پایگاه داده این است که نیازی به هیچ بانک یا شرکت مرکزی ندارد و شما مجبور نیستید به هیچ موسسه مالی اعتماد کنید. نیازی به هیچ واسطهای نیست.
اگر بخواهیم بیشتر توضیح دهیم، این پایگاه داده متعلق به هیچ فرد یا سازمانی نیست. این اطلاعات متعلق به همه افرادی است که یک کپی از آن اطلاعات را دارند. اما این بدان معنا نیست که هر یک از افرادی که دارای کپی هستند، کنترل دارند. علاوه بر این، ما این پایگاه داده را «تغییرناپذیر» مینامیم یا بهطور عام آن را غیرقابل برگشت میدانیم.

به عنوان مثال:
بیت کوین از مکانیزم اثبات کار استفاده میکند. کار آنها حل مسائل پیچیده ریاضی است که به آن اشاره شد. هزینه انجام شده برای این پردازش، باعث میشود تا جلوی درخواستهای جعلی به بلاک چین گرفته شود. همچنین با اینکه ۵۰ درصد شرکتکنندهها با صداقت روی زنجیره کار میکنند این افراد تصمیم میگیرند که کدام بلاک به بلاک چین بیت کوین اضافه شود. این اقدام باعث طولانیتر شدن زنجیره بلاک چین میشود و در دنیای بیت کوین، طولانیترین زنجیره به عنوان زنجیره درست در نظر گرفته میشود.
این یک رکورد جدید است. بخاطر تصمیمات مربوط به طراحی فناوری، دست بردن در رکوردهای این پایگاه داده غیرممکن است. اگر شخصی که یک یا چند نسخه از این اطلاعات را در رایانههای خود داشته باشد و سعی کند بهطور غیرقانونی آن را تغییر دهد، آن تغییرات توسط بسیاری از رایانههای دیگر در روند تأیید این تغییرات، رد میشود و دادهها با هم تطابق نخواهند داشت.
بلاک چینها میتوانند عمومی (هر کسی میتواند در آنها مشارکت کند) خصوصی یا مشارکتی باشند (افرادی که اجازه دسترسی به آن را دارند). مدل مشارکتی به گرههای شبکه اجازه میدهد تا تصمیم بگیرند چه واقعیتی در سیستم حاکم شود. این فناوری، در یک سیستمی که کسی به آن اعتماد ندارد، اعتماد را ایجاد میکند و باعث افزایش اعتبار اطلاعات میشود. این ترکیبی است که بلاک چین را قابل اعتبار میکند. مکانیزمهای مختلفی برای ایجاد اجماع وجود دارد:
اثبات هویت، اثبات فضا، الگوریتم تحمل خطای بیزانس، اثبات کار، اثبات سهام و … هر کدام از مکانیزمها روش خود را برای اجرای فرایند اجماع دارند.

اگر بانک وجود نداشته باشد، پس پول در کجا ذخیره میشود؟
یکی از بخشهای چالشبرانگیز این است که زمانی که ما در مورد خرید بیت کوین (Bitcoin) صحبت میکنیم، هیچ مخزنی از سکه وجود ندارد. این رکورد در پایگاه داده بهعنوان پول شناخته میشود. تصور کنید که اولین بار پول در این پایگاه داده توسط کسی به نام جسی (بنیانگذار این ارز دیجیتال جدید) قرار داده شده است و در قسمت توضیحات آن مینویسد: «در حال حاضر ۱ میلیون سکه وجود دارد». سپس جسی آنها را به تعداد زیادی از مردم میدهد و یک رکورد جدید برای هر تراکنش ایجاد میکند. جسی ۵۰۰ سکه را به بیل، ۱۰۰۰ سکه به سو داد.برای دریافت این سکهها، بیل و سو یک آدرس حساب مالی را به جسی دادند که معادل جزئیات حساب شما برای دریافت سپرده مستقیم با بانک شما است.
بیل و سو هر یک کدهای طولانی و بسیار محرمانه دارند که به آنها مالکیت رکورد حساب مالی خودشان را میدهد. بهاینترتیب فقط آنها میتوانند رکورد جدیدی را با سکههایی که به آنها ارسال شده است، ایجاد کنند. هنگامیکه بیل یک رکورد جدید را ایجاد میکند و میگوید ۵۰ سکه را در حساب سو قرار داده است، از آن به بعد دیگر نمیتواند کنترل کند که این سکهها به کجا روند. فقط سو میتواند روی این سکهها کنترل داشته باشد.
اینگونه است که میلیونها نفر میتوانند یک کپی از این اطلاعات را بدون اینکه قادر به اضافه کردن رکورد جدیدی مربوط به هر یک از ۱ میلیون سکه دیگر که در این پایگاه داده وجود دارد، داشته باشند.

مزایا و چالشهای بلاک چین
حالا که با نحوه کار بلاک چین آشنا شدید اجازه بدهید نگاهی کوتاه به دلایل جذابیت بلاک چین بیندازیم:
- شما کنترل کامل روی دارایی خود دارید. هیچ شخص سومی برای نگهداری دارایی شما وجود ندارد و کسی نمیتواند دسترسی شما را محدود سازد.
- هزینه انتقال دارایی از هر نقطه روی زمین خیلی کم است. این امر اجازه پرداختهای خرد را میدهد.
- دارایی را میتوانید در چند دقیقه جابهجا کنید و تراکنش به جای چند روز یا هفته، بعد از چند ساعت کاملا امن خواهد بود.
- هر کسی در هر زمانی میتواند هر تراکنش ساخته شده روی بلاک چین را تایید کند و این باعث افزایش شفافیت میشود.
- این امکان وجود دارد تا از فناوری بلاک چین برای ایجاد اپلیکیشنهای غیرمتمرکز استفاده کرد که میتوانند اطلاعات را مدیریت و داراییها را به صورت امن و سریع منتقل سازند.
هر چند یک سری چالشها نیز بر سر راه بلاک چین وجود دارد:
- تراکنشها را میتوان به صورت ناشناس ارسال و دریافت کرد.
این موضوع از حریم شخصی دفاع میکند اما اجازه فعالیتهای غیرقانونی را نیز درون شبکه میدهد. - هر چند صرافیهای زیادی ظهور کردهاند و محبوبیت ارزهای دیجیتال در حال افزایش است.
اما معامله کالا و خدمات با بیت کوین چندان آسان نیست. - بیت کوین هم مثل خیلی از ارزهای دیجیتال دیگر، از نوسان قیمت زیادی رنج میبرد.
- بیت کوینهای زیادی در بازار وجود ندارند و تقاضا نیز در بازار مرتب تغییر میکند.
قیمت بیت کوین ثباتی ندارد و بر اثر رویدادهای مختلف در صنعت ارز رمز پایه تغییر میکند.
به طور کلی، فناوری بلاک چین پتانسیل دگرگون کردن صنایع مختلفی را دارد، مثل:
تبلیغات و توزیع انرژی. قدرت آن در ماهیت غیرمتمرکزش و توانایی آن در حذف نیاز به واسطه است.
موارد جدید استفاده مرتب در حال ظهور هستند مثل: ایجاد یک بستر کاملا غیرمتمرکز برای ایجاد قراردادهای هوشمند مثل:
اتریوم. اما باید این را در نظر داشت که این فناوری در مراحل اولیه خود قرار دارد. ابزارهای جدید هر روز برای بهبود امنیت بلاک چین در حال توسعه هستند که امکانات، ابزارها و سرویسهای مختلفی را عرضه میکنند.
فراتر از بانکداری
در این مرحله، ممکن است فکر کنید که به نظر نمیآید این پایگاه داده بتواند کل دنیا را تغییر دهد. این فقط یک راه برای بررسی مالکیت اطلاعاتی دیجیتالی است، حتی اگر نسخههای یکسان وجود داشته باشد. آیا این یک برداشت درست از این موضوع است؟
اگر در مورد این جمله به اندازه کافی فکر کنید، متوجه خواهید شد که این مسئله چقدر بزرگ است. تا همین امروز، یک نسخه از اطلاعات دیجیتال از دیگری غیرقابل تشخیص بود. اگر یک MP3 بتواند بهعنوان ارز استفاده شود، هیچ راهی برای گفتن اینکه نسخهای از “Madonna – Like a Prayer.mp3” واقعی است و باید برای آن پول پرداخت شود و کدام کپی است، وجود ندارد. کافی است بگوییم قبل از این تکنولوژی، وجود یک سکه دیجیتال امکانپذیر نبود. یک نفر میتوانست یک میلیون بار سکه را کپی کند و یک میلیونر شود.
با آن کارهای بنیادی که توضیح داده شد، میخواهیم چند مثال واقعی در جهان به شما بیاموزیم که چگونه این فناوری واقعا میتواند جهان را تغییر دهد. این نمونهها توسط پایگاه داده مشترک ایجاد شدهاند، که قراردادهایی را با استفاده از «قراردادهای هوشمند» مرتبط میکنند. جزئیات قراردادهای هوشمند در اینجا مورد بحث قرار نخواهد گرفت و در مقاله قرارداد هوشمند که به تازگی در وبلاگ پیمنت۲۴ منتشر شده است میتوانید از جزئیات آن اگاه شوید، اما این قراردادها پارامترهایی را تعیین میکند که چه زمانی،
چرا و چگونه یک رکورد جدید در پایگاه داده ایجاد میشود.

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

سیستم چگونه میتواند به تراکنشهای ورودی اعتماد کند؟
سیستم کل تراکنشهای قبلی مرتبط با کیف پولی را که شما برای ارسال بیت کوین از طریق رفرنسهای ورودی استفاده کردهاید،مورد بررسی قرار میدهد. برای سرعت دادن به فرایند تایید تراکنشها، یک ذخیره خاص از تراکنشهای خرج نشده درون نودهای شبکه نگهداری میشود. به لطف این بررسی امنیتی، غیر ممکن است که بتوان بیت کوینها را دوباره خرج کرد.
مالک بیت کوین بودن یعنی تراکنشهایی که درون دفتر کل نوشته شدهاند و به آدرس کیف پول شما مرتبط هستند و تا حالا به عنوان ورودی استفاده نشدهاند. تمام کدهایی که برای انجام تراکنشها در شبکه بیت کوین مورد استفاده قرار میگیرد، منبع باز هستند. یعنی هر کسی با داشتن یک رایانه و دسترسی به اینترنت میتواند عملیات تراکنشها را صورت دهد. البته اگر در ارسال پیام تراکنشها اشتباهی صورت بگیرد، بیت کوینها برای همیشه از دست رفتهاند.
از آنجا که شبکه به صورت توزیع شده است، هیچ پشتیبان مشتری یا کسی که بتوان با او تماس گرفت، وجود ندارد تا بتوانید تراکنش از دست رفته را دوباره بازیابی کنید و رمز عبور کیف خود را دوباره ایجاد کنید. به همین دلیل، بهتر است از ورژنهای رسمی نرم افزار کیف پول بیت کوین مثل: Bitcoin Core برای نگهداری بیت کوین استفاده کنید و رمز عبور و کلید خصوصی خود را نیز در محلی امن نگه دارید.
اما آیا واقعا امن است و چرا به آن بلاک چین میگویند؟
هر کسی میتواند از طریق ارتباط ناشناس به شبکه بیت کوین دسترسی داشته باشد و تراکنشها را دریافت یا ارسال کند و فقط کلید عمومی خود را به نمایش میگذارد. اما اگر کسی از یک کلید عمومی بارها استفاده کند، این امکان وجود دارد تا تمام تراکنشها را با مالک آن ارتباط داد. شبکه بیت کوین اجازه میدهد هر چقدر که میخواهید کیف پول ایجاد کنید و هر کدام کلید عمومی و خصوصی خود را دارند. به این صورت میتوانید از طریق کیف پولهای مختلف، تراکنشها را دریافت و ارسال کنید و هیچ کس هم نمیتواند متوجه شود که شما مالک همه این کلیدهای خصوصی هستید، مگر اینکه همه بیت کوینهای دریافتی را به یک کیف پول واحد ارسال کنید.
تعداد کل کیف پولهایی که میتوان در شبکه بیت کوین ایجاد کرد برابر است با ۲۱۶۰ یا 1461501637330902918203684832716283019655932542976 این عدد بزرگ از شبکه محافظت میکند و به هر کسی هم اجازه میدهد تا کیف پول داشته باشد.
البته با همه این اوصاف، همچنان یک مشکل امنیتی بزرگ وجود دارد که میتواند تمام بیت کوینها را بعد از خرج شدن، دوباره بازخوانی کند. تراکنشها از نودی به نود دیگر در شبکه گذر میکنند. بنابراین ترتیب رسیدن ۲ تراکنش به هر نود میتواند متفاوت باشد. یک هکر میتواند تراکنشی را ارسال کند، منتظر طرف مقابل باشد تا کالا را ارسال کند و سپس یک تراکنش معکوس به حساب خودش انجام دهد. در این مورد، بعضی نودها میتوانند دومین تراکنش را قبل از اینکه اولین تراکنش غیرمجاز تلقی شود، دریافت کنند.