طراحی یک الگوریتم اجماع امن برای بهکارگیری در بلاکچین
محورهای موضوعی : electrical and computer engineering
1 - دانشكده مهندسي کامپیوتر، دانشگاه تربیت دبیر شهید رجایی
2 - دانشکده مهندسی کامپیوتر، دانشگاه تربیت دبیر شهید رجایی
کلید واژه: بلاکچین, الگوریتم اجماع, امنیت بلاکچین, الگوریتم اثبات کار, الگوریتم اثبات سهام, الگوریتم تحمل خطای بیزانس,
چکیده مقاله :
فناوری بلاکچین، شبکه را از لزوم وجود کارساز مرکزی بینیاز مینماید. این فناوری از یک دفتر کل توزیعشده تشکیل گردیده که تمامی تراکنشهای شبکه در آن ثبت میشود و شامل زنجیرهای از بلاکهاست. همه گرههای شبکه، یک رونوشت از این دفتر کل را دارند. برای آنکه وضعیت این دفتر کل در هر لحظه از زمان برای تمام گرههای شبکه یکسان باشد، به سازوکاری نیاز داریم که حصول توافق را برای کل شبکه فراهم کند که به آن «الگوریتم اجماع» میگویند. ما در این مقاله، یک الگوریتم اجماع جدید ارائه خواهیم نمود که در مقابل چهار حمله رایج بر بستر بلاکچین ایمن است. این حملات عبارت هستند از حمله سیبل، حمله منع خدمت، حمله 51 درصد و حمله کسوف. با توجه به آنکه الگوریتم پیشنهادی ما دارای ویژگیهایی نظیر وجود پارامترهای کنترلی مختلف، ماهیت عمومی و همهمنظوره، مقاومبودن در برابر حملات مختلف و سرعت اجرای مناسب است، میتوان از آن در پیادهسازی سامانههای امن مبتنی بر بلاکچین در حوزههای مختلف مانند اینترنت اشیا و سلامت الکترونیک استفاده نمود.
Blockchain technology eliminates the need for a central authority. This system consists of a distributed ledger with a chain of blocks that records every network transaction. This ledger is replicated by every node in the network. We require a mechanism that provides consensus for the entire network, known as "consensus algorithm," in order for the state of this ledger to be the same for all nodes of the network at any given time. In this work, we will suggest a novel consensus algorithm that protects the blockchain platform from four common attacks. These attacks include the Sybil, Denial of Service, 51%, and Eclipse attacks. Due to its multiple control parameters, generic and all-purpose character, immunity to different attacks, and acceptable execution speed, our suggested algorithm can be used to build secure blockchain-based systems in a variety of applications.