چکیده
یک بلاک چین یک ساختار داده به هم مرتبط به صورت غیر متمرکز می باشد که بر اساس مقاومت ذاتی آن نسبت به اصلاح داده ها، توصیف می شود اما این ساختار از نظر جستجو دچار نقص می باشد که این موضوع در اصل به دلیل قالب بندی ضعیف داده ها در این ساختار می باشد. یک دیتابیس توزیع شده نیز یک ساختار داده غیر متمرکز می باشد که قابلیت پردازش سریع عبارات و قالب بندی داده ها با طراحی مناسب را دارا می باشد اما قابلیت اطمینان داده ها در این ساختار ایراد دارد. در این کار، ما CHAINSQL را به عنوان یک نمونه ارائه می کنیم. این سیستم، یک سیستم متن باز می باشد که با ادغام بلاک چین با دیتابیس ایجاد شده است، یعنی ما یک بستر کاربردی دیتابیس بلاک چین را ارائه می کنیم که دارای ویژگی های توزیع شده، غیر متمرکز با قابلیت حسابرسی مرتبط با بلاک چین بوده و همچنین ویژگی پردازش سریع عبارت و ساختار مناسب برای داده ها را که مرتبط با دیتابیس های توزیع شده است، دارا می باشد. این سیستم دارای یک دیتابیس مقاوم نسبت به نفوذ با قابلیت فعالیت های چندگانه، یک مکانیزم بکاپ قابل اعتماد و مقرون به صرفه در صورت از دست رفتن داده ها و یک سیستم گزارش تراکنش های سیستم با قابلیت حسابرسی می باشد. این سیستم به صورت یک دیتابیس عملیاتی با حالت های فعالیت مختلف همراه با ویژگی های بکاپ ریکاوری در صورت از دست رفتن داده ها، با قابلیت حسابرسی ارائه شده است. یک ارزیابی جامع آزمایشی در این مطالعه انجام شده است تا بتوانیم کارایی این سیستم را نشان دهیم.
1. مقدمه
ارز های دیجیتال و یا رمز ارز ها مانند بیتکوین [1]، اتریوم [2]، ریپل [3] و دیگر موارد، اخیرا گسترش زیادی پیدا کرده اند و بسیاری از کاربر ها و توسعه دهنده های نرم افزار، نسبت به آن ها علاقه مند شده اند [4]. رمز ارز ها در اصل قرارداد های هوشمند بین کاربران هستند که با استفاده از ساختار های داده با نام بلاک چین اجرا می شوند. ازین رو، بلاک چین حاوی تراکنش های مربوطه می باشد و در عین حال باید این دو محدودیت را هم داشته باشد :1) هر کس باید بتواند بر روی بلاک چین داده جدید بنویسد؛ و 2) اصلا نباید یک کنترل مرکزی بر روی ساختار داده ها وجود داشته باشد.
یک بلاک چین یک دیتابیس و یک نرم افزار کاربردی در راس ساختار داده ها می باشد [7] که مشخص کننده تعریف داده ها و مکانیزم به روز رسانی داده ها برای بلاک چین می باشد. یک بلاک چین نه فقط امکان اضافه کردن داده های جدید به دیتابیس را فراهم می کند بلکه همچنین تضمین می کند که تمام کاربران بر روی شبکه دقیقا همان اطلاعات را در دسترس دارند .ازین رو، یک بلاک چین یک ساختار داده مرتبط غیر متمرکز و توزیع شده برای ذخیره سازی و دریافت اطلاعات می باشد که تضمین می کند داده ها نسبت به هرگونه اصلاح، مقاوم هستند.
یکی از محدودیت های بلاک چین نقص ذاتی آن نسبت به پردازش عبارت جستجو [8] می باشد که این مشکل در اصل به دلیل ذخیره سازی داده ها به صورت مرتبط و غیاب ساختار شاخص داده ها به صورت دقیق برای عبارات جستجوی مختلف می باشد. مثلا بیتکوین، شاخص ترین شبکه بلاک چین موجود می باشد؛ اما، این شبکه دارای دو محدودیت می باشد : 1) مقدار زمان زیادی در این شبکه برای ثبت و تایید یک تراکنش مورد نیاز می باشد، مثلا در حد ده دقیقه و تایید نهایی این تراکنش ممکن است تا یک ساعت نیز طول بکشد و 2) بلوک جدید تنها توسط ماینر ها ایجاد می شود که این ماینر ها نیازمند کارهای محاسباتی گسترده می باشند.
7.جمع بندی و کارهای آتی
در این مقاله، ما CHAINSQL و کاربرد جدید آن را از طریق سه مورد کاربردی ارائه کردیم که به صورت میان افزار بین برنامه کاربردی کاربر و دیتابیس اجرا شده است. مورد کاربردی اول یک دیتابیس با چند حالت فعال مقاوم نسبت به آسیب می باشد ، مورد دوم نیز یک سیستم بکاپ برای بازیابی از فاجعه در سطح داده ها می باشد و مورد سوم نیز یک میان افزار ارزیابی می باشد. کارایی این سیستم با کمک مطالعه آزمایشی دقیق نشان داده شده است. این سیستم اولین سیستم از این نوع می باشد که مقاومت نسبت به تغییر را از بلاک چین و جستجوی سریع از دیتابیس ها را در خودش دارد. کاربرد این سیستم از موارد کاربرد تجاری در دامنه کارهای مالی و زنجیره تامین کاملا مشهود می باشد در نتیجه این سیستم می تواند کاربرد های بسیار امیدبخشی را برای آینده داشته باشد. بعضی از ملاحظات از این سیستم در زمینه اجرا دارای اهمیت هستند. به عنوان مثال، پشتیبانی برای تحلیل داده های بزرگ در CHAINSQL و اجرای شاخص های پیچیده برای بهینه سازی جستجو، مواردی هستند که باید در آینده بیشتر بررسی شوند.
Abstract
A blockchain is a decentralised linked data structure that is characterised by its inherent resistance to data modification, but it is deficient in search queries primarily due to its inferior data formatting. A distributed database is also a decentralised data structure which features quick query processing and well-designed data formatting but suffers from data reliability. In this work, we showcase ChainSQL, an open-source system developed by integrating the blockchain with the database, i.e. we present a blockchain database application platform that has the decentralised, distributed and audibility features of the blockchain and quick query processing and well-designed data structure of the distributed databases. ChainSQL features a tamper-resistant and consistent multi-active database, a reliable and cost effective data-level disaster recovery backup and an auditable transaction log mechanism. The system is presented as an operational multi-active database along with the data-level disaster recovery backup and audibility features. A comprehensive experimental evaluation is performed to demonstrate the effectiveness of the system.
1. Introduction
Digital or crypto currencies such as, Bitcoin [1], Ethereum [2], Ripple [3] and others, have recently witnessed a tremendous interest from the user as well as the developer community [4, 5, 6]. The crypto currencies are essentially smart contracts between users which are executed using a data structure referred to as ‘blockchain’. Thus, a blockchain stores transactions whilst satisfying the following two constraints: (i) anyone should be able to write to the blockchain, and (ii) there should not be any centralised control.
A blockchain is a database and an application software on top of it [7] that dictates the data definition and data update mechanism for the blockchain. A blockchain not only allows to add new data to the database but it also ensures that all the users on the network have exactly the same data. Thus, a blockchain is a distributed and decentralised linked data structure for data storage and retrieval which also ensures that the data is resistant to any modification.
One of the limitations of blockchain is its inherent deficiency in search query processing [8] primarily due to the linked data storage and the absence of a well-defined data indexing structure for various queries. Bitcoin, for instance, is the most notable blockchain network; however, it has two limitations: (i) it takes a considerable amount of time, possibly up to ten minutes, for a transaction to be issued and verified and the final confirmation may take up to an hour, and (ii) a new block can only be generated by miners which requires extensive computational efforts.
7. Conclusion and Future Work
In this paper, we presented ChainSQL and its novel applications through three usecases that are implemented as a middleware between the user application and the database. The first usecase is a tamper-resistant multi-active database, the second usecase is a data-level disaster recovery backup and the third is an audit middleware. The effectiveness of the system is demonstrated with the help of a detailed experimental study. ChainSQL is the first system of its kind that features the tamper-resistance of the blockchain and the fast query processing of the distributed databases. The utility of the ChainSQL is evident from its business usecases in domains including finance and supplychain, therefore, it offers promising application scenarios for future. A number of considerations from system implementation point of view are also in the pipeline. For instance, the support for big data analytics in ChainSQL, and the implementation of complex indexes for query optimisation.
چکیده
1. مقدمه
2. تکنولوژی بلاک چین و سیستم های آن
2.1 معماری بلاک چین
2.1.1 ذخیره سازی داده
2.1.2 اجماع
2.1.3 اعتبار سنجی
2.1.4 شبکه بلاک چین
2.1.5 امنیت و حریم شخصی
2.2 تکامل بلاک چین ها
2.2.1 بلاک چین 1.0
2.2.2 بلاک چین 2.0
2.2.3 فراتر از بلاک چین 2.0
3. ChainSQL: یک بستر کاربردی بلاک چین و دیتابیس
3.1 مدیریت کاربر
3.2 معماری CHAINSQL
3.3 API در CHAINSQL
3.4 اعتبار سنجی داده ها و انتقال آن ها
4. اجماع در CHAINSQL
4.1 دینامیک اجماع
4.2 الگوریتم اجماع
5 مورد کاربردی CHAINSQL
5.1 میان افزار دیتابیس هایی با چند حالت فعال
5.2 میان افزار بازیابی نسبت به رویداد فاجعه
5.3 قابلیت ارزیابی
6 ارزیابی تجربی
7 جمع بندی و کارهای آتی
منابع
Abstract
1. Introduction
2. Blockchain Technology and Systems
2.1. Blockchain Architecture
2.1.1. Datastore
2.1.2. Consensus
2.1.3. Validation
2.1.4. Blockchain Network
2.1.5. Security and Privacy
2.2. Blockchain Evolution
2.2.1. Blockchain 1.0
2.2.2. Blockchain 2.0
2.2.3. Beyond Blockchain 2.0
3. ChainSQL: A Blockchain Database Application Platform
3.1. User Management
3.2. ChainSQL Architecture
3.3. ChainSQL API
3.4. Data validation and forwarding
4. ChainSQL Consensus
4.1. Consensus Dynamics
4.2. Consensus Algorithm
5. ChainSQL Usecases
5.1. Multi-active Database Middleware
5.2. Multi-disaster Recovery Middleware
5.3. Audibility
6. Empirical Evaluation
7. Conclusion and Future Work
References