به زبان ساده بلاک چین یک نوع سیستم ثبت اطلاعات و گزارش است.
تفاوت آن با سیستمهای دیگر این است که اطلاعات ذخیرهشده روی این نوع سیستم، میان همه اعضای یک شبکه به اشتراک گذاشته میشود.
بلاک چین یک فناوری جدید است که امکان ثبت اطلاعات به صورت دائمی را فراهم میکند که با استفاده از رمزنگاری و توزیع دادهها، امکان هک، حذف و دستکاری اطلاعات ثبتشده، تقریباً از بین میرود.
مفهوم بلاک چین اولین بار با پیدایش بیت کوین به وجود آمد و پادشاه ارزهای دیجیتال از این راهکار برای ذخیره اطلاعات مربوط به دارایی کاربران بهره برد.
برای مثال من در یک جمع ۱۰۰ نفری، برگهای حاوی اطلاعات را بالا میگیرم و همه با تلفن همراهشان از آن برگه عکس میگیرند.
حالا اگر من آن اطلاعات را نابود کنم، یا تغییری در آن بدهم، دیگر برای آن جمع قابل پذیرش نیست، چون آنها یک کپی از نسخه اصلی را دارند، مگر اینکه موبایل همه را بگیرم و آن را حذف کنم.
این جمعی که از آن صحبت کردیم میتواند چندین میلیون نفر باشد که در بیت کوین و اتریوم و سایر ارزهای دیجیتال بلاک چینی شاهد آن هستیم و یا به صورت خصوصی برای یک گروه خاص استفاده شود.
بلاک چین ها میتوانند به صورت خصوصی و برای اهداف خاص در یک نهاد یا سازمان مورد استفاده قرار بگیرند که به آن بلاک چین سازمانی (Enterprise Blockchain) هم میگویند.
البته به عقیده بسیاری از کارشناسان، بلاک چینهای سازمانی نمیتوانند هدف اصلی این فناوری یعنی تمرکز زدایی را به ارمغان بیاورند.
پیدایش و فناوری بلاک چین
بلاک چین چگونه کار میکند؟
واژه بلاک چین (BlockChain) ترکیبی از دو کلمه Block (بلوک) و Chain (زنجیره) است.
این فناوری در حقیقت زنجیرهای از بلوکها است.
در هر بلاک هر اطلاعاتی میتواند ثبت شود، از جرم و جنایت های یک فرد تا جزئیات تراکنش های یک شبکه پولی مانند بیت کوین.
اطلاعات در بلاک ها ثبت میشوند و بلاک ها با هم به صورت زنجیرهای مرتبط میشوند.
این زنجیره، بلاک چین را تشکیل میدهد، ساختار گرافیکی بلاک چین به صورت زیر می باشد.
برای مثال بلاک چین زیر را در نظر بگیرید، هر بلاک یک کشور را نشان میدهد که نام شهرهای آن کشور در آن ثبت شده است.
هر کدام از این بلاک ها چیزی به نام هش (Hash) دارند.
یک هش رشتهای متنی است که از یک تابع ریاضی خاص تولید شده و کاربرد آن جلوگیری از تقلب در سیستم است.
هش یک داده یا ورودی، همیشه ثابت است.
استفاده از راهکار هش باعث میشود تا از تقلب و تغییر اطلاعات ثبت شده روی بلاک چین جلوگیری به عمل آید.
برای کسب اطلاعات بیشتر در مورد هشینگ می توانید به مقاله ی مربوط به آن در همیار گلدبازار مراجعه کنید.
مثلاً در عکس بالا برای بلاک ایران که حاوی اطلاعات اسم شهر های تهران، اصفهان و تبریز است، هش بلاک NYLAC است.
در بلاک چین، بلاک ها علاوه بر اینکه خودشان یک هش دارند، حاوی هش بلاک قبلی هم هستند.
کوچکترین تغییر در اطلاعات یک بلاک، هش آن را به طور کلی تغییر میدهد و بلاک چین را غیر معتبر میسازد.
مثلاً اگر یک کاراکتر به اطلاعات اسم شهرهای ایران اضافه شود، هش بلاک تغییر میکند و در نتیجه بلاک های بعدی هم غیر معتبر خواهند شد.
اگر کسی محتوای یک بلاک را تغییر دهد و هش بلاکهای بعدی را به روزرسانی کند، چه میشود؟ این امکان وجود دارد اما راهکار توزیع در بلاک چین، این مشکل را حل میکند.
دادههای بلاک چین در یک کامپیوتر یا سرور خاص ذخیره نمیشوند، هر کامپیوتر یا سیستمی که به شبکه وصل شود، یک نسخه از اطلاعات را دریافت میکند.
به هر کامپیوتری که به شبکه متصل میشود و یک کپی از بلاک چین را دریافت میکند، نود (Node) میگویند.
وقتی به عنوان نود به یک بلاک چین متصل میشوید، یک نسخه از کل داده های آن را دریافت میکنید و هیچ تغییری در اطلاعت امکان پذیر نیست، مگر اینکه اکثریت با آن موافق باشند.
فناوری بلاک چین به خودی خود یک فناوری بنیادی نیست، بلکه مجموعه ای از فرایند های هش گذاری، رمزنگاری، توزیع جمعی و… است.
قبل از بلاک چین، دفاتر کل توزیع شده وجود داشتند اما بلاک چین با ساختار بلاکی خود، فناوری دفتر کل توزیع شده را بهبود داده است.
برای کسب اطلاعات بیشتر در مورد نود می توانید به مقاله ی مربوط به آن در همیار گلدبازار مراجعه کنید.
بلاک چین از دیدگاه فنی و مقایسه با ویکیپدیا
بلاک چین را یک به عنوان بایگانی که اطلاعات روی آن ثبت می شوند، در نظر بگیرید.
شاید یک بلاک چین با چیزهایی که با آن بیشتر آشنا هستید خیلی تفاوت نداشته باشد، مثل ویکیپدیا.
با استفاده از یک بلاک چین افراد زیادی میتوانند سوابق مختلفی را به یک نوع بایگانی اطلاعات وارد کنند و همچنین کاربران میتوانند چگونگی ثبت و به روزرسانی اطلاعات را کنترل کنند.
ساختار و نوع کار این فناوری خیلی با نوع کار وب سایت ویکیپدیا تفاوت ندارد، مقالات وبسایت دانشنامه آنلاین ویکیپدیا هم محصول یک نویسنده نیستند.
هر کسی میتواند با رعایت قوانین ویکیپدیا، در این سایت مطلب منتشر کند، بنابراین در ویکیپدیا هم فقط یک فرد اطلاعات را کنترل نمیکند.
با این حال، با بررسیهای عمیقتر، تفاوت هایی که باعث میشود فناوری بلاک چین منحصر به فرد باشد، روشن میشود.
در حالی که هر دو در شبکههای توزیعشده (اینترنت) اجرا میشوند، ویکیپدیا در شبکه جهانی وب (WWW)، با استفاده از یک مدل کلاینت سرورطراحی شده است.
این یعنی در ویکیپدیا، داده ها روی سرور متمرکز ذخیره میشوند، حتی اگر کاربران هم نخواهند، یک یا چند نفر به تمام دادهها کنترل دارند و میتوانند آنها را تغییر دهند یا به طور کامل حذف کنند.
در ویکیپدیا یک کاربر (کلاینت) با مجوزهایی که در حساب کاربری خود توسط سیستم برایش تعیین میشود، قادر است همه یا برخی از ورودی های ویکیپدیا را که در یک سرور متمرکز ذخیره شدهاند، تغییر دهد.
هر زمان که یک کاربر به صفحه ویکیپدیا دسترسی پیدا کند، نسخه بهروزشده یک مطلب در دیتابیس (مسترکپی) را دریافت میکند.
اما تفات اصلی این است که کنترل پایگاه داده همچنان با مدیران ویکیپدیا باقی میماند و کنترل دسترسی ها و مجوز ها توسط یک مقام مرکزی حفظ میشود.
به نوعی مدیران ویکیپدیا میتوانند یک مقاله را هر زمان که بخواهند حذف کنند.
اما در بلاک چین، مالک اطلاعات پایگاه داده همان کاربران شبکه هستند و اطلاعات ثبتشده روی آن پاک نمیشود.
کاربردهای بلاک چین
همانطور که گفتیم بیت کوین و ارز های دیجیتال غیر متمرکز، مهم ترین و موفق ترین کاربرد فناوری بلاک چین هستند.
به عنوان مثال در بیت کوین با استفاده از این فناوری امکان تقلب، دوبار خرج کردن پول و برگشت تراکنش ها از بین میرود.
اما این فناوری میتواند به جز ارزهای دیجیتال، کاربرد های زیاد دیگری هم داشته باشد و هر کجا نیاز به فضایی برای ذخیره داده و از بین بردن نیاز به اعتماد باشد، امکان استفاده از آن وجود دارد.
به عنوان نمونه انتخابات الکترونیکی و بدون تقلب میتواند یکی از کاربرد های بلاک چین باشد که با استفاده از این نوآوری میتوان تا حد زیادی خطر تقلب در انتخابات و نیاز به نیروی انسانی را کاهش داد.
یا برای یک نمونه دیگر میتوان به استفاده از بلاک چین در زنجیره تأمین و حمل و نقل اشاره کرد.
کارخانهجات و شرکت های تولید کننده میتوانند اطلاعات کالاها و حمل و نقل خود را از ابتدا تا رسیدن به دست مشتری روی پایگاه داده ثبت میکنند که این کار اصالت کالا ها و کیفیت مواد اولیه را برای مشتری تضمین میکند.
با این فناوری میتوان درست مثل یک جامعه یا سازمان، نوعی حاکمیت را در یک سیستم به وجود آورد که همه بتوانند نسبت به سهامشان و اختیاراتی که دارند در جلو بردن آن سیستم سهیم باشند.
همچنین با این فناوری میشود دارایی ها را به توکن های دیجیتال تبدیل کرد و آنها را به صورت یک دارایی قابل انتقالعرضه کرد.
به عنوان مثال میتوان ارزش یک خانه را به هزاران توکن دیجیتال تبدیل کرد و آنها را نسبت به بودجه متقاضیان به فروش رساند تا افراد زیادی (حتی از کشورهای دیگر) بتوانند در آن خانه سرمایهگذاری کنند.
البته هنوز در دنیای واقعی به صورت گسترده، بلاک چین مورد استفاده قرار نمیگیرد و با اینکه این فناوری غیر متمرکز است، در بسیاری از کارها با وجود آن باز هم مجبور به تکیه کردن به نهاد ها و سازمان های متمرکز هستیم.
اما با فراهم شدن زیرساخت های لازم مثل توسعه هوش مصنوعی یا اینترنت اشیاء میتوان به کاربرد های بیشتر این فناوری امیدوار بود.
برنامه غیر متمرکز (DApps) چیست؟
تصور کنید وقتی که در خانه هستید ماشین شما در حال کار کردن و جابهجایی مسافران باشد.
تصور کنید که کامپیوتر شما ظرفیت اضافی خود را برای خدمت به مردم سراسر جهان اختصاص میدهد.
تصور کنید که هنگام وبگردی در اینترنت به دلیل استفاده از توجه ارزشمندتان مبلغی به شما پرداخت شود.
بیت کوین اولین کاربرد از فناوری نامحدود بلاک چین بود، چیزی که میتواند سیستم مالی غیر متمرکز بسازد، توانایی تمرکز زدایی در سیستمهای دیگر هم دارد.
بلاک چین قادر است جهانی را بسازد که تماما با برنامه های غیر متمرکز کار میکند، برنامههایی توزیع شده، انعطاف پذیر، شفاف و انگیزشی که هیچ کس به غیر از کاربرانش نمیتواند کوچکترین دخالتی در آنها کند.
به برنامه هایی که روی بلاک چین ساخته میشوند برنامه غیر متمرکز یا دیاپ (DApp) میگویند.
ویژگیهای اصلی برنامههای غیرمتمرکز یا همان دیاپها
۱-متن باز
کدهای برنامه غیر متمرکز باید در اختیار همه قرار گیرد تا از درستی آن اطمینان حاصل شود، همچنین همه ی تغییرات باید با تصمیم گیری جامعه و اکثریت باشد.
۲-تمرکززدایی شده
تمام موارد عملیاتی برنامه باید در بلاک چین عمومی و غیر متمرکزذخیره شود تا از آسیب های تمرکزی جلوگیری به عمل آید.
۳-انگیزشی
کسانی که امنیت و فعالیت بلاک چین را برقرار میکنند باید انگیزه داشته باشند که می توان با دادن واحدهای ارز دیجیتال آنها را تامین کرد.
۴-پروتکل
برنامه نویس برای فعالیت درست برنامه، پروتکلی تعیین میکند که همه کسانی که درآینده از برنامه استفاده خواهند کرد باید پروتکل را بپذیرند، مثلا برنامه نویس برای اینکه بتواند از برنامه ای که ساخته پول بدست آورد، در پروتکل تعیین میکند که ۰.۱ درصد از پاداش هر بلاک به او تعلق بگیرد.
ساختار کلی برنامههای غیر متمرکز
۱-فرانتاند (FrontEnd)
به بخشی از برنامه که کاربر آن را درک می کند فرانتاند گفته می شود.
این بخش میتواند ظاهر برنامه، روشهای وارد کردن ورودی به برنامه، صدا ها و ویدیو ها و یا هر چیز دیگر قابل درک برای کاربر باشد.
۲-بکاند (BackEnd)
به بخشی که در پشت زمینه قرار میگیرد و انجام محاسبات و وظایف را نسبت به فرانت اند بر عهده دارد، بکاند میگویند.
اگر به عنوان مثال قصد خرید یک بلیت از وب سایتی را داشته باشید، معمولا سایت را باز میکنید و با فرانت اند Frontend تعامل میکنید.
زمانی که اطلاعات را وارد کردید، برنامه آن اطلاعات را در بکاند که شامل پایگاه داده ها سرور میشود، ذخیره میکند.
مفهوم دیگری هم به نام میدلاند MiddleEnd وجود دارد که وظیفه ارتباط بین فرانتاند و بکاند را بر عهده دارد.
در یک برنامه غیر متمرکز هم به همین صورت یک فرانتاند و بکاند وجود دارد.
فرانتاند در برنامههای غیر متمرکز مانند برنامههای معمولی تحت وب است.
اما در مورد بکاند با شبکه بلاک چین و مفهومی به نام قردادهای هوشمند طرف هستیم.
کدها روی قرارداد های هوشمند نوشته میشوند و در شبکه بلاک چین قرار میگیرند، به جای استفاده از سرورهای مرکزی برای کد های برنامه در اینجا از بلاک چین غیر متمرکز استفاده میشود.
برنامههای غیرمتمرکز اتریوم
با وجود پلتفرم هایی مانند اتریوم، نئو و در آینده ایاس و کاردانو دیگر نیاز نیست که برای ساخت برنامه غیر متمرکز، یک بلاک چین جداگانه بسازید.
با استفاده از پلتفرم هایی که از قرداد های هوشمندپشتیبانی میکنند، توسعه دهندگان میتوانند برنامه های غیر متمرکز خود را خلق کنند.
اتریوم این روز ها پرکاربرد ترین بلاک چین برای توسعه برنامه های غیر متمرکز است.
با ایجاد قرارداد هوشمند میتوانید برنامه غیر متمرکز خود را روی این پلتفرم پیاده سازی کنید.
به دلیل سروصدای زیاد این فناوری، طرفداران اتریوم شاید فکر کنند که قابلیت تمرکززدایی همه چیز را خواهند داشت، اما در حال حاضر دامنه برنامه هایی که میتوان با این پلتفرم محاسباتی ساخت، تنگ تر از چیزیست که بقیه فکر میکنند.
وایت پیپر اتریوم، برنامههای غیر متمرکز را به سه دسته کلی تقسیمبندی میکند:
۱-برنامه هایی که پول را مدیریت می کنند
کاربر میتواند برای حل و فصل یک قرارداد اتر (ارز دیجیتال اتریوم) دریافت یا ارسال کند، شبکهای توزیع شده از نود های کامپیوتری Node در شبکه اتریوم، توزیع اطلاعات را در شبکه تسهیل میکنند.
۲-برنامههایی که با پول ارتباط دارد ولی پول تنها معیار نیست
برنامههای نوع دوم پول ترکیبی از پول و اطلاعات خارج از برنامه هستند.
به عنوان مثال، یک برنامه بیمه محصولات کشاورزی را در نظر بگیرید که نیازمند دریافت اطلاعات آب و هوا است.
فرض کنید که کشاورزی بیمهای را خریداری میکند که طی آن اگر وضعیت خشکسالی رخ بدهد، خسارت هایش به صورت خودکار پرداخت خواهد شد.
برای اجرای این برنامه، قرارداد های هوشمند باید به چیزی که اصطلاحا اوراکل نام دارد اعتماد کنند.
اوراکل هر چیزی است که اطلاعات بیرونی و به روزرسانی شده را به برنامه بدهد.
گفتنیست که تمرکززدایی اوراکلها یکی از چالش های اصلی برنامههای غیر متمرکز است.
۳-برنامه هایی در رده دیگر که شامل سیستم های رأی گیری و حاکمیتی میشوند
وقتی بیت کوین توانسته اختیار سازمان های مالی را کم کند، آیا روی شرکت ها و سایر سازمان ها هم همین کار را می توان انجام داد؟
سازمان های خودگردان غیر متمرکز (DAO) یکی از اهداف بلندپروازانه و محبوب هستند.
در این برنامهها هیچ فرد تعیین کننده ای وجود ندارد، و قوانین و اختیارات هر شخص توسط برنامهها مشخص میشود و اعضا می توانند رای دهند که چه قوانینی حکمفرما باشد.
تصورش را بکنید، حکومت بلاک چین بر مردم!
برای کسب اطلاعات بیشتر در مورد وایت پیپر می توانید به مقاله ی مربوط به آن در همیار گلدبازار مراجعه کنید.