blockchain: الگوریتم اجماع شاخص های کلیدی عملکرد ، معاملات ، روندهای فعلی ، اشکالات مشترک و پیشنهادات راه حل جدید

ساخت وبلاگ

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

1. معرفی

blockchain یک فناوری اساسی برای بیشتر کاربردهای بالقوه است که در زمان های اخیر در حال افزایش است [1،2،3]. شبکه blockchain یک فناوری دفترچه غیر متمرکز و توزیع شده است که در آن همه گره ها باید در مورد اعتبار دفترچه ای که به اشتراک می گذارند موافق باشند. این امر برای اطمینان از معتبر بودن هر داده ای کاملاً معتبر است. از این رو ، پس از متعهد شدن به blockchain ، حذف ، انکار یا دستکاری با [4] غیرممکن است. blockchain یک تغییر مشکل ژنرال های بیزانس (BG) است ، که در آن حداقل دو سوم شبکه باید مایل به حفظ یکپارچگی شبکه باشند تا تأثیر احزاب مخرب قابل باطل باشد [5]. برای توافق در مورد داده های جدید (بلوک هایی که به زنجیره اضافه می شوند) و برای اطمینان از اعتماد به سیستم ، گره ها باید به یک پروتکل اجماع اعتماد کنند. این الگوریتم ها ستون فقرات یک blockchain را تشکیل می دهند. بنابراین ، تا حد زیادی ، این الگوریتم ها عملکرد چنین سیستمی را تعیین می کنند و علاوه بر این ، آنچه سیستم می تواند به دست آورد. تا به امروز ، توجه بیشتری به طیف وسیعی از پروتکل های اجماع شده است ، و ارزهای رمزنگاری شده مختلف پروتکل های مختلفی را اجرا کرده اند. الگوریتم های اجماع در blockchains در معرض مطالعات تحقیقاتی بیشماری قرار گرفته اند و هنوز هم برای موارد جدید باز هستند. با وجود این واقعیت که الگوریتم های پیشنهادی برای تقویت برخی از نقاط ضعف الگوریتمی موجود تلاش می کنند ، با این وجود آنها در معرض محدودیت های جدید قرار می گیرند. برخی از پروتکل های اجماع به شدت قوی هستند ، در حالی که برخی دیگر ممکن است باعث تمرکز و اعتماد به نفس شوند ، با وجود این واقعیت که blockchains برای جلوگیری از چنین مشکلاتی ایجاد شده است [6].

در این مقاله، با مطالعه اجماع بلاک چین، سعی شده است یک طبقه بندی و تحلیل جامع و سیستماتیک ارائه شود. در واقع، هدف ما تعریف روند اصلی در توسعه اجماع بلاک چین بود و به دنبال شناسایی نقاط ضعف آن بودیم. برای این منظور، قصد داریم این الگوریتم ها و ویژگی های مرتبط با آن ها را جمع آوری کنیم که در برخی موارد به صورت جداگانه در ادبیات ارائه شده اند. پروتکل های اجماع بلاک چین که در این مقاله ارائه شده اند، به همان اندازه مورد توجه قرار نگرفتند، زیرا ما ترجیح دادیم که معتبرترین پروتکل ها را اولویت بندی کنیم. ابتدا، مقاله با ارائه یک نمای کلی از بلاک چین، ردیابی ریشه های آن در سیستم نقدی دیجیتال بیت کوین و توضیح ویژگی های مختلف آن آغاز می شود. اینها شامل فناوری و معماری بلاک چین، خدمات و برنامه های کاربردی، و چگونگی اجماع در مورد حقیقت در محیطی است که اغلب غیرقابل اعتماد تلقی می شود. این با اطمینان از قابل درک بودن مبانی نظری و پیش نیازها به دست می آید. بنابراین، ساختار مقاله را می توان به صورت زیر ترسیم کرد. بخش دوم با اشاره به مفاهیم اساسی و کاربردهای اولیه آن، یک نمای کلی از فناوری ارائه می دهد. بخش سوم طیف گسترده ای از الگوریتم های اجماع را ارائه می کند که توسط پلتفرم های بلاک چین معمولی استفاده می شوند، از جمله آن هایی که هم در بلاک چین های بدون مجوز و هم در بلاک چین های مجاز استفاده می شوند، زیرا پارادایم ها و روندهای دنبال شده در هر یک متفاوت است [7]. همچنین هدف آن ارائه درک درستی از نقاط قوت و ضعف آنها و همچنین درک مبادلاتی است که بین رویکردهای اجماع مختلف ظاهر می شود. بخش 4 عملکرد اجماع بلاک چین را مورد بحث قرار می دهد. علاوه بر این، این ایده را مطرح می کند که انصاف یک ویژگی عملکرد مهم در بلاک چین است که معمولا نادیده گرفته می شود. در بخش پنجم، روند رایج فعلی در توسعه اجماع، همراه با برخی از منتقدان این روند، شناسایی شده است. بخش 6 راه حل های پیشنهادی جدید و استراتژی های جدید برای اثبات محدودیت های کاری، یعنی حمله 51 درصدی، تحریم تراکنش استخراج کننده، مصرف انرژی بالا و حملات Sybil را ارائه می کند. بخش 7 بینشی در مورد محاسبات کوانتومی ارائه می دهد که خود را به عنوان یک تهدید قریب الوقوع نشان می دهد که می تواند برای فناوری بلاک چین در شکل فعلی آن مشکلاتی ایجاد کند. در نهایت، بخش 8 مفاهیم و تحلیل های ارائه شده در این مقاله را خلاصه می کند.

