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

این مطلب به قلم شهریار نصرملک در شماره 23 مجله چیپست منتشر شده است و با یک ماه فاصله، در کانال ویرگول این مجله تقدیم شما می شود.

اگرچه مفهوم بلاکچین نخستین بار توسط “ساتوشی ناکاموتو” در مقاله ای بعنوان “بیت کوین” منتشر شد ولی مفاهیم و تکنولوژیهای زیربنایی آن از سالها تلاش و مطالعه در زمینه رمزنگاری (cryptography), محاسبات, علوم اقتصاد و حتی بازی استفاده میکنند.

در ابتدا با مفهوم و ایده “استقرار متمرکز یا مرکزیت (Centralization)” شروع میکنیم تا متوجه بشویم اصلا دلیل بوجود آمدن بلاکچین چیست. مرکزیت یعنی کنترل و نظارت توسط یک فرد یا نهاد که یک شکل معموا و فراگیر حکومت است. حکومتداری (Governance) به اصول سازمان و قدرت اشاره دارد. ما باید به مقامات مرکزی، مانند بانک ها، دولت ها و سایر موسسات اعتماد کنیم تا نظم و ساختار خود را در فضای کاری که در آن فعالیت می کنند، حفظ کنیم. هنگامیکه مقامات مرکزی (حکومتی) نمیتوانند این نظم و ساختار را حفظ کنند, این اعتماد شکسته میشود و از بین میرود.

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


https://virgool.io/p/meqflh9mylin/%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA%D9%85%D8%B1%D8%A8%D9%88%D8%B7%D8%A8%D9%87%D9%85%D8%B1%DA%A9%D8%B2%DB%8C%D8%AA,%D8%AE%DB%8C%D9%84%DB%8C%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1%D8%AF%D8%B1%D8%AF%D9%88%D8%B1%D9%87%D8%B1%DA%A9%D9%88%D8%AF%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%DB%8C%D8%AC%D9%87%D8%A7%D9%86%DB%8C%DA%A9%D9%87%D8%A8%DB%8C%D9%86%D8%B3%D8%A7%D9%84%D9%87%D8%A7%DB%8C2007%D8%AA%D8%A72008%D9%BE%D8%AF%DB%8C%D8%AF%D8%A7%D8%B1%D8%B4%D8%AF%D9%86%D8%AF%D9%88%DA%A9%D9%84%D9%86%D8%B8%D8%A7%D9%85%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%DB%8C%D8%AF%D9%86%DB%8C%D8%A7%D8%B1%D9%88%D8%AA%D8%AD%D8%AA%D8%AA%D8%A7%D8%AB%DB%8C%D8%B1%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%D8%B1,%D8%AE%DB%8C%D9%84%DB%8C%D8%AE%D9%88%D8%AF%D8%B1%D8%A7%D9%86%D8%B4%D8%A7%D9%86%D8%AF%D8%A7%D8%AF%D9%86%D8%AF.%D8%AF%D8%B131%D8%A7%DA%A9%D8%AA%D8%A8%D8%B12008%D9%88%D8%AF%D8%B1%D8%A7%D9%88%D8%A7%D8%B3%D8%B7%D8%AF%D9%88%D8%B1%D9%87%D8%B1%DA%A9%D9%88%D8%AF%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%D8%AC%D9%87%D8%A7%D9%86%DB%8C,%D8%B3%D8%A7%D8%AA%D9%88%D8%B4%DB%8C%D9%86%D8%A7%DA%A9%D8%A7%D9%85%D9%88%D8%AA%D9%88(%D9%86%D8%A7%D9%85%DB%8C%D8%A8%D8%B1%D8%A7%DB%8C%D9%81%D8%B1%D8%AF%DB%8C%D8%A7%DA%AF%D8%B1%D9%88%D9%87%DB%8C%DA%A9%D9%87%D9%87%D9%86%D9%88%D8%B2%D9%87%D9%88%DB%8C%D8%AA%D9%88%D8%A7%D9%82%D8%B9%DB%8C%D8%A2%D9%86%D9%87%D8%A7%D9%85%D8%B4%D8%AE%D8%B5%D9%86%DB%8C%D8%B3%D8%AA)%D9%85%D9%82%D8%A7%D9%84%D9%87%D8%A7%DB%8C%D8%A8%D9%87%D9%86%D8%A7%D9%85%E2%80%9D%D8%A8%DB%8C%D8%AA%DA%A9%D9%88%DB%8C%D9%86:%DB%8C%DA%A9%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%D9%85%D8%A7%D9%84%DB%8C%D8%A8%D9%87%D9%86%D9%82%D8%B7%D9%87(peer-to-peer)%E2%80%9D%D8%B1%D8%A7%D9%85%D9%86%D8%AA%D8%B4%D8%B1%DA%A9%D8%B1%D8%AF.

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

