۱۲ پرسش اساسی درباره بلاکچین و پاسخ آنها
در ادامه مباحث آشنایی با بلاکچین در این مقاله قصد داریم به ۱۲ پرسش اساسی در مورد بلاکچین پاسخ دهیم، با دیجیکالا مگ همراه باشید.
۱- بلاکچین چیست؟
بلاکچین یک پایگاه داده توزیع شده است که توسط الگوریتمهای پیچیده ریاضی و رمزنگاری ایمن میشود. این شبکه به کاربران خود اجازه میدهد بدون نیاز به یک واسطه، یک رکورد قابل اعتماد و تغییرناپذیر از رویدادهای یک تراکنش ایجاد کنند. اما کار به اینجا محدود نشده و بلاکچینها میتوانند کارهای مختلفی فراتر از تسویه تراکنشها، همانند قراردادهای هوشمند را اجرا کنند.
قراردادهای هوشمند قراردادهای دیجیتالی هستند که در قالب کدهای برنامهنویسی اجرا میشوند که به طرفین درگیر در قرارداد اجازه میدهند بر اساس شرایط از پیش تعیین شده در چهارچوب قرارداد با هم معامله کنند. قرارداد هوشمند میتواند بدون نیاز به فرد یا نهادی اجرا و اعمال شود. از این رو میتواند امنیت بیشتر و هزینه کمتری داشته باشد. در مقابل، مواردی نظیر امکان بروز خطای انسانی (در هنگام نگارش کدهای قرارداد)، قوانین حقوقی غیرشفاف کنونی در کشورهای مختلف در قبال این شکل از قرارداد و نیز هزینه بالای نگارش آن توسط برنامهنویسان از مهمترین معایب قراردادهای هوشمند بهشمار میروند. گفتنی است برخی از انواع ارز دیجیتال پیادهسازیهایی برای قرارداد هوشمند ارائه کردهاند.
بلاکچینها خود را به عنوان یک پایگاه داده ایمن برای انتقال تراکنشها ثابت کردهاند ولی آنها قادر به ارائه فعالیتهای بیشتری از جمله ساخت توکن، مقاومت در برابر حملات و کاهش ریسک هستند. اولین بلاکچین، بلاکچین بیتکوین بود که نقطه اوج بیش از یک قرن پیشرفت در رمزنگاری و فناوری پایگاه داده به شمار میآید.
۲-نرمافزار بلاکچین چیست؟
نرمافزار بلاکچین مانند هر نرمافزار دیگری است. اولین نرمافزار بلاکچین در این زمینه، نرمافزار بیتکوین بود که به عنوان یک نرمافزار متنباز منتشر شد و آن را برای استفاده یا تغییر در دسترس عموم قرار داد. طیف گستردهای از تلاشها در سراسر اکوسیستم بلاکچین برای بهبود نرمافزار اصلی بیتکوین شکل گرفته است. در همین راستا اتریوم نرمافزار بلاکچین منبع باز خود را توسعه داده و برخی دیگر از نرمافزارهای بلاکچین اختصاصی هستند و در دسترس عموم قرار ندارند.
۳-پایگاهداده بلاکچین چیست؟
در قدیم پایگاه داده از یک سرور اصلی متمرکز تشکیل شده بود که این سرور یک مرجع انحصاری در جهت برقراری امنیت پایگاه داده به شمار میرفت. یکی از بزرگترین مشکلاتی که اینگونه پایگاههای داده با آن درگیر بودند و هستند این است که در صورت بروز مشکل امنیتی در سرور اصلی، پایگاه داده در معرض خطر جدی قرار میگرفت.
معماری غیرمتمرکز پایگاههای داده بلاکچین به عنوان راه حلی برای بسیاری از نقاط ضعف معماری پایگاه داده متمرکز پدیدار شد. یک شبکه بلاکچین شامل تعداد زیادی گره یا نود توزیع شده و شرکت کنندگانی داوطلب است که باید در مورد اتفاق افتاده به اجماع برسند و یک رکورد تراکنش واحد را با هم حفظ کنند.
۴-بلاکچین چگونه کار میکند؟
هنگامی که تراکنشی در یک شبکه بلاکچین رخ میدهد، در یک “بلاک” امن رمزنگاری با سایر تراکنشهایی که در یک بازه زمانی اتفاق افتادهاند، گروهبندی میشود. سپس بلاک در شبکه پخش میشود. یک شبکه بلاکچین از گرهها یا شرکتکنندگانی تشکیل شده که اطلاعات تراکنشها را اعتبارسنجی میکنند و انتقال میدهند.
بلاک تراکنشها توسط شرکتکنندگانی به نام ماینر تأیید میشود که از قدرت محاسباتی برای حل یک معمای رمزنگاری “هش” و تأیید بلاک تراکنشها استفاده میکنند. اولین ماینری که هش بلاک را حل کرده و اعتبارسنجی کند، پاداش میگیرد. هر بلاک تایید شده به بلاک تایید شده قبلی متصل میشود و زنجیرهای از بلاکها را ایجاد میکند.
یکی از مهمترین عاملهای بنیادین رمزنگاری در بلاکچینها، تابع هش است. هش تابعی است که ورودی از حروف و اعداد را به یک خروجی رمزگذاری شده با طولی ثابت تبدیل میکند. توابع هش در سرتاسر اینترنت به منظور ذخیره ایمن کلمه عبور، یافتن سوابق تکراری، ذخیره سریع و بازیابی اطلاعات و موارد اینچنین بهکاربرده میشوند. هش با استفاده از یک الگوریتم ایجاد میشود که برای مدیریت بلاکچین در فضای کریپتوکارنسیها بسیار ضروری است و درواقع پایه و اساس شبکه بلاکچین نیز محسوب میشود.
۵-برنامههای کاربردی بلاکچین چیست؟
برنامههای بلاکچین با نرمافزارهای معمولی قابل مقایسه هستند، با این تفاوت که معماری غیرمتمرکز و اکوسیستم رمزنگاری شده را برای افزایش امنیت، تقویت اعتماد، توکنسازی داراییها و طراحی مشوقهای شبکه پیادهسازی میکنند.
۶-امور مالی غیرمتمرکز (DeFi) چیست؟
امور مالی غیرمتمرکز DeFi که امور مالی باز نیز نامیده میشود به تغییر پارادایم اقتصادی اشاره دارد که توسط فناوریهای غیرمتمرکز، به ویژه شبکههای بلاکچین فعال میشود. دیفای نشاندهنده تغییر از یک سیستم مالی متمرکز وابسته به یک نهاد مرکزی به یک سیستم منبع باز، ایمن و بدون واسطه است.
از شبکههای پرداخت کارآمد و ایمن گرفته تا وامهای خودکار و استیبل کوینهای مبتنی بر دلار آمریکا، تامین مالی غیرمتمرکز به عنوان یکی از فعالترین بخشها در فضای بلاکچین ظاهر شده است. برخی از عوامل تعیینکننده یک برنامه DeFi شامل معماری بدون نیاز به مجوز، کد شفاف و قابل بازرسی، و قابلیت همکاری با سایر محصولات DeFi است.
۷-مزایای فناوری بلاکچین چیست؟
از آنجایی که دادههای شبکه بلاکچین عموما در هزاران دستگاه بر بستر یک شبکه توزیع شده از گرهها (Nodes) ذخیره میشوند، اصولا این سیستم و دادهها در برابر هرگونه نقص فنی و حملات مخرب پایدار هستند. هر نود شبکه قادر به تکثیر و ذخیره یک کپی از پایگاه داده است و از همین رو، آفلاین شدن یک گره شبکه بر در دسترس بودن یا امنیت آن شبکه تأثیری نمیگذارد.
معکوس کردن بلاکهای تأیید شده در بلاکچین امری تقریبا غیرممکن است. در حقیقت این موضوع بدین معناست که با ثبت شدن دادهها در شبکه، عملیات حذف یا تغییر آن بسیار دشوار است. این امر بلاکچین را به یک فناوری برجسته و ارزشمند جهت ذخیره سازی سوابق مالی یا هر داده دیگری که در آن پیگیری و حسابرسی نیاز است مبدل میکند، زیرا هرگونه تغییر در این بستر ردیابی و برای همیشه در دفتر کل توزیعشده عمومی ثبت میشود. شایان ذکر است که ویژگی شفافیت را میتوان از دیگر مزایا و نقاط قوت فناوری بلاکچین بر شمرد.
در اکثر سیستمهای پرداختی سنتی، انجام یک تراکنش به یک واسطه مانند بانک، شرکت کارت اعتباری یا سرویس ارائهدهنده خدمات پرداخت وابسته است. اما در بهرهگیری از فناوری بلاکچین، عملا واسطهها حذف میشوند و دیگر ضرورتی بر حضورشان در شبکه نیست. زیرا شبکهای توزیع شده از نودها، تراکنشها را از طریق فرآیندی به نام ماینینگ (Mining) تأیید میکند. از همین رو، شبکه بلاکچین اغلب به عنوان یک سیستم “قابل اعتماد و بیواسطه” شناخته میشود.
۸-بلاکها در بلاکچین چه کاری را انجام میدهد؟
واژه «بلاک» در بلاکچین به بلاکی از تراکنشها اشاره دارد که در شبکه پخش شده است. “زنجیره” به رشتهای از این بلاکها اشاره دارد. هنگامی که یک بلاک جدید از تراکنشها توسط شبکه تأیید میشود، به انتهای یک زنجیره موجود متصل میشود. این زنجیره از بلاکها یک دفتر در حال رشد از تراکنشهایی است که شبکه آن را تأیید کرده است. ما این تاریخچه منحصر بهفرد و مورد توافق تراکنشها را بلاکچین مینامیم. فقط یک بلاک میتواند در یک زنجیره معین وجود داشته باشد. راههای مختلفی برای اضافه کردن بلاکهای جدید به یک زنجیره موجود وجود دارد که “اثبات” نامیده میشوند، اثبات کار (PoW)، اثبات سهام (PoS) و اثبات اعتبار (PoA). همه شامل الگوریتمهای رمزنگاری با درجات مختلفی از پیچیدگی هستند.
۹- زمان بلاک چیست؟
مدت زمانی که طول میکشد تا یک بلاک جدید ساخته شود زمان بلاک گفته میشود. این زمان به همراه متغیر سختی شبکه که این زمان را ثابت نگه میدارد برای هر بلاکچین پارامتری ثابت است. در واقع زمان لازم برای ایجاد بلاک بعدی در یک زنجیره داده است و معیاری است برای تولید بلاک جدید در یک شبکه بلاکچین. مدت زمان لازم برای اعتبارسنجی و تشکیل بلاک در شبکه بیت کویین حدود ۱۰ دقیقه است و هر دو هفته یک بار سختی شبکه این مقدار را بالانس نگه میدارد و برای شبکه اتریوم این مقدار چیزی در حدود ۱۳ ثانیه است.
۱۰-دفتر کل توزیع شده به چه معنا است؟
دفتر کل توزیع شده (Distributed Ledger) یک پایگاه داده است که بین چندین گره (Node) یا دستگاههای محاسباتی پخش میشود. هر بار که نسخه جدیدی از اطلاعات ثبت میشود، هر گره یا دستگاه، نسخه قبلی را بروزرسانی میکند. همه نسخهها در دفاتر کل توزیع شده با هم برابر هستند و سرور مرکزی وجود ندارد.
دفتر کل توزیع شده چیزی جز یک دفترچه اشتراکی نیست (دفترچه عمومی) و یک سیستم برای مدیریت معاملات است اما تفاوت، در ماهیت چگونه نگهداری اطلاعات و مدیریت دفترچه نهفته است. به عنوان مثال، در مورد ارزهای رمزنگاری شده مانند بیتکوین، هر گره (هر شرکت کننده در سیستم) نسخه اصلی دفترچه را دارد و میتواند سوابق تراکنشهای خودش را ببیند.
جهت اعمال هر گونه تغییر و ایجاد یک تراکنش جدید در شبکه، تأیید کاربران نیاز است و هیچ کس به تنهایی نمیتواند تغییری در سیستم ایجاد کند. در دفاتر کل توزیع شده از سیستم همتا به همتا استفاده شده است. در سیستم همتا به همتا (P2P)، ساختار دفاتر کل توزیع شده به گونهای طراحی است که نیاز به واسطههایی مانند بانک را از بین میبرد.
۱۱-برنامهنویسی بلاکچین چیست؟
یکی از جنبههای کلیدی که برنامهنویسی بلاکچین را از سایر سرمایهگذاریهای اینترنتی متمایز میکند، تمرکز بر امنیت و رمزنگاری است. اگر قصد توسعهی کامل یک بلاکچین جدید را داشته باشید، احتمالا به زبان برنامهنویسی ++C نیاز خواهید داشت. اما ممکن است تصمیم بگیرید به جای توسعهی یک بلاکچین از صفر، از پروژههای متنبازی مانند بیتکوین و یا اتریوم استفاده کنید. اگر قصد ساختن یک قرارداد هوشمند (Smart Contract) بر بستر اتریوم را داشته باشید، به یادگیری زبان برنامهنویسی سالیدیتی (Solidity) نیاز خواهید داشت و اگر قصد توسعهی پروژههایی نظیر هایپرلجر فابریک را در ذهن دارید، به زبانهای برنامهنویسیای نظیر زبان گو (Go) نیاز خواهید داشت.
در نظر داشته باشید که بلاکچین فناوری زیرساختی شما است و به برنامهنویسی فرانتاند (Front end) نیز برای امکان تعامل کاربران با برنامههای خود نیاز خواهید داشت. برای فرانتاند شاید زبان جاوا اسکریپت بهترین گزینهی موجود برای شما باشد.
۱۲-بلاکچین خصوصی چیست؟
بلاکچین خصوصی نوعی بلاکچین مجوزدار است. در این شبکه نودهای شرکت کننده فقط در صورت اخذ مجوز میتوانند به بلاکچین بپیوندند. از نمونههای بلاکچین خصوصی میتوان به پلتفرمهایی مانند هایپر لجر، Hashgraph، Corda و… اشاره کرد.
منبع: consensys