نوشته‌ها

در این مطلب یکی از مهم‌ترین نمونه‌های نقض یکپارچگی در سیستم‌های همتا‌به‌همتای توزیعی را معرفی می‌کنیم: مسئله‌ی خرج مجدد

 

تشبیه

جعل اسکناس در هر کشوری جزء جرایم سنگین است چراکه با ایجاد قدرتِ خریدی که پشتوانه‌ی باارزشی ندارد، اساس و عملکرد اقتصاد را تضعیف می‌کند. در نتیجه اکثر اسکناس‌ها مجهز به ویژگی‌های امنیتی زیادی هستند که جعل آن‌ها را غیرممکن یا حداقل بشدت پرهزینه می‌کند. این ویژگی‌های امنیتی، مانند شماره‌های منحصر بفرد، علامت‌گذاری در زمینه و الیاف فلورسنت، برای اسکناس‌های کاغذی و کالاهای فیزیکی دیگر بخوبی جواب می‌دهند. حال اگر پول یا کالای مورد نظر دیجیتالی باشد و در یک سیستم همتا‌به‌همتای توزیعی که با استفاده از دفاترکل مدیریت شود، چه اتفاقی می‌افتد؟ در این مقاله، یک آسیب‌پذیری بخصوص در سیستم‌های همتا‌به‌همتای توزیعی که در مدیریت مالکیت استفاده می‌شوند، توضیح داده می‌شود. این آسیب‌پذیری معادل جعل اسکناس بوده و یکی از مثال‌های آشکار نقض یکپارچگی سیستم است.

مسئله خرج مجدد

یک سیستم همتا‌به‌همتا برای مدیریت مالکیت در بازار املاک و مستغلات را در نظر بگیرید. در چنین سیستمی، دفاترکلی که برای پیگیری اطلاعات مالکیت استفاده می‌شوند، بجای یک پایگاه‌داده‌ی مرکزی روی تک‌تک رایانه‌های اعضای سیستم نگهداری می‌شوند. از این رو، هر همتا نسخه‌ی خودش از دفترکل را نگهداری می‌کند. به محض انتقال مالکیت از یک فرد به فردی دیگر، همه‌ی دفاترکلِ سیستم باید بروزرسانی شوند تا دربرگیرنده‌ی آخرین نگارش از واقعیت باشند. با این وجود، انتقال اطلاعات بین همتاها و بروزرسانی تک‌تک دفاترکل نیاز به زمان دارد. تا زمانی که آخرین عضو سیستم، اطلاعات جدید را دریافت نکرده و دفترکلش را به روز نکرده باشد، سیستم به ثبات نرسیده است. بعضی از اعضای سیستم آخرین انتقالات مالکیت را دریافت می‌کنند، در صورتی که بقیه اعضا هنوز این اطلاعات را دریافت نکرده‌اند؛ این وضعیت که دفاترکلِ همه‌ی اعضا اطلاعات به‌روز‌شده را ندارند، آن‌ها را در معرض سو‌ءاستفاده‌ی اعضایی که اطلاعات کامل را دارند، قرار می‌دهد.
موقعیت پیش‌رو را تصور کنید. شخص شماره ۱ خانه‌ی خود را به شخص شماره ۲ می‌فروشد. انتقال مالکیت از شخص شماره ۱ به شخص شماره ۲، در دفترکل یکی از اعضای سیستم همتا‌به‌همتا ثبت می‌شود. این دفترکل، دیگر اعضا را در جریان این انتقال قرار می‌دهد؛ آن‌ها نیز ما‌بقی اعضا را در جریان قرار می‌دهند تا در نهایت، همه‌ی اعضا از انتقال مالکیت از شخص شماره ۱ به ۲ آگاه شوند. حال فرض کنید شخص شماره ۱ به‌سرعت به یک دفترکل دیگر مراجعه کند و یک انتقال مالکیت دیگر برای همان ملک ثبت کند، اما این بار از شخص شماره ۱ به شخص شماره ۳. اگر این دفترکل هنوز در جریان انتقال مالکیت از شخص شماره ۱ به ۲ قرار نگرفته باشد، انتقال مالکیتِ همان ملک از شخص شماره ۱ به ۳ را تایید کرده و آن را ثبت می‌کند. بنابراین شخص شماره ۱ توانسته از زمان‌بر بودنِ توزیع اطلاعاتِ مربوط به اولین فروشش، بهره‌برداری کند و خانه‌اش را دو‌مرتبه بفروشد. حال آنکه شخص شماره ۲ و ۳ نمی‌توانند همزمان مالک آن خانه باشند و فقط یکی از آن‌ها قرار است صاحب جدید و قانونی خانه باشد. از این رو، این وضعیت مسئله‌ی خرج مجدد نام گرفته است.