طراحی “ساتوشی” به گونه ای بود که انتقال ارز بین 2 شخص را بسیار آسان میکرد, مخصوصا که نیاز به “یک نهاد مرکزی”  مانند بانک, که وظیفه تصدیق انتقال را داشت, را هم از بین برده بود. هنگامیکه از (انتقال) نقطه به نقطه صحبت میکنیم, در واقع در مورد معامله و داد و ستد بین یک شخص/نهاد و یک شخص/نهاد دیگر به طور مستقیم صحبت میکنیم. هیچ واسط یا نهاد مرکزی در این بین نیست. بعنوان مثال اگر شما یک پرداخت بانکی به حساب دوست خود را بر روی گوشی همراه خود برنامه ریزی کنید, جریان حقیقی پول از حساب بانک شما که بر آن نظارت میشود, به حساب دوست شما در بانک دیگری که روی آن هم نظارت میشود به راه میفتند.


اگر دوست شما حساب بانکی نداشته باشد, شما باید به یک واسط یا شخص سومی مراجعه کنید, مانند شرکتهای انتقال پول و سپس دوست شما بیاید و پول خود را بردارد. حال اگر این موضوع هم در دسترس نبود, شما باید پول را از حساب خود خارج کنید, آن را درپاکت بگذارید و آن را برای دوستتان پست کنید که این کار با ریسکهای امنیتی مواجه است! پس میبینید که روشهای سنتی و نظارتی چقدر دست و پاگیر هستند و چقدر حتی با وجود اینکه بانکها, اپلیکشنهای موبایل دارند, باز هم انتقال پول سخت است, محدود است و حتی خطر دزدیده شدن اطلاعات شما در هر لحظه وجود دارد.

بیت کوین بواسطه این قابلیت که واسطه ها را حذف کرده بود و انتقال پول بین 2 شخص را در سرتاسر جهان با سرعت و امنیت بالا آسان ساخته بود, توجه هات را به خود جلب کرده بود. تکنولوژیها به سمت بلاکچین متمایل شده بودند و این تمایل کمامان ادامه دارد. بلاکچین, همان زیرساختی است که بیت کوین بر اساس آن بوجود آمد و بیت کوین, اولین ارز دیجیتال دنیا است.

برای بهتر روشن شدن این مفهوم, بلاکچین یک فهرست (دفتر) غیرمتمرکز است که معاملات و فعالیتها بین دو شخص شرکت کننده در یک داد و ستد یا معامله را, با تصدیق این معاملات به طور دایم ثبت میکند. این تصدیق و تاییدیه در قالب بازبینی توابع رمزنگاری شده و نشانه های زمانی (Timestamps) خود را نشان میدهند.

این معاملات میتوانند بر روی یک یا چند کامپیوتر تایید شوند که به هر یک از این کامپیوتر ها یک نوود (Node) گفته میشود. البته حتما نباید کامپیوتر باشند و میتوانند هر دستگاهی که قابلیت اتصال به اینترنت را دارد, باشد. همین کار باعث میشود که بلاکچین در عین غیرمتمرکز بودن و وابسته نبودن به یک نهاد/شخص نظارتی و خاص, شفاف باشد. بیت کوین فقط یکی از کاربردهای بلاکچین است و برای بلاکچین تا به امروز, هزاران پروتکل و روشهای استفاده خاص نوشته و در حال استفاده شدن است. میتوان از بلاکچین در صنایع مختلف استفاده کرد, به طور خاص ضبط ردیابی و مدیریت مالکیت (اغلب به نام پروانه)، سوابق بیمار و غیره.