2. مروری بر فناوری بلاک چین و کاربردهای آن

همانطور که از نام آن پیداست ، یک blockchain به سادگی زنجیره ای از بلوک های حاوی اطلاعات است. این بلوک ها با استفاده از رمزنگاری در یک ساختار زنجیره ای مانند به هم وصل می شوند. از اصطلاح DLT (فناوری لجر توزیع شده) نیز برای اشاره به یک blockchain استفاده می شود. تحولات سریع در فناوری blockchain رخ داده است ، و اخیراً ، مورد بررسی های زیادی قرار گرفته است. این بخش با تلاش برای ارائه یک مرور کلی از این فناوری آغاز می شود و برنامه های بسیار شناخته شده و قابل توجه از blockchain نیز شرح داده می شود.

2. 1مفهوم blockchain به عنوان فناوری پشت cryptocurrency غیر متمرکز

blockchain برای اولین بار به عنوان یک فناوری ظاهر شد که اولین رمزنگاری غیر متمرکز [8] را قادر می سازد ، جایی که برای تأیید یا انکار معاملات ، هیچ مرجع مرکزی به بانک یا واگذار نشده لازم نبود. از آن زمان ، آن را به سایر برنامه های غیر متمرکز گسترش داده و منجر به تغییر پارادایم در معماری برنامه وب و چندین انقلاب در صنعت می شود. blockchain یک شبکه همتا به همسالان است که هیچ نقطه ای از خرابی ندارد [9،10]. این فن آوری هایی را که برای ده ها سال به روشی نوآورانه و مبتکرانه تأسیس شده است ، ترکیب می کند. این فن آوری هشویینگ (مانند SHA256 در بیت کوین یا Keccak256 در اتریوم) ، الگوریتم های اجماع و امضاهای دیجیتال را ترکیب می کند [4]. پس از بحران مالی سال 2008 ، Cryptocurrency پدیدار شد ، و چنین ارزها مبتنی بر فناوری blockchain است. این امر باعث می شود هر معامله صادر شده به کلیه گره های موجود در شبکه پخش شود و توسط الگوریتم اجماع تأیید شود [8،11]. معاملات شامل یک ساختار داده با چندین زمینه است ، یعنی آدرس های صادرکننده و گیرنده معامله ، مبلغی که باید در سکه ها منتقل شود و امضای دیجیتال صادرکننده. این تضمین می کند که معامله توسط مدعی آن صادر شده است [12]. هنگامی که یک همسالان به blockchain (گره) متصل می شود ، به شبکه می پیوندد و یک حساب ایجاد می کند ، باید با استفاده از یک مدل ریاضی شناخته شده ، یعنی رمزنگاری منحنی بیضوی ، یک جفت کلید منحصر به فرد ایجاد کند [13]. این شامل یک کلید عمومی است که برای تأیید امضای عمومی شناخته شده و ضروری است و یک کلید خصوصی که برای امضای معامله استفاده می شود. این وظیفه هر گره است که کلید خصوصی خود را مخفی نگه دارد تا معاملات از طرف آن امضا نشود [14]. امنیت این سیستم مبتنی بر این واقعیت است که هر معامله فقط توسط صاحب کلید خصوصی قابل امضا است و امضای آن فقط با کلید عمومی مربوطه قابل تأیید است [8]. علاوه بر این ، blockchain ضد آب است ، به این معنی که داده ها یا معاملات هرگز نمی توانند پس از ذخیره در دفترچه blockchain ، حذف ، انکار یا تغییر یا تغییر شوند. ضروری است که همه همسالان این شبکه دارای یک نسخه یکسان از جدیدترین دفترچه blockchain باشند. به این معنا ، blockchain شامل تاریخچه کلیه معاملات صادر شده است ، و این امکان را برای همه همسالان در شبکه فراهم می کند تا همه مانده حساب را پیگیری کنند. blockchain به عنوان یک ساختار ضد دستکاری به دو مفهوم متکی است [4]:

مفهوم اول: بلوک ها از طریق هش آنها به هم پیوند می خورند. برای یافتن یک هش معتبر ، معدنچیان باید یک معمای ریاضی دشوار را حل کنند ، که به قدرت هشدار دهنده نیاز دارد. معمولاً از الگوریتم هش Sha256 [15] استفاده می شود ، اگرچه دیگر از الگوریتم های هش امن نیز می توان استفاده کرد. سایر الگوریتم های هش که می توان از آنها استفاده کرد شامل Scrypt است که توسط Litecoin [16] و SHA256D استفاده می شود که توسط PeerCoin استفاده می شود [17]. به عبارت دیگر ، هر الگوریتم هش می تواند تا زمانی که با اصول اصلی زیر مطابقت داشته باشد ، قابل استفاده باشد: (i) ورودی های مختلف ممکن است هرگز به همان هش منجر نشود.(ب) هنگامی که مقدار هش محاسبه شده داده شود ، هیچ روش ریاضی برای استخراج ورودی که منجر به یک مقدار خاص هش می شود وجود ندارد ، بنابراین ، هر هش بلوک جدید با استفاده از هش بلوک قبلی محاسبه می شود و بنابراین ، دستکاری زنجیره ای فقط می توانددر صورت تغییر همه هش ها ، تشخیص داده می شود.

مفهوم دوم: خاصیت ضد دستکاری blockchain بر اساس قانون "طولانی ترین پیروزی زنجیره ای" است. این بدان معناست که اگر کسی مشغول دستکاری در دفترچه و تغییر هش ها بر این اساس باشد ، باید در یک دوره موقت یک بلوک جدید اضافه شده باشد.

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

بلوک های موجود در blockchain شامل دو بخش است: یک بخش هدر حاوی هش بلوک ، جدول زمانی و هش بلوک قبلی و بخش دیگری که شامل معاملات جمع آوری شده توسط معدنکار بلوک است. در مورد بیت کوین ، بخش هدر حاوی غیرقانونی است که برای محاسبه هش ، یک زمینه اضافی به نام Merkle Root استفاده می شود و معاملات در یک ساختار درخت مرکل قرار می گیرند. درخت مرکل نوعی درختی است که در آن عناصر پایه پایین به برگ خوانده می شوند و عنصر بالای آن را ریشه مرکل نامیده می شود. هر گره برگ هش از یک معامله خاص در داخل بلوک است و هر گره غیر برگ یک هش از دو کودک خود است ، همانطور که در شکل 1 نشان داده شده است. درختان مرکل برای تأیید پرداخت ساده استفاده می شوند. اگر معاملات در ساختار درخت Merkle سازماندهی نشده باشند ، تأیید کنند که یک معامله خاص در یک بلوک خاص قرار دارد ، یک کاربر باید تمام معاملات موجود در بلوک را بارگیری کند ، هش مربوطه را خروجی کند و آن را با هش بلوک مقایسه کند. بنابراین ، برای یک بلوک با معاملات N ، کاربر باید معاملات N را بارگیری کند. از طرف دیگر ، اگر معاملات در یک ساختار درخت مرکل سازماندهی شوند ، برای بررسی یک معامله واحد ، کاربر فقط به هشداری نیاز دارد که معامله خود را به درخت مرکل برساند. علاوه بر این ، برای یک بلوک با معاملات N ، کاربر فقط نیاز به بارگیری عناصر l o g (n) دارد.

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

2. 2blockchain فراتر از cryptocurrency