اصطلاح خرج مجدد

درست مانند اصطلاح بلاک‌چین، اصطلاح خرج مجدد نیز مبهم بوده و می‌تواند برای اشاره به مسائل زیر استفاده شود:
• مشکل ناشی از کپی‌برداری از کالاهای دیجیتال
• مشکلی که ممکن است در سیستم‌های همتا‌به‌همتای توزیعی از دفاترکل ایجاد شود
• نمونه‌ای از نقض یکپارچگی در سیستم‌های همتا‌به‌همتای توزیعی محض

خرج مجدد به عنوان مشکل کپی برداری از کالاهای دیجیتال

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

خرج مجدد به عنوان مشکلی در سیستم‌های همتا به همتای توزیعی از دفاتر کل

زمانی که در مورد مشکلاتِ سیستم‌های همتا‌به‌همتای توزیعی از دفاترکل صحبت می‌کنیم، مشکل خرج مجدد بیانگر زمان‌بر بودنِ فرآیند ارسال اطلاعات برای تمام اعضای سیستم است؛ بنابراین در یک زمان مشخص، اعضای سیستم اطلاعات یکسانی از مالکیت‌ها نخواهند داشت. از آنجا که همه‌ی اعضا اطلاعات به‌روز‌شده را ندارند، این اعضا در معرض سوءاستفاده‌ی اعضایی که آخرین اطلاعات را دارند، قرار می‌گیرند. در نتیجه، ممکن است بعضی از اعضا بتوانند یک مال را بیشتر از یک بار منتقل کنند؛ که منجر به چالش خرج مجدد می‌شود.

خرج مجدد به عنوان نمونه ای از نقض یکپارچگی در سیستم های همتا به همتای توزیعی

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

حل مسئله خرج مجدد به عنوان مشکل کپی برداری از کالاهای دیجیتال

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

حل مسئله خرج مجدد به عنوان نمونه ای از نقض یکپارچگی در سیستم های همتا به همتای توزیعی

در این مبحث، نوع معماری سیستم معلوم است اما حوزه‌ی کاربردی آن نامشخص است. بنابراین، راه‌حل‌های ارائه‌شده در این سطح، صرف‌نظر از مورد استفاده‌ی واقعی سیستم، روی دستیابی و حفظ یکپارچگی در سیستم‌های همتا‌به‌همتای توزیعی تمرکز دارند. با این حال، این کاربردِ سیستم همتا‌به‌همتای توزیعی است که معنای یکپارچگی را مشخص می‌کند. به عنوان مثال، یک سیستم با کاربردِ ساده‌ی اشتراک‌گذاری فایل، در مقایسه با سیستمی که مالکیت‌های یک ارز دیجیتال را مدیریت می‌کند، ممکن است از جنبه‌های متفاوتی برای تعریف یکپارچگی استفاده کند. از این رو، پاسخ به این پرسش که آیا بلاک‌چین (به عنوان مجموعه‌ای از فناوری‌ها) ابزار مناسبی برای دستیابی و حفظ یکپارچگی سیستم است یا خیر، بدون دانستن اهداف دقیق آن سیستم، ممکن نیست. در نتیجه این امکان وجود دارد که برای دستیابی و حفظ یکپارچگی در یک حوزه‌ی کاربردیِ خاصِ سیستم‌های همتا‌به‌همتای توزیعی، استفاده از فناوری‌ها، ساختمان‌داده‌ها و الگوریتم‌هایی غیر از بلاک‌چین مناسب‌تر باشد.