
این مقاله نسخه گسترده ای از مقاله ما است که در نهمین کارگاه و کنفرانس سالانه محاسبات و ارتباطات سالانه IEEE (CCWC) ، لاس وگاس ، NV ، ایالات متحده ، 7-9 ژانویه 2019 منتشر شده است. این نسخه شامل ایده های اضافی ، الگوریتم ها ، نتایج تجربی است. و همچنین جداول مقایسه و بحث بیشتر.
خلاصه
blockchain یک دفترچه توزیع شده است که یک اجماع توزیع شده در مورد تاریخچه معاملات را تشکیل می دهد و فناوری اساسی برای رمزنگاری بیت کوین است. برنامه های آن بسیار فراتر از بخش مالی است. فرآیند تأیید معامله برای ارزهای رمزپایه بسیار کندتر از سیستم های معاملات دیجیتال سنتی است. یک رویکرد برای مقیاس پذیری یا سرعت پردازش معاملات ، طراحی راه حلی است که اثبات سریعتر کار را ارائه می دهد. در این مقاله ، ما روشی را برای تسریع در روند اثبات کار بر اساس معدن موازی به جای معدن انفرادی پیشنهاد می کنیم. هدف این است که اطمینان حاصل شود که بیش از دو یا چند معدنکار تلاش مشابهی را برای حل یک بلوک خاص انجام نمی دهند. روش پیشنهادی شامل فرایندی برای انتخاب یک مدیر ، توزیع کار و یک سیستم پاداش است. این روش در یک محیط آزمایشی اجرا شده است که شامل تمام ویژگی های مورد نیاز برای انجام اثبات کار برای بیت کوین است و با استفاده از انواع سناریوهای موردی ، با تغییر سطح دشواری و تعداد اعتبار سنج ها ، با استفاده از انواع سناریوهای موردی مورد آزمایش قرار گرفته است. ارزیابی های تجربی به صورت محلی و در یک محیط ابر انجام شد و نتایج تجربی امکان سنجی روش پیشنهادی را نشان می دهد.
1. معرفی
در سیستم های مالی معمولی ، شخص ثالث دائماً موظف است معاملات را تأیید کند. به عنوان مثال ، اگر شخصی بخواهد با استفاده از کارت اعتباری یا بدهی ، محصولی را از بازار خریداری کند ، معامله توسط یک بانک یا موسسه مالی دیگر تأیید می شود. اگر او بخواهد از پول نقد برای خرید استفاده کند ، ابتدا باید پول را از بانک برداشت کند ، به این معنی که شخص ثالث همیشه برای اعتبار یا تأیید معامله به طور مستقیم یا غیرمستقیم درگیر است. به این معنا ، معاملات از طریق شخص ثالث متمرکز می شوند. در نتیجه ، همیشه احتمال یک نقطه شکست وجود دارد. هدف از blockchain ، که می تواند بدون اجازه باشد یا اجازه ، ایجاد یک چارچوب غیر متمرکز است [1]. یک cryptocurrency از blockchain عمومی یا بدون اجازه استفاده می کند تا همه بتوانند در انجام معاملات شرکت کنند. در مقابل ، شبکه های مجوز blockchain به شبکه اجازه می دهند گروهی از شرکت کنندگان را که به آنها اختیار داده می شود در یک فرآیند اعتبار سنجی بلوک شرکت کنند. این می تواند در یک سازمان یا شبکه خصوصی اعمال شود. برای معاملات ، این یک رکورد منتشر شده را ارائه می دهد که شامل تاریخچه هر معامله تأیید شده است. این سیستم همچنین یک سیستم مشترک را ارائه می دهد که در آن خود مشتری ها می توانند مبادلات مشتری های مختلف را بدون ادغام هیچ انجمن خارجی بررسی کنند. علاوه بر این ، این blockchain همچنین تمام معاملات و اطلاعات کاربر را ناشناس نگه می دارد و یک نسخه از دفترچه در حال رشد مداوم را برای هر کاربر سیستم فراهم می کند.
با این حال ، مانند همه سیستم های دیگر ، blockchain نگرانی هایی را ارائه می دهد [2،3] ، که یکی از آنها مهمترین مسئله مقیاس پذیری است - نرخ در معاملات در شبکه بیت کوین پردازش می شود. صدها ارز رمزنگاری شده در بازار در حال حاضر از شبکه blockchain برای معاملات ، استخراج معدن و نگهدارنده استفاده می کنند. همه ارزهای رمزپایه با مشکلات مقیاس پذیری روبرو هستند ، اما ویزا ، ارائه دهنده معاملات سنتی ، در حال حاضر به اوج 10،547 معاملات در ثانیه رسیده است [4]. سرعت معامله برای ارزهای رمزپایه مختلف به دلیل پروتکل های مربوطه متفاوت است. جدول 1 سرعت معامله و زمان تأیید ارزهای رمزنگاری شده مختلف را نشان می دهد که از [5] اقتباس شده است.
Blockchain برخی از مؤلفه ها یا ویژگی های منحصر به فرد را ارائه می دهد که آن را از سیستم های سنتی متمایز می کند. برای درک blockchain ، درک این خصوصیات لازم است.
1. 1معدن و معدنچی
یک ارز دیجیتال به نوعی سیستم نیاز دارد تا یکی از طرف های تصمیم گیری را از مدیریت آن باز دارد. یک سیستم غیرمتمرکز هیچ متخصصی برای تعیین این تکلیف ندارد. از این رو بلاک چین پروتکلی را تنظیم می کند که توسط آن ماینرها باید برای برآورده ساختن همه الزامات این کار، کارهایی را انجام دهند [6]. هر فردی با قدرت محاسباتی و پردازنده مورد نیاز می تواند ماینر باشد. اساساً، سه وظیفه ماینر وجود دارد: تأیید معاملات. برای ایجاد یک بلوک جدید حاوی تراکنش ها؛و بلافاصله بلوکی که ایجاد شده را تأیید کنید. برای ایجاد یک بلوک جدید، ماینرها باید یک هش را پیدا کنند، که نتیجه یک محاسبات رمزنگاری است که بلوک جدید را با پیشینش ارتباط می دهد. پس از یافتن یک هش یا راه حل، یک ماینر می تواند یک بلوک ایجاد کرده و آن را به بلاک چین اضافه کند. سپس سایر ماینرها راه حل را تأیید می کنند. به عنوان یک انگیزه، ماینر مقدار خاصی از ارز دیجیتال را به عنوان پاداش دریافت می کند. با این حال، ماینر باید قدرت محاسباتی کافی برای حل هش در بازه زمانی داشته باشد.
1. 2. اثبات کار
الگوریتمی که برای تایید تراکنش و افزودن بلوک های جدید به زنجیره استفاده می شود، اثبات کار [7] نامیده می شود. با Proof of Work، ماینرها برای پایان دادن به مبادلات در سیستم و دریافت غرامت، به مصاف یکدیگر می روند. یک دفتر کل غیرمتمرکز هر یک از مبادلات را در بلوک ها جمع می کند. زمانی که هر ماینری هش آن بلوک را حل کند، یک بلوک به بلاک چین اضافه می شود. هدف Proof of Work یافتن راه حل ممکن برای یک معمای پیچیده ریاضی است. پازل از عناصر بسیاری مانند پروتکل پازل و عملکرد هش تشکیل شده است. پیچیدگی پازل با رشد شبکه افزایش می یابد.
برای انواع مختلف ارزهای دیجیتال، انواع مختلفی از تکنیک ها به عنوان اثبات کار استفاده می شود. به عنوان مثال، بیت کوین از تکنیک رمزنگاری SHA-256 [8] استفاده می کند. لایت کوین نیز از نوع مشابهی از سیستم پیروی می کند که به نام رمزنگاری [8] شناخته می شود در حالی که اتریوم از الگوریتم Ethash [8] استفاده می کند. عناصری مانند زمان تراکنش، پیچیدگی و قدرت هش در ارزهای دیجیتال مختلف به دلیل الگوریتم های متفاوت متفاوت است.
1. 3. سیستم غیر متمرکز
یک پروتکل غیرمتمرکز باعث صرفه جویی در دارایی در بستری می شود که می تواند در اینترنت پیدا شود. از طریق یک پروتکل غیرمتمرکز ، صاحبان اقتدار مطلق بر منابع خود دارند و حق دارند در هر زمان با هر کسی دارایی مبادله کنند [9]. ماهیت ابتکاری blockchain راهی برای تشکیل یک سیستم غیر متمرکز در وب پیدا کرده است. این سیستم به صاحبان این امکان را می دهد تا بدون مشارکت شخص ثالث ، املاک خود را هر زمان که بخواهند پردازش کنند. افراد می توانند به طور خاص از مبادله با حداقل هزینه لذت ببرند. علاوه بر این ، یک سیستم غیر متمرکز مانند این برخلاف یک سیستم متمرکز ، هیچ نقطه ای از شکست را ندارد.
برای این منظور ، در این مقاله روشی را برای بهبود سرعت معامله و مقیاس پذیری سیستم های blockchain با گسترش کار قبلی خود در [10] و نتایج [11] ارائه می دهیم. در روش پیشنهادی ، همه معدنچیان از داده های معامله یکسان به جز NONCE برای یک بلوک خاص استفاده می کنند ، بنابراین اطمینان حاصل می کنند که هیچ معدنکار چندگانه همان کار را انجام می دهند ، که از طریق یک مدیر انجام می شود. این مدل با اثبات سنتی کار یا استخراج استخر بیت کوین [12] در چندین جنبه مانند مسئولیت های مدیر ، سهم معدنچیان فعال و سیستم پاداش متفاوت است.
باقیمانده این مقاله به شرح زیر سازماندهی شده است: بحث در مورد کار مرتبط در بخش 2 ارائه شده است ، در حالی که بخش 3 جزئیات روش پیشنهادی را به همراه توضیح در مورد ویژگی های آن ارائه می دهد. بخش 4 در مورد نتایج اجرای و ارزیابی سیستم پیشنهادی بحث می کند. چالش ها و راه حل ها در بخش 5 مورد بحث قرار گرفته است. سرانجام ، نتیجه گیری و ایده های مربوط به کارهای آینده در بخش 6 ارائه شده است.
2. کار مرتبط
فرایند انتخاب هماهنگ کننده برای بهبود عملکرد یک سیستم توزیع شده بسیار مفید است. در این رویکرد ، که برای اولین بار توسط جرارد للان [13] اجرا شد ، یک پروتکل اجماع با انتخاب هماهنگ کننده برای یک پردازنده جزئی همزمان همزمان پیشنهاد شده است [14]. هماهنگ کننده بخشی از کار را به همسالان در یک شبکه تقسیم و توزیع می کند ، جایی که تصمیم نهایی با استفاده از یک پروتکل اجماع گرفته می شود.
نوع مشابهی از کار برای انتخابات رهبر در سکوی بیت کوین در بیت کوین-NG انجام شد [15]. این امر با جداشدن وظیفه blockchain بیت کوین به دو هواپیما ، تغییر اعدام را انجام می دهد: انتخاب رهبر و سریال سازی تبادل. همچنین زمان به دوره تقسیم می شود ، جایی که هر دوره یک رهبر انفرادی دارد.
در بیت کوین-NG ، دو نوع بلوک وجود دارد: بلوک کلید و میکروبلاک. بلوک کلیدی شامل اطلاعات رهبر و همچنین اطلاعات مربوط به بلوک قبلی است. میکروبلاک شامل اطلاعات معامله است. بنابراین ، برای تولید بلوک کلیدی ، اثبات کار باید انجام شود. پس از انتخاب ، یک رهبر قادر است با استفاده از کلید خصوصی خود که حاوی اطلاعات معامله است ، میکروبلاک ها را صادر کند. میزان میکروبلاکی که به رهبر صادر شده است به سرعت امضای سرعت و تأخیر در انتشار شبکه بستگی دارد. میکروبلاکها هیچ اثبات کار ندارند. بنابراین بر وزن زنجیره ای تأثیر نمی گذارد.
چارچوبی برای استخراج موازی توسط بوین ، کار و هاینز ارائه شده است [16]. در اینجا ، هر معامله به حداقل دو معاملات تأیید شده دیگر وصل می شود و معدنچیان کلیه معاملات جدید را به صورت موازی تأیید می کنند. این شبکه به جای ساختار خطی ، شبیه به بیت کوین و شبکه Tangle که توسط IOTA استفاده می شود ، ساختار یافته است.
اثبات سهام ، که جایگزینی برای اثبات کار است ، برای ایجاد یک بلوک جدید در شبکه blockchain استفاده می شود [18]. در اثبات سهام ، یک اعتبار سنج برای هر بلوک بر اساس مقدار و مدت زمان سهام انتخاب می شود. اعتبار سنجی مسئول اعتبار سنجی یک بلوک در این سیستم است که در آن نیازی به حل یک معما نیست. علاوه بر این ، اعتبار سنج نمی تواند هیچ ارز را معدن کند ، اما در عوض فقط هزینه معامله را به عنوان پاداش دریافت می کند.
در چارچوب استخر بیت کوین (استخرهای معدن) ، بسیاری از معدنچیان به طور موازی در یک استخر با هم کار می کنند و از انرژی هش خود برای شناسایی راه حل برای بلوک استفاده می کنند. نتیجه این است که از مقدار قابل توجهی از قدرت هش برای حل پازل ریاضی استفاده می شود که با ترکیبی از انرژی محاسباتی همه معدنچیان در استخر یافت می شود. این پلتفرم امکان حل مشکل هش را افزایش می دهد. اگر یک بلوک حل شود ، پاداش بلوک به کلیه معدنچیانی که در ایجاد آن بلوک کمک کرده اند ، توزیع می شود. جوایز بلوک بسته به تلاش آنها برای ایجاد بلوک به معدنچیان ارائه می شود. روش های مختلفی ، مانند حداکثر دستمزد مشترک برای هر سهم (SMPP) ، پرداخت هزینه برای هر سهم با Backpay اخیر (CPPSRB) و حداکثر پرداخت مشترک برای هر سهم (ESMPPS) ، برای توزیع پاداش وجود دارد [19]. با این حال ، روند حل اثبات کار ، معدن و پاداش در استخرهای معدن متفاوت است.
به طور خلاصه ، معدنچیان بیت کوین به طور جداگانه برای پردازش معاملات و ایجاد بلوک بعدی در شبکه کار می کنند. در نتیجه ، برای هر بلوک ، تلاش همه معدنچیان به جز معدنکار موفق ، بی فایده می شود و از این رو نیاز به مقادیر گسترده انرژی است. مکانیسم موجود که در آن معدنچیان و/یا اعتبار سنج ها با یکدیگر همکاری می کنند (تحمل گسل بیزانس عملی یا استخراج استخر) برای ایجاد یک بلوک ، تمرکز را به شبکه می بخشد. اثبات موازی پیشنهادی کار ، معدنچیان را برای حل معما با توزیع میزان کار ، انگیزه می دهد. همچنین ، عدم تمرکز و ناشناس بودن در شبکه را حفظ می کند و در طول مسیر میزان انرژی مورد نیاز را کاهش می دهد.
3. روش راه حل پیشنهادی
برای انجام اثبات کار ، برخی از داده های استفاده شده توسط معدنچیان یکسان هستند ، از جمله شاخص بیت کوین ، مقدار هش بلوک قبلی و زمان سنج. با این حال ، محتوای معاملات و ارزش غیرقانونی انتخاب شده توسط معدنچیان ممکن است متفاوت باشد. روش پیشنهادی به گونه ای طراحی شده است که همه معدنچیان از داده های معامله یکسانی استفاده می کنند اما یک غیر متفاوت متفاوت هستند. این بدان معنی است که همه معدنچیان از داده های یکسان به جز NONCE برای یک بلوک خاص استفاده می کنند ، بنابراین اطمینان حاصل می کنند که هیچ معدنکار چندگانه همان کار را انجام نمی دهند.
برای تأمین چنین محیطی ، یک مدیر موظف است اطمینان حاصل کند که هیچ دو معدنچی از همان ارزش غیرقانونی استفاده نمی کنند و همه معدنچیان از داده های معامله یکسان استفاده می کنند. مدیر ، که از معدنچیان انتخاب می شود ، در هر دوره متفاوت خواهد بود. در اینجا ، یک دوره شامل فاصله زمانی بین دو بلوک است. در این حالت ، مدیر به جای معدنچی ، غیرقانونی را برای محاسبه انتخاب می کند. به این ترتیب ، مدیر می تواند اطمینان حاصل کند که هیچ دو معدنچی از همان ارزش غیرقانونی استفاده نمی کنند. مدیر همچنین مسئولیت ایجاد هش معامله را برای بلوک خاصی که مسئولیت آن را بر عهده دارد ، و کدام یک به همراه ارزش غیر CE را برای معدنچیان فراهم می کند. باز هم ، بر خلاف Nonces ، هش معامله باید برای همه معدنچیان یکسان باشد. در یک سیستم سنتی ، تمام گره ها به طور مستقیم یا از طریق یک گره دیگر به یکدیگر وصل می شوند. در سیستم پیشنهادی ، آنها هنوز هم به یکدیگر وصل می شوند و مستقیماً به مدیر وصل می شوند.
در شروع blockchain بدون هیچگونه معامله باید یک بلوک پیدایش وجود داشته باشد. در حالی که یک معدنچی به طور تصادفی به عنوان مدیر بلوک بعدی (بلوک 1) انتخاب می شود ، برای باقیمانده بلوک ها ، مدیر انتخاب شده کسی خواهد بود که قبل از بلوک قبلی بلوک را حل کرده است. همه کارگران معدن اکنون به دنبال روش سنتی ، برای حل بلوک پیدایش با یکدیگر رقابت می کنند. هنگامی که بلوک پیدایش توسط یک معدنچی حل می شود ، دوره برای بلوک بعدی آغاز می شود. راه حل پیشنهادی در این مرحله مؤثر خواهد بود.
3. 1توزیع داده ها
در ابتدا ، همانطور که در شکل 1 نشان داده شده است ، مدیر با معاملات تأیید نشده هش معامله ایجاد می کند و در عین حال ، چندین گروه از افراد غیرقانونی ایجاد می کند. هر گروه شامل طیف وسیعی از مقادیر غیر CE خواهد بود. هیچ مقدار غیرقانونی باید در چندین گروه باشد. اگر تعداد M از معدنچیان در شبکه فعال باشند ، مدیر در ابتدا باید حداقل تعداد گروه را تولید و ثبت کند. سپس مدیر هش معامله و گروههای غیر فعال را به هر معدنچی فعال توزیع می کند. این سیستم اطمینان حاصل می کند که هیچ دو معدنچی یک گروه ندارند. به استثنای مدیر ، همه معدنچیان اکنون سعی می کنند با داده های معامله موجود و دامنه غیرقانونی که به هر یک از آنها اختصاص یافته است ، راه حلی برای بلوک بعدی پیدا کنند.
در عین حال ، مدیر گروه های بیشتری از افراد غیرقانونی را تولید و ثبت می کند. هنگامی که یک معدنچی از تمام مقادیر غیرقانونی دامنه اختصاص داده شده استفاده کرد ، معدنچی از مدیر خواستار محدوده جدید Nonce خواهد بود. مدیر سپس دامنه بلااستفاده ای را برای آن معدنچی فراهم می کند. باز هم ، اگر یک معدنچی جدید وارد شبکه شود و از مدیر برای داده های مورد نیاز بخواهد ، مدیر همان داده های معامله و گروه جدیدی از افراد را در اختیار وی قرار می دهد. به همین دلیل ، مدیر باید تا آنجا که ممکن است گروه های غیرقانونی تولید کند. این فرایند تا زمانی که یک راه حل تعیین شده برای Nonce فعلی پیدا شود ادامه خواهد یافت.
3. 2انتخاب مدیر جدید
در روش پیشنهادی ، برای هر بلوک تغییر مدیر وجود خواهد داشت. اعتبار یک مدیر فقط برای یک بلوک خاص باقی خواهد ماند که مسئولیت آن را بر عهده دارد. فقط یک معدنچی که یک بلوک را حل می کند می تواند یک مدیر باشد. پس از حل یک بلوک ، یک معدنچی مدیر بلوک بعدی خواهد بود. بلوک Genesis هیچ مدیر ندارد زیرا هیچ معامله ای ندارد در حالی که مدیر بلوک 1 به طور تصادفی انتخاب می شود. برای باقیمانده بلوک ها ، مدیر انتخاب شده کسی خواهد بود که قبل از بلوک قبلی بلوک را حل کرده است. بنابراین ، با حل شماره بلوک N ، یک معدنکار مدیر بلوک (N+2) خواهد بود. در شکل 2 ، M5 بلوک پیدایش را حل کرده است ، از این رو مدیر بلوک 2 خواهد بود. پس از حل بلوک پیدایش ، M5 همچنان به عنوان یک معدنکار معمولی برای بلوک اول عمل خواهد کرد. هنگامی که بلوک اول حل شود ، M5 به عنوان مدیر بلوک دوم عمل می کند و نمی تواند با سایر معدنچیان مانند یک معدنکار معمولی رقابت کند.
3. 3سیستم پاداش
به عنوان یک پاداش ، یک معدنچی هزینه معامله را برای کلیه معاملات برای بلوک ایجاد می کند. معدنچی همچنین می تواند مقدار مشخصی از رمزنگاری را معدن کند که در حال حاضر (2018) در بیت کوین برای هر بلوک 12. 5 BTC است. در روش پیشنهادی ، با ایجاد یک بلوک ، معدنچی می تواند مقدار مشخصی از رمزنگاری را معدن کند. با این حال ، معدنکار تمام هزینه های معامله را برای کلیه معاملات دریافت نمی کند. در عوض ، هزینه ها با مدیر تقسیم می شود ، که 65 ٪ از هزینه معامله را دریافت می کند در حالی که 35 ٪ باقی مانده به معدنچی که بلوک را حل کرده است اهدا می شود. نمونه ای در شکل 2 ارائه شده است ، که در آن بلوک 3 توسط M2 با M12 به عنوان مدیر آن بلوک حل می شود. M2 و M12 به ترتیب 35 ٪ و 65 ٪ از هزینه معامله دریافت می کنند (شکل 3). داده های معامله توسط مدیر ایجاد می شود ، بنابراین پاداش بیشتری نسبت به معدنچی که بلوک را حل کرده است ، دریافت می کند. یک معدنکار پس از تکمیل مسئولیت خود به عنوان مدیر ، پاداش (معدن و هزینه معاملات) را دریافت می کند.
ویژگی های اصلی راه حل های پیشنهادی عبارتند از: سرعت معاملات ، انصاف برای معدنچیان و عدم تمرکز. جزئیات در زیر بخش های زیر ارائه شده است.
3. 3. 1. سرعت معامله
هدف از معدن موازی افزایش مقیاس پذیری سیستم است. از طریق معدن موازی ، معدنچی می تواند سریعتر به اجماع برسد و بنابراین معامله زودتر تأیید می شود. این برای کاربر عمومی که معاملات را انجام می دهد مفید خواهد بود. با توجه به نتایج آزمون ارزیابی ، در مقایسه با معدن انفرادی ، این روش پیشرفت قابل توجهی را به ثبت رسانده است.
3. 3. 2. انصاف با کارگران
| الگوریتم 2. تکنیک اعتبار سنجی بلوک |
| if Previous Block Index+1 != New Block Index retu false else if Previous Block Hash != New Block Previous Hash retu false else if Hash(New Block)>هدف بازگشت کاذب دیگر دیگر پایان واقعی را برگرداند اگر |
3. 3. 3. عدم تمرکز
هم سیستم فعلی و هم تکنیک پیشنهادی ، احتمال یک معدنچی را با حل قدرت بیشتر برای حل پازل افزایش می دهد. در سیستم فعلی ، از نظر تئوری برای معدنچی با بالاترین قدرت محاسباتی برای حل تمام بلوک های موجود در شبکه امکان پذیر است. با این حال ، این در سیستم پیشنهادی مجاز نیست. پس از حل یک بلوک ، برای دریافت پاداش ، یک معدنچی باید به عنوان مدیر برای بلوک بعدی عمل کند. این امکان عدم تمرکز بیشتر در سیستم را فراهم می کند.
استخراج استخر بیت کوین فرایندی است که بسیاری از معدنچیان برای حل یک بلوک با ترکیب منابع هش خود با هم کار می کنند. معدن موازی همچنین آنها را ترغیب می کند تا منابع معدن خود را ترکیب کنند. اگرچه بین این دو فرآیند تفاوت های زیادی وجود دارد ، تفاوت عمده بین این دو فرآیند در جدول 2 مورد بحث قرار گرفته است.
روش پیشنهادی برای blockchain عمومی تهیه شده است که در آن معامله با پاداش های لازم انجام می شود. انواع مختلفی از جامعه می توانند با ارائه خدمات و پذیرش پاداش در شبکه تأثیر بگذارند. جدول 3 تأثیر جامعه مختلف در شبکه را مقایسه می کند.
4- نتایج ارزیابی تجربی
روش پیشنهادی با استفاده از زبان برنامه نویسی GO تهیه شده است و کد از [20] در دسترس است. به طور خاص ، یک شبکه همتا با استفاده از کتابخانه GX Golang ساخته شده است [21]. این یک مدیر بسته غیرمتمرکز است که برای توزیع همان برنامه به گره های مختلف استفاده می شود. به منظور انجام اثبات کار ، از الگوریتم هش رمزنگاری SHA-256 استفاده شده است. بلوک پیدایش ، که هیچ سابقه معامله و ارزش هش قبلی ندارد ، کدگذاری شده اصلی بوده است. معدنچی که برای اولین بار به سیستم متصل می شود ، مدیر بلوک بعدی به عنوان پیش فرض خواهد بود.
برای اجرای راه حل پیشنهادی ، یک شبکه همکار به همسالان حلقه ای [22] تهیه شده است. هر گره می تواند به حداکثر دو گره وصل شود. هنگامی که یک گره به یک شبکه متصل است ، می تواند اتصال جدیدی را باز کند که با استفاده از آن یک گره جدید می تواند به شبکه وصل شود. هر آدرس گره شامل IP و ID منحصر به فرد است. شناسه برای هر گره تصادفی و متفاوت است. IP IP شبکه گره ای است که از طریق آن یک گره جدید می تواند به آن وصل شود. هنگامی که یک گره با یک گره جدید ارتباط برقرار می کند ، نمی تواند اتصالات جدید را بپذیرد. شکل 4 و شکل 5 نمودارهای شبکه را با IP مختلف و شناسه منحصر به فرد نشان می دهد. در اینجا ، همکار برجسته سبز اولین همکار شبکه است. همکار برجسته آبی منتظر اتصال ورودی است زیرا آخرین همسالان است که به شبکه وصل شده است. در شکل زیر نشان داده شده است که چگونه یک ارتباط مستقیم با همه همسالان دیگر برقرار می شود وقتی یک معدنچی به عنوان مدیر عمل می کند. در اینجا ، همسالان با ID 1005 به عنوان مدیر عمل می کنند. ارزیابی سیستم پیشنهادی هم به صورت محلی و هم در ابر انجام شده است.
4. 1ارزیابی در محیط محلی
توزیع منابع به طور مساوی به همه همسالان برای ارزیابی راه حل بسیار مهم است. برای اجرای این روش ، از یک ظرف Docker (docker.com) استفاده کردیم. Docker یک ظرف مبتنی بر لینوکس با رابط شبکه خاص خود فراهم می کند. یک شبکه اختصاصی در Docker ایجاد شده است که در آن همه همسالان به هم وصل می شوند. این اجرای در یک سیستم عامل اوبونتو با CORE I5-5200U CPU 2. 2 گیگاهرتز انجام شده است. رم نصب شده 4. 00 گیگابایت است. برای اطمینان از داشتن هر معدنچی از قدرت پردازش برابر ، هر معدنچی با 10 ٪ از کل منابع اختصاص یافته است. برای مقایسه نتیجه آزمون با سیستم موجود ، یک محیط مشابه دیگر با استفاده از همان منابع و مؤلفه ها توسعه یافته است. در این سیستم ، معدنچیان به صورت انفرادی کار می کنند. آنها مانند سیستم موجود با یکدیگر رقابت می کنند و یک معدنکار موفق تمام پاداش ها را دریافت می کند.
4. 1. 1. راه اندازی آزمایشی
این آزمایش بر اساس تعداد مختلفی از همسالان ، چه در معدن انفرادی و هم موازی ، با استفاده از سطح دشواری های مختلف انجام شده است. در اینجا ، سطح دشواری نشان دهنده کمترین تعداد صفرهای متوالی مورد نیاز در ابتدای هش قابل قبول است. شکل 6 و شکل 7 نتیجه آزمایش را بر اساس معدن انفرادی و موازی نشان می دهد. در اینجا ، میانگین زمان (های) به میانگین زمان لازم برای حل یک بلوک در ثانیه اشاره دارد. این پس از انجام چندین آزمایش در همان شرایط و گرفتن میانگین تمام نتایج محاسبه می شود. برای شناسایی راه حل ، شاخص ، جدول زمانی ، هش معامله ، هش قبلی و غیرقانونی به عنوان ورودی گرفته می شود. در اینجا ، برای شاخص معدن انفرادی ، زمان بندی و هش قبلی برای یک بلوک خاص برای همه معدنچیان یکسان است. در استخراج موازی به همراه این داده ها ، هش معامله نیز برای همه معدنچیان برای یک بلوک خاص یکسان است.
4. 1. 2. نتایج
برای سطح دشواری 1 ، 2 ، 3 و 4 ، بین معدن انفرادی و معدن موازی تفاوت معنی داری وجود ندارد. با این حال ، برای دشواری سطح 5 ، 6 و 7 ، در استخراج موازی بهبودی وجود دارد ، و همانطور که شکل 6 و شکل 7 نشان می دهد ، این پیشرفت با افزایش سطح دشواری و تعداد معدنچیان قابل توجه است. در معدن انفرادی ، میانگین زمان فقط به سطح دشواری بستگی دارد ، اما در معدن موازی ، میانگین زمان به سطح دشواری و تعداد همسالان بستگی دارد. اگر سطح دشواری افزایش یابد ، میانگین زمان مورد نیاز افزایش می یابد. باز هم ، اگر تعداد همسالان افزایش یابد ، میانگین زمان کاهش می یابد زیرا معدنچیان به طور موازی کار می کنند و هیچ دو معدنچی یک کار مشابه را انجام نمی دهند. جنبه مهم دیگر که باید توجه داشته باشید این است که میانگین زمان برای یک همسالان در معدن موازی تقریباً مشابه با معدن انفرادی بدون در نظر گرفتن تعداد همسالان است. این امر به این دلیل است که ، هنگامی که فقط یک معدنکار در معدن موازی وجود دارد ، هیچ کار موازی صورت نمی گیرد. این بهبود در مقایسه با یک معدنچی برای 5 معدنکار به 34 ٪ می رسد. لازم به ذکر است که نتایج ممکن است بر اساس قدرت پردازش اختصاص داده شده به معدنچیان متفاوت باشد.
4. 2ارزیابی در محیط ابر
منابعی که می تواند در یک محیط محلی ارائه شود بسیار محدود است. در نتیجه ، هر دو سطح دشواری و تعداد همسالان قابل افزایش نیست. برای پرداختن به این محدودیت ، راه حل در یک بستر ابری اجرا شد. از Google Cloud Platform (GCP) برای اجرای راه حل استفاده شد. GCP مجموعه ای از خدمات محاسباتی ابری است که توسط Google ارائه می شود که در همان زیرساخت هایی که Google از داخل آن برای محصولات کاربر نهایی خود مانند Google Search و YouTube استفاده می کند ، اجرا می شود. سی و دو دستگاه مجازی با منابع برابر برای انجام آزمایش تنظیم شده است. هر دستگاه حاوی 6. 25 گیگابایت حافظه با 1 پردازنده مجازی است. سیستم عامل هر دستگاه اوبونتو 16. 04 LTS با 10 گیگابایت دیسک سخت اختصاص یافته بود. پلت فرم CPU معادل Intel Skylake بود. هیچ GPU به هیچ یک از دستگاه ها ارائه نشده است. موقعیت فیزیکی هر دستگاه مجازی در منطقه مختلف با منطقه مختلف بود. بنابراین IP های شبکه نیز از گروه های مختلف هستند.
4. 2. 1. راه اندازی آزمایشی
برای انجام آزمایش ، انواع مختلفی از سطح دشواری انتخاب شد. اهداف سطح دشواری مختلف 0x1DFFFFFF ، 0x1D0FFFFF ، 0X1D00FFFF ، 0x1C0FFFFF و 0X1BFFFF است. هر هدف به ترتیب 6،7،8،9 و 10 پیشرو در هدف دارد. ما برای بقیه مقاله به ترتیب 6D ، 7D ، 8D ، 9D و 10D را نشان خواهیم داد. این آزمایش همچنین برای تعداد مختلفی از همسالان در معدن موازی انجام شده است. تعداد همسالان 2 ، 8 ، 14 ، 20 ، 26 و 32 بود. در هر آزمایش برای معدن موازی ، همیشه در هر دوره یک معدنکار وجود داشت که به عنوان مدیر عمل می کرد. برای مقایسه نتیجه در معدن انفرادی ، محیط مشابهی ایجاد شد که در آن هر یک از همسالان همان پیکربندی منابع را با معدن موازی داشتند. در معدن انفرادی ، از همان سطح دشواری استفاده شد.
4. 2. 2. نتایج
برای استخراج موازی ، این آزمایش با سطح دشواری های مختلف برای همسالان مختلف انجام شد. این آزمایش برای تعداد زیادی بلوک به طور مداوم انجام شد. شکل 8 و شکل 9 به ترتیب زمان لازم برای حل هر 15 بلوک متوالی توسط تعداد متفاوتی از همسالان در سطح دشواری 6D و 10D را نشان می دهد. برای دشواری 6D ، اختلاف زمان حل BOCK در مقایسه با تعداد مختلف همسالان چندان معنی دار نبود. به عنوان مثال ، بالاترین زمان لازم برای حل یک بلوک حدود 13. 5 دقیقه بود که آزمایش برای یک همکار انجام شده است. باز هم ، بالاترین زمان لازم برای حل یک بلوک برای 19 همسالان حدود 14. 25 دقیقه بود. اگر کمترین زمان حل بلوک در نظر گرفته شود ، زمان لازم برای حل یک بلوک برای یک همسالان ، هفت همسالان و 19 همسالان تقریباً یکسان بود. با این حال ، هنگامی که میانگین زمان برای تعداد مختلف همسالان در نظر گرفته می شود ، نتیجه کوچک اما قابل توجهی یافت شده است. به نظر می رسد وقتی تعداد همسالان افزایش متوسط زمان حل بلوک را افزایش می دهد. میانگین زمان حل بلوک برای یک همسالان ، هفت همسالان ، 13 همسالان ، 19 همسالان ، 25 همسالان و 31 همسالان به ترتیب 7. 92 ، 8. 41 ، 8. 79 ، 9. 39 و 9. 72 دقیقه بودند. با افزایش 6 همسالان ، زمان حل بلوک به طور متوسط به 0. 45 دقیقه کاهش یافته است.
آزمایش بعدی سطح دشواری را به 7D ، 8D ، 9D و 10D افزایش داد و این باعث افزایش زمان ایجاد بلوک شد. به عنوان مثال ، میانگین اختلاف زمان حل بلوک برای 7D 0. 55 دقیقه بود. برای سطح 8D دشواری 1. 33 دقیقه بود. میانگین اختلاف زمان به ترتیب با افزایش تعداد همسالان 2. 65 دقیقه و 51/5 دقیقه برای 9D و 10D بود. شکل 9 زمان مورد نیاز برای حل هر 15 بلوک متوالی توسط تعداد مختلف همسالان در سطح دشواری 10D را نشان می دهد. این نتیجه قابل توجهی در مقایسه با مشکل 6D نشان می دهد. تفاوت زمان حل بلوک بین یک همسالان و 31 همسالان ، محیط کار موازی در مقایسه با نتیجه در سطح دشواری 6D به طور قابل توجهی بیشتر بود. به عنوان مثال ، بالاترین و کمترین زمان لازم برای حل یک بلوک در صورت وجود یک همسالان به ترتیب حدود 75 دقیقه و 50 دقیقه بود. برای 31 همسالان ، به ترتیب 40 دقیقه و 31 دقیقه بودند. اگر میانگین زمان در نظر گرفته شود ، این موارد 58. 84 ، 53. 63 ، 48. 48 ، 40. 03 و 36. 78 دقیقه برای یک همسالان ، هفت همسالان ، 13 همسالان ، 19 همسالان و 31 همسالان با میانگین 5. 51 دقیقه اختلاف زمان ایجاد یک بلوک است. بشر
شکل 10 میانگین زمان لازم برای حل یک بلوک در یک سطح دشواری متفاوت با تعداد متفاوتی از همسالان را نشان می دهد. زمان مورد نیاز با افزایش تعداد همسالان در همان دشواری افزایش یافته و با افزایش دشواری برای همان تعداد همسالان افزایش یافته است. همچنین با افزایش سطح دشواری ، اختلاف زمان متوسط مورد نیاز افزایش یافته است. به عنوان مثال ، در 6D ، اختلاف زمان تقریباً 2. 2 دقیقه در مقایسه با یک و 31 همسالان بود. در مورد دشواری 10d ، 22. 07 دقیقه بود. این نشان می دهد که الگوریتم پیشنهادی با افزایش همسالان و سطح دشواری کارآمدتر بود.
برای مقایسه معدن موازی با معدن انفرادی سنتی ، یک محیط مشابه ایجاد شد. این آزمایش برای سطح دشواری های مختلف با تعداد مختلف همسالان انجام شد. زمان ایجاد بلوک به تعداد همسالان بستگی ندارد بلکه به سطح دشواری است. شکل 11 معدن انفرادی را برای سطح دشواری های مختلف برای هر 15 بلوک متوالی نشان می دهد. بالاترین و کمترین زمان لازم برای حل یک بلوک در دشواری 10D حدود 75 و 49 دقیقه بود. برای مشکل 6D به ترتیب حدود 12 دقیقه و نه دقیقه است. میانگین زمان با افزایش سطح دشواری افزایش یافته است.
هنگامی که ما میانگین زمان ایجاد بلوک معدن را در رابطه با استخراج موازی برای 31 همسالان مقایسه کردیم ، برای تفاوت بین یک همسالان و 31 همسالان در معدن موازی نتایج مشابهی پیدا کردیم (شکل 12). تعداد همسالان بر زمان ایجاد بلوک در معدن انفرادی تأثیر نمی گذارد. در اینجا ، برای دشواری 6D ، اختلاف زمانی در دشواری 6D در مقایسه با اختلاف زمانی در دشواری 10D قابل توجه نبود. بنابراین ، ما دوباره می توانیم نتیجه بگیریم که الگوریتم پیشنهادی با افزایش سطح دشواری کارآمدتر بود.
5. بحث
در مورد مدیر ، همسالان و رفتار شبکه ، چندین چالش و سناریو مورد وجود دارد که در این بخش در مورد آنها بحث می کنیم.
5. 1یک نقطه از شکست
در روش پیشنهادی ، در ابتدای هر دوره ، همه معدنچیان برای به دست آوردن هش و غیرقانونی باید به مدیر وابسته باشند. اگر مدیر آفلاین شود یا نتواند پاسخ دهد ، می تواند یک نقطه شکست وجود داشته باشد. با این حال ، به دلیل سیستم پاداش پیشنهادی ، این یک سناریوی بسیار بعید است. پس از انجام مسئولیت به عنوان مدیر ، یک معدنکار پاداش دریافت می کند. اگر نتوانست این مسئولیت را برآورده کند ، معدنکار پاداش را به عنوان یک مجازات از دست می دهد.
روش پیشنهادی به گونه ای طراحی شده است که مدت زمان واحد شکست فقط برای یک دوره که در آن اتفاق می افتد باقی می ماند. اگر یک مدیر نتواند پاسخ دهد ، معدنچی می تواند هش معامله را ایجاد کند و همچنین می تواند افراد غیرقانونی را تولید کند. در سیستم های blockchain بدون مجوز ، هر معدنچی به تمام سوابق معامله دسترسی دارد. در نتیجه ، برای آن بلوک ، معدنکار سیستم سنتی را با یک هش متفاوت و یک هش معامله متفاوت دنبال می کند. این نوع دوره بیشتر طول خواهد کشید زیرا معدنچیان به جای معدن موازی ، انفرادی را انجام می دهند. با این حال ، بلوک بعدی دوباره سیستم پیشنهادی را دنبال می کند زیرا مدیر توسط بلوک قبلی تصمیم گرفته شده است.
5. 2. معدنچی های متعدد هش را همزمان حل می کنند
این یک مسئله مهم در فرآیند اعتبار سنجی بیت کوین فعلی است. مشتریان بیت کوین همیشه به طولانی ترین زنجیره اعتماد دارند. بنابراین ، اگر دو معدنچی هش را همزمان حل کنند ، این بلوک توسط بیشتر معدنچیان (حداقل 51 ٪) که به شبکه blockchain اضافه می شوند ، پذیرفته می شود. تلاش های دیگر معدنچیان بی ارزش خواهند بود. این وضعیت ممکن است در یک زنجیره موازی در شبکه برای مدت معینی ایجاد شود. به همین دلیل ، مشتریان باید منتظر بلوک های تأیید شده کافی باشند. در بیت کوین ، زمان انتظار استاندارد شش بلوک است.
در روش پیشنهادی ، این زمان انتظار کاهش می یابد. هنگامی که دو معدنچی همزمان یک هش را حل می کنند ، یکی از راه حل های آنها توسط مدیر برای بلوک بعدی به عنوان هش قبلی انتخاب می شود. این داده ها همچنین توسط مدیر به همراه داده های معامله و دامنه NONCE توسط مدیر توسط مدیر پخش می شود. معدنچی که راه حل آن توسط مدیر انتخاب خواهد شد ، مدیر بلوک بعدی خواهد بود. علاوه بر این ، این سیستم به بیش از یک معدنکار اجازه نمی دهد که مدیر یک بلوک خاص باشد. بنابراین ، در مقایسه با سیستم فعلی ، یک زنجیره موازی در شبکه محتمل نیست.
5. 3. مدیر مخرب
یک مدیر مخرب ممکن است با تهیه طیف وسیعی از افراد غیرقانونی ، به یک معدنکار آسیب برساند. در واقع ، این نمی تواند اتفاق بیفتد زیرا مدیر باید هر محدوده غیر CE را در سیستم ثبت کند. این سیستم اجازه استفاده از همان محدوده غیرقانونی توسط چندین کاربر را نمی دهد. علاوه بر این ، تا زمانی که او یک راه حل پیدا نکند ، اطلاعات معدنچی برای مدیر ناشناخته است. بنابراین ، بسیار بعید است که یک معدنچی خاص توسط مدیر آسیب ببیند.
5. 4. همسالان جدید
این امکان وجود ندارد که یک مدیر بداند که چند همسالان همزمان کار می کنند. بنابراین یک مدیر باید به طور مداوم دامنه غیر CECE را در شبکه ایجاد و ثبت کند. هنگامی که یک همسالان جدید وارد می شود ، مجبور است محدوده جدید غیر CECE و داده های معامله را بخواهد. سپس او داده های معامله و دامنه جدید Nonce را دریافت می کند که هنوز توسط هیچ معدنچی مورد استفاده قرار نمی گیرد.
5. 5همسالان از شبکه خارج می شوند
یک همسالان می تواند در هر زمان شبکه را ترک کند. همچنین برای یک همسالان در وسط پردازش اثبات کار امکان پذیر است. این احتمال وجود دارد که دامنه غیر CECORE که توسط همسالان باقی مانده است ، ممکن است راه حلی داشته باشد. با این حال ، یک بلوک دارای چندین راه حل برای Nonce مختلف است. بنابراین یک همکار دیگر می تواند یک راه حل متفاوت برای همان بلوک ارائه دهد. بنابراین ، اگر همسالان از شبکه خارج شوند ، شبکه یا مدیر هیچ تاثیری نخواهد داشت.
5. 6. Peer قبل از اتمام محدوده قبلی اختصاص یافته ، از محدوده جدید Nonce درخواست می کند
یک همسالان ممکن است قبل از بررسی همه موارد غیر از محدوده فعلی خود ، از محدوده غیرقانونی جدید بخواهد. در این حالت ، مدیر قادر نیست بداند که آیا همسالان همه افراد را بررسی کرده اند یا خیر. بنابراین مدیر دامنه جدیدی را برای همسالان فراهم می کند. با این حال ، بعید است که چنین کارهایی را توسط یک همسالان انجام دهد. زیرا ، سرعت بررسی افراد غیرقانونی به قدرت پردازش همسالان بستگی دارد. اگر او بدون اتمام محدوده قبلی Nonce ، یک NANCE جدید دریافت کند ، می تواند با محدوده جدید Nonce شروع به بررسی کند. با این حال ، این احتمال وجود دارد که افراد ناتمام ممکن است راه حل های مورد نظر را داشته باشند. بنابراین بعید به نظر می رسد که یک همکار قبل از اتمام قبلی ، محدوده جدید Nonces را امتحان کند.
6. نتیجه گیری و کار آینده
در این مقاله ، ما روشی را برای بهبود سرعت معامله و مقیاس پذیری شبکه های blockchain بدون مجوز که توسط مکانیسم های اجماع اثبات کار هدایت می شوند ، پیشنهاد کردیم. روش پیشنهادی اثبات موازی کار را ارائه می دهد که در آن همه معدنچیان می توانند با شرکت در این رقابت ، معما را حل کنند. ما روش پیشنهادی را در یک محیط محلی و همچنین ابر اجرا و ارزیابی کرده ایم ، و نتایج نشان می دهد که وعده موازی کار با افزایش سطح دشواری و تعداد معدنچیان ، وعده قابل توجهی نشان می دهد.
برای کار آینده ، ما قصد داریم راه حل پیشنهادی را در برابر حمله 51 ٪ ارزیابی کنیم و آن را در Bitcoin Testnet مستقر کنیم. علاوه بر این ، ما قصد داریم سیستم پاداش و مصرف انرژی مورد استفاده در روش پیشنهادی را ارزیابی کنیم. از آنجا که سرعت معامله را بهبود می بخشد ، در نهایت روش پیشنهادی در مقایسه با سیستم فعلی انرژی کمتری در هر بلوک مصرف می کند. در کار آینده ، ما این جنبه را بر اساس یک شبکه در زمان واقعی ارزیابی خواهیم کرد.
کمک های نویسنده
نوشتن - پیش نویس آماده سازی ، S. S. H. ؛نظارت و نوشتن - بررسی و ویرایش ، Q. H. M. همه نویسندگان نسخه منتشر شده نسخه خطی را خوانده و موافقت کرده اند.
منابع مالی
تصدیق
ما حمایت از شورای علوم طبیعی و شورای تحقیقات مهندسی کانادا (NSERC) را تأیید می کنیم.
کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید
برچسب :
نویسنده : محسن زنجانچی
بازدید : <-PostHit->
تاريخ : سه
شنبه
30 خرداد
1402 ساعت: 18:23