فناوری blockchain از زمانی که Satoshi Nakamoto برای اولین بار ایده بیت کوین را به عنوان یک رمزنگاری غیر متمرکز معرفی کرد ، به طرز چشمگیری تکامل یافته است [8]. امروز بیت کوین به یک نقطه عطف کلیدی رسیده است و بسیاری از مشاغل اکنون پرداخت های بیت کوین را می پذیرند. با توجه به اینکه بیت کوین ارزش خود را برای یک دهه به اثبات رسانده است و به دلیل محبوبیت عظیم آن ، تعدادی از ارزهای رمزنگاری شده از آن زمان پدید آمده است ، از جمله Litecoin ، Namecoin ، PeerCoin و Dogecoin [18]. امروز ، مفهوم blockchain از هدف اصلی خود فراتر رفته است. blockchain از این که فناوری در پشت ارز رمزنگاری شده است به عنوان فناوری عدم تمرکز [9] تکامل یافته است.

2. 2. 1. blockchain برای برنامه ها و نرم افزارهای غیر متمرکز

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

برنامه های blockchain غیر متمرکز ممکن است به روش های زیر به عنوان گزینه های بهتری برای برنامه های وب سنتی در نظر گرفته شوند:

این شبکه بدون سانسور را امکان پذیر می کند ، همانطور که در شکل 2 نشان داده شده است. این امر به این دلیل است که هر داده ای که در blockchain به اشتراک گذاشته شود غیرقابل تغییر و غیرقابل توصیف است. در واقع ، برای رد هر محتوا ، بلوک های جدید باید به بلوک اضافه شوند که قبل از آن حاوی محتوای نامطلوب باشد تا زمانی که این بلوک در شاخه ای کوچکتر که می توان از آن عبور کرد ، ناپدید شود [20].

این "ضد هک" است به این دلیل که یک نسخه از دفترچه blockchain توسط همه گره ها نگهداری می شود. بنابراین ، یک هکر باید برای شکستن سیستم به نیمی از گره های موجود در شبکه شکسته شود [21].

2. 2. 2. blockchain در دنیای صنعتی

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

Blockchain اکنون در حال ایجاد سازگاری با سیستم عامل های مجاز برای شرکت ها و سازمان های صنعتی است [24]. برخلاف یک blockchain باز ، که در آن گره ها شبه ناشناس هستند و شبکه باز است ، یک blockchain مجاز یک محیط بسته است که در آن طرف های متعلق به همان صنعت یا سازمان می توانند به صورت غیر متمرکز و توزیع شده تعامل داشته باشند. روش - با استفاده از سرور پایگاه داده مرکزی. استفاده از یک blockchain مجاز ، انگیزه زیر دارد. این احزاب را قادر می سازد از تکیه بر یک معماری متمرکز که در آن یکپارچگی داده ها به برخی از مدیران دسترسی کامل به پایگاه داده بستگی دارد ، جلوگیری کنند و بنابراین کنترل کامل سیستم و توانایی دستکاری در آن را دارند. در مقابل ، استفاده از یک معماری غیرمتمرکز تضمین می کند که هر گره یا حزب در سازمان ، نسخه ای از یک دفترچه ضد دستکاری و اعتبار لجر را در اختیار دارد. علاوه بر این ، صحت توافق می شود و بین همه احزاب درگیر اجماع حاصل می شود. علاوه بر این ، یک معماری غیرمتمرکز در برابر هکرها مصون است زیرا آنها باید به بیش از نیمی از گره های شبکه دسترسی پیدا کنند تا بتوانند داده ها را فاسد کنند [25]. برعکس ، در یک معماری سنتی و متمرکز شبکه ، یک هدف واحد وجود دارد که شامل پایگاه داده مرکزی است. این امر باعث می شود اطلاعات منشاء کالا و مبلمان در دسترس باشد و شفافیت لجستیکی و کیفیت زنجیره تأمین را بهبود می بخشد. در واقع ، با توجه به سناریوی مدیریت زنجیره تأمین ، blockchain قرار است منشأ هر نوع مؤلفه یا مواد اولیه را که در فرآیند تولید محصول استفاده می شود ، ردیابی کند [23] ؛بنابراین ، هر مؤلفه یا ماده ای غیرفعال می تواند به منشأ آن بازگردد ، و بنابراین ، برای طرف مسئول می تواند مقصر بودن را انکار کند ، و اطمینان حاصل کند که هر محصولی با اجزای معیوب می تواند از بازار خارج شود. علاوه بر این ، چرا از blockchain در مدیریت زنجیره تأمین از طریق سیاهههای سنتی در یک پایگاه داده مرکزی استفاده می کنید؟در واقعیت ، یک زنجیره تأمین ممکن است احزاب مختلف صنعتی از کشورهای مختلف را درگیر کند (به عنوان مثال ، هر یک از نهادها می توانند پایگاه داده خود را داشته باشند و دسترسی انحصاری خاص خود به زنجیره را داشته باشند). بنابراین ، در یک واقعه ناگوار که یک مؤلفه معیوب وجود دارد ، بعید است که طرف مسئول بخواهد داده هایی را به اشتراک بگذارد که ممکن است مقصر بودن آنها را در این موضوع نشان دهد.

نهادهای درگیر این گزینه را دارند که بتوانند یک پایگاه داده مشترک را که در ابر میزبانی شده است ، اجاره دهند ، اما همه طرفین باید به آن دسترسی داشته باشند و باید بتوانند داده ها را به خواست خود دستکاری کنند. علاوه بر این ، همه طرفین باید بتوانند به هزینه خدمات ابری کمک کنند. در حقیقت ، چنین حادثه ای قبلاً اتفاق افتاده است. در سال 2012 ، Hypermarkets Walmart گوشت خوک و انبه آلوده را دریافت کرد و در نتیجه مسمومیت چندین مشتری شد. والمارت سعی کرد محصولات آلوده را به یاد بیاورد ، اما آنها نتوانستند اثبات مربوط به محصولات را ردیابی کنند. بنابراین ، والمارت برای جلوگیری از فروش بیشتر ، مجبور شد تمام سهام گوشت خوک و انبه را از فروشگاه های خود خارج کند. این امر باعث خسارات قابل توجهی شد و آنها مسئولیت کامل در مورد سلامتی مشتریان آسیب دیده را به عهده گرفتند [26]. والمارت متعاقباً تصمیم به استفاده از محلول blockchain IBM ، که مبتنی بر پارچه Hyperledger است ، برای پیگیری تمام محصولات خریداری شده آنها استفاده کرد [27] ؛این امر برای اطمینان از ردیابی اجزای معیوب و مواد اولیه است.

فراتر از مدیریت زنجیره تأمین ، فناوری blockchain در هر فرآیند اجرا شده است که احزاب مختلفی را به طور جداگانه کار می کند. با این حال ، نتایج وظایف آنها به هم وابسته بوده و به هماهنگی نیاز دارند [27]. علاوه بر این ، هر زمان که هر تیم یا فردی هر کار را انجام دهد ، در blockchain وارد می شود. بنابراین ، به عنوان یک نتیجه از ویژگی های کلیدی فناوری blockchain ، تاریخ و اطلاعات مرتبط با همه کارهای به دست آمده می تواند برای همیشه ذخیره شود و بین طرفین درگیر به روشی شفاف و غیر متمرکز به اشتراک گذاشته شود ، بنابراین همگام سازی کارها را آسان تر می کندبشردرمجموع ، هنگامی که مشکلی رخ می دهد ، فناوری blockchain اجازه می دهد تا ریشه مشکل را با سهولت ردیابی کند ، از جمله شخصی که ممکن است مسئولیت مشکلات ناشی از آن را بر عهده داشته باشد. این مهم است زیرا برخی از گسل های حرفه ای می توانند عواقب شدیدی داشته باشند [28].

2. 3قراردادهای هوشمند

این ناعادلانه است که بدون بحث در مورد قراردادهای هوشمند ، فناوری blockchain را ذکر کنیم. قراردادهای هوشمند کدهای رایانه ای هستند که شرایط توافق بین دو یا چند طرف را مشخص می کنند و باید توسط اعضای شبکه تأیید شوند [29]. این برنامه های رایانه ای (پروتکل ها) ، که در blockchain منتشر می شوند ، برای فعال کردن معاملات معتبر که بدون شخص ثالث انجام می شود ، استفاده می شود. این معاملات قابل ردیابی و برگشت ناپذیر است [30]. در سال 1994 ، قراردادهای هوشمند برای اولین بار توسط نیک سزابو پیشنهاد شد ، که برای اولین بار این اصطلاح را ابداع کرد و بعداً ، این یک اصطلاح عمومی در ارتباط با بیت کوین شد. در واقع ، بیت کوین اجازه می دهد تا یک اسکریپت به هر معامله ای اضافه شود تا یک شرط را تنظیم یا انجام دهد [31]. معاملات بیت کوین باید دارای یک فرمت خاص به نام خروجی معامله Unspent (UTXO) باشد و آنها باید دارای ورودی و خروجی باشند [8]. شکل 3 معاملات بیت کوین را با فرمت UTXO نشان می دهد. به عنوان مثال ، اگر آلیس معامله ای را صادر کند که در آن سه بیت کوین را به علی ارسال می کند ، ورودی این معامله سه بیت کوین است و به عنوان یک خروجی ، این معامله خاطرنشان می کند که این سه سکه برای علی است. اگر علی بخواهد از این بیت کوین ها استفاده کند و آنها را به شخص دیگری بفرستد ، ورودی معامله باید به خروجی معامله آلیس مراجعه کند تا سکه ها را به نقطه مبدأ آنها ردیابی کند. به همین روش ، معامله آلیس به علی باید نقطه ورودی خود را از خروجی معامله به عنوان نقطه مبدا که از آن سکه ها دریافت کرده است ، داشته باشد. این به عقب برگردد تا اینکه یک معامله پایه سکه تشخیص داده شود. این نوع معامله پاداش معدن را به گره معدنکار شایسته ارائه می دهد و هیچ ورودی ندارد. این فرمت ورودی و خروجی امکان تأیید هرگونه شرط یا مشخصات تعیین شده به عنوان یک اسکریپت را فراهم می کند ، بنابراین بر شرایط مربوط به انتقال سکه ها تأثیر می گذارد. به عنوان مثال ، اگر آلیس شرط معامله خود را تعیین کرده باشد ، با بیان اینکه سکه هایی که وی در حال انتقال است فقط می تواند دو ماه پس از تاریخ صدور معامله صرف شود ، زیرا علی باید در ورودی معامله خود به خروجی معامله آلیس مراجعه کند. بنابراین هر کسی می تواند شرایط از پیش تعریف شده را بررسی کند و بر این اساس آن معامله را تأیید یا انکار کند. با توجه به اینکه سکه ها تا دو ماه پس از تاریخ معامله نمی توانند صادر شوند ، هر کسی می تواند بررسی کند که آیا علی مجاز به خرج کردن سکه ها است ، و بنابراین ، آیا آنها باید معامله را بپذیرند یا خیر.

این ایده متعاقباً از فرم های اسکریپت ساده به کدهای الگوریتمی پیشرفته تر و پروتکل های رایانه ای که به طور خاص برای تعیین شرایط پیچیده تر در قالب کدهای قرارداد طراحی شده اند ، گسترش یافته است. این کدها با استفاده از مجموعه ای از قوانین قفل شده ، بدون نیاز به احراز هویت شخص ثالث ، جریان خودکار داده های توزیع شده از طریق گره های شبکه را حاکم می کنند. قراردادهای هوشمند blockchain ابتدا توسط اتریوم معرفی و سپس در سایر سیستم عامل های اصلی blockchain ادغام شدند [32].

3. پروتکل های اجماع blockchain

اول ، اجماع در مورد استفاده از پروتکل هایی است که عمدتاً دیکته می کند که چگونه گره های موجود در شبکه با یکدیگر موافق هستند ، با توجه به دفترچه ای که آنها در اختیار دارند و نظمی که معاملات در آن در بلوک تازه استخراج شده ذکر شده است. این می تواند بدون استفاده از الگوریتم های اجماع ، یک کار کاملاً دشوار باشد ، زیرا منظور آنها برای خدمت به دو الزام برجسته است: ایمنی (یک بلوک جدید و معتبر که به blockchain متعهد است دیگر قابل تغییر نباشد) و اراده [33]. این بدان معناست که اگر او سعی کند بلوکی را که اثبات شده است (به روشی قابل اثبات) معتبر باشد ، در نهایت تأیید شود. بنابراین ، یک blockchain غیرمتمرکز خوب به یک الگوریتم اجماع خوب متکی است تا با فعال کردن گره ها برای دستیابی به توافق و حفظ blockchain به روز شده ، آن را تعدیل کند [34]. علاوه بر این ، این بخش با هدف ارائه یک مرور کلی در مورد چگونگی دستیابی به اجماع در blockchains با جزئیات دقیق اجماع مورد استفاده در سیستم عامل های blockchain که بیشترین سرمایه را دارند ، ارائه شده است.

3. 1اجماع در blockchains بدون مجوز