با افزایش توجه به بیت کوین, همزمان کد پایه (codebase – مجموعه ای از کدهای دستوری برنامه نویسی که یک برنامه را شکل میدهند) و مقاله اصلی بیت کوین بسیار مورد توجه قرار گرفتند. در همین حال, ویتالیک بوترین (Vitalik Buterin) که یکی از افرادی بود که فعالیت و مشارکت زیادی در شبکه بیت کوین داشت متوجه نقاط ضعفی در طراحی بیت کوین شد. بر همین اساس او شروع به طراحی یک پروتکل متن باز (Open source) در سال 2013 کرد که بعدا به اتریوم (Ethereum) مشهور شد. اتریوم هم مانند بیت کوین در بستر بلاکچین فعالیت میکرد که ویژگیهای بیت کوین را داشت, آنها را افزایش میداد و به بلاکچین ,  بیت کوین هم کمک میکرد.

تا اینجا در مورد تاریخچه بلاکچین به طور مفصل صحبت شد و موضوع مرکزیت یا استقرار متمرکز را هم مورد بحث قرار دادیم. در ادامه در مورد عدم مرکزیت, غیر متمرکز  یا غیرمتمرکز سازی (Decentralization) صحبت میکنیم, یکی از دلایل اصلی که بلاکچین به خاطر آن بوجود آمد.

غیرمتمرکز سازی یا Decentralization چیست؟

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


البته این ارسال بر بستر امن بلاکچین کار میکند و هویت افراد برای یکدیگر شناخته شده است و همه افرادی که در آن شبکه خاص فعالیت و عضویت دارند, میتوانند این تراکنش را تصدیق کنند. غیرمتمرکز سازی یا پراکندگی یکی از دلایل اصلی بوجود آمدن بلاکچین بود. در اصل غیرمتمرکز سازی یعنی انتقال قدرت و اجازه در یک جامعه از یک نهاد مرکزی و انتقال آن به افراد آن جامعه. بعبارتی دیگر,خود مختارسازی افراد آن جامعه بدون ایجاد وابستگی به نهادی خاص.

شاید یک مثال خوب در این زمینه, بیت تورین (BitTorrent) باشد. بیت تورنت یک پروتکل به اشتراک گذاشتن نقطه به نقطه فایل هست که به یک شرکت, نهاد, سازمان یا سرور(های) خاصی وابسه نیست. ساز و کار بیت کوین هم تا حد زیادی شبیه این موضوع است و بیت کوین, با حذف بانک یا نهاد مرکزی جهت نظارت بر چگونگی انتقال پول و مقدار آن, اینکار را ساده کرده است (طی کردن مراحل بانکی و پر کردن فرمهای متعدد را هم همه میدانیم چقدر زمانبر است!).

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

یک بلاکچین با 100 عضو را در نظر بگیرید. اگر به 5 تا از اعضای آن حمله شود یا به اصطلاح هک شوند, باز هم آن شبکه میتواند با 95 عضو دیگر به کار خود بدون اختلال ادامه دهد. به طور کلی، تمرکز قدرت می تواند به شرکت هایی مانند فیس بوک، آمازون و گوگل کمک کند تا بتواند از داده های کاربر و عادت های خود را به طریقی که کاربران ممکن است دوست نداشته باشند و حتی نمی دانند ایجاد درآمد کنند. عصر فعلی, به عصر اطلاعات معروف است و اطلاعات شما میتواند برای یک شرکت یا نهاد بسیار حایز اهمیت باشد اما, آن شرکت میتواند با فروش اطلاعات شما سود هنگفتی بدست بیاورد.


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