blockchains بدون اجازه مانند بیت کوین [8] ، Ethereum [35] و سیستم های مبتنی بر مونرو نیازی به اشخاص از پیش تعیین شده برای دستیابی به اجماع غیر متمرکز ندارند [36]. اگرچه می توان از Ethereum برای فعال کردن برنامه های غیر متمرکز در یک شبکه blockchain خصوصی استفاده کرد [37] ، گره های عمومی می توانند بدون نیاز به مجوز به blockchain بپیوندند. علاوه بر این ، اجماع با هدف اطمینان از صحت معاملات و داده هایی که متعهد به blockchain در محیطی هستند که کاربران به یکدیگر نمی شناسند یا به آنها اعتماد ندارند [38]. ماهیت اجماع در چنین محیطی عمدتاً مبتنی بر اثبات است [39] ، با گره ها برای به دست آوردن این امتیاز برای افزودن یک بلوک جدید به زنجیره فعلی رقابت می کنند. در یک اجماع مبتنی بر اثبات ، برای هر گره ای که یک بلوک جدید را پیشنهاد می کند ، اجباری است تا اثبات شود که بتواند توسط گره های دیگر تأیید شود. این امر برای اطمینان از مجازات بودن آنها در صورتی که این بلوک حاوی داده های نامعتبر یا معاملات باشد ، مجازات می شوند. علاوه بر این ، از آنجا که هزینه های پیشنهاد بلوک جدید قابل توجه است ، گره ای که این بلوک را پیشنهاد می کند می تواند ضرر شدید را تجربه کند اگر بلوک پیشنهادی توسط بیشتر گره های دیگر در شبکه پذیرفته نشود [40].

3. 1. 1. پروتکل های اجماع مبتنی بر اثبات

در این زیر مجموعه ، ما به طور خلاصه اصول اولیه الگوریتم های اجماع مبتنی بر اثبات را ترسیم می کنیم. علاوه بر اثبات اصلی کار (POW) ، پیشنهاد شده توسط ناکاموتو [8] ، بسیاری از انواع دیگر تکامل یافته اند که ما در اینجا برای تعیین مزایا و مضرات ترکیب آنها در سیستم بحث می کنیم.

اثبات کار (POW)

POW یک معمای ریاضی است که گره های شبکه باید آن را حل کنند تا بتوانند یک بلوک جدید به دفترچه اضافه کنند. این فرایند معدن نامیده می شود و گره های درگیر معدنچیان هستند. این معما شامل پیدا کردن هش برای بلوک برای معدن است و هش در سمت راست خود تعداد مشخصی از صفرها دارد. تعداد صفرها خاصیت معروف به مشکل معدن را تعریف می کند. علاوه بر این ، هش بلوک با هماهنگی همه زمینه های بلوک محاسبه می شود ، بنابراین رشته ای طولانی را تشکیل می دهد که با استفاده از الگوریتم SHA256 هشدار داده می شود. هش کردن همان رشته با الگوریتم SHA256 همیشه نتیجه مشابهی را تولید می کند. به همین دلیل ، POW برای اثبات تلاش انجام شده توسط یک گره از فیلدی به نام Nonce استفاده می کند. این برای اطمینان از حق خود برای پیوستن به بلوک خود به زنجیره است. نقش معدنچی این است که مقادیر مختلف NONCE را امتحان کنید تا زمانی که با مقداری روبرو شود که شرایط دشواری را برآورده کند. این بدان معنی است که استخراج بلوک از نظر منابع و زمان پرهزینه است. در واقع ، استخراج یک بلوک برای بیت کوین بین 531 دلار تا 26،170 دلار خیره کننده است [41]. هر زمان که یک معدنچی با حدس زدن مقدار مخفی (قسمت Nonce) معما را حل کند ، بلوک را به زنجیره اضافه می کند و آن را به شبکه می فرستد. زمانی که بلوک پیدا شد ، جدول زمانی نامیده می شود. اگر طولانی ترین مورد باشد ، زنجیره آن فقط به عنوان دفترچه جدید جدید پذیرفته می شود. به عبارت دیگر ، هر زمان که یک گره در شبکه blockchain یک زنجیره جدید را دریافت کند ، ابتدا با تأیید اعتبار همه هشوها ، اعتبار خود را بررسی می کند و با استفاده از هش بلوک قبلی ، هش هر بلوک محاسبه می شود. اعتبار معاملات در آخرین بلوک نیز باید تأیید شود و در آخر ، طول آن باید بیشتر از روشی باشد که در حال حاضر در آن وجود دارد. هنگامی که این شرایط برآورده شود ، گره زنجیره ای را به عنوان دفترچه معتبر جدید می پذیرد. اولین گره که معما را حل می کند و بلوک جدید را به زنجیره اضافه می کند ، طولانی ترین زنجیره معتبر جدید را پخش می کند ، و آنها پاداش معدن را دریافت می کنند ، بنابراین روند استخراج معادن را به یک روند دشوار ، رقابتی و یک سرمایه گذاری پرسود در همان تبدیل می کندزمان [8]. چرخه پس از پیوستن به بلوک جدید به blockchain ، چرخه شروع می شود. بنابراین ، اندازه blockchain می تواند به طور نامحدود افزایش یابد. POW باعث می شود از نظر مالی برای معدنچیان سودمندتر شود تا رفتار صادقانه را با نگه داشتن سیستم در نظم مناسب نشان دهند و نه تلاش برای دستکاری در دفترچه یا شامل معاملات نامعتبر [42].

Mathematics 10 02754 g004 550

مشهورترین ارزهای رمزنگاری شده از الگوریتم اجماع POW بیت کوین و اتریوم هستند [43]. الگوریتم POW همیشه به اثبات نیاز داشته است زیرا قدیمی ترین الگوریتم موجود در فناوری blockchain است. همچنین به بیت کوین اجازه داد تا به عنوان امن ترین و قابل اطمینان ترین رمزنگاری پیروز شود. در واقع ، از سال 2009 ، بیت کوین از نظر سرمایه گذاری در بازار به عنوان شماره یک رتبه بندی شده است [44]. الگوریتم POW باعث می شود فناوری blockchain ضد آب ، قوی و ایمن باشد و از هزینه های مضاعف جلوگیری می کند. با این حال ، قابلیت توان محدودی دارد. در واقع ، در نتیجه الگوریتم ، تخمین زده می شود که blockchain فقط می تواند 27 معاملات در ثانیه را تسهیل کند. این به این دلیل است که محدودیت هایی بر اندازه مجاز بلوک ها و زمان لازم برای معدن بلوک ها قرار می گیرد [45]. علاوه بر این ، هزینه های قابل توجهی در ارتباط با معدن blockchain وجود دارد. فرآیند استخراج معادن به دلیل مقادیر زیادی انرژی که برای تأمین سخت افزار بسیار قدرتمند که مجهز به blockchain است ، انرژی زیادی را مصرف می کند [46]. شکل 4 نشان می دهد که سالانه ، بیت کوین از برق بیشتری نسبت به کل آرژانتین استفاده می کند. اگر بیت کوین یک کشور بود ، در 30 کاربر برتر انرژی در سراسر جهان قرار می گرفت [47].

مشهورترین ارزهای رمزنگاری شده از الگوریتم اجماع POW بیت کوین و اتریوم هستند [43]. الگوریتم POW همیشه به اثبات نیاز داشته است زیرا قدیمی ترین الگوریتم موجود در فناوری blockchain است. همچنین به بیت کوین اجازه داد تا به عنوان امن ترین و قابل اطمینان ترین رمزنگاری پیروز شود. در واقع ، از سال 2009 ، بیت کوین از نظر سرمایه گذاری در بازار به عنوان شماره یک رتبه بندی شده است [44]. الگوریتم POW باعث می شود فناوری blockchain ضد آب ، قوی و ایمن باشد و از هزینه های مضاعف جلوگیری می کند. با این حال ، قابلیت توان محدودی دارد. در واقع ، در نتیجه الگوریتم ، تخمین زده می شود که blockchain فقط می تواند 27 معاملات در ثانیه را تسهیل کند. این به این دلیل است که محدودیت هایی بر اندازه مجاز بلوک ها و زمان لازم برای معدن بلوک ها قرار می گیرد [45]. علاوه بر این ، هزینه های قابل توجهی در ارتباط با معدن blockchain وجود دارد. فرآیند استخراج معادن به دلیل مقادیر زیادی انرژی که برای تأمین سخت افزار بسیار قدرتمند که مجهز به blockchain است ، انرژی زیادی را مصرف می کند [46]. شکل 4 نشان می دهد که سالانه ، بیت کوین از برق بیشتری نسبت به کل آرژانتین استفاده می کند. اگر بیت کوین یک کشور بود ، در 30 کاربر برتر انرژی در سراسر جهان قرار می گرفت [47].

فارکس کاران ایران...
ما را در سایت فارکس کاران ایران دنبال می کنید

برچسب : نویسنده : ديناروند فهيمه بازدید : <-PostHit-> تاريخ : جمعه 19 خرداد 1402 ساعت: 12:43