فهرست مطالب
1. مقدمه
عملکرد آفلاین ارزهای دیجیتال بانک مرکزی (CBDC) یکی از مهمترین چالشها در طراحی ارز دیجیتال محسوب میشود. در حالی که اکثر تراکنشهای مدرن بهصورت آنلاین انجام میشوند، پول نقد فیزیکی در سناریوهایی که ارتباط شخص ثالث در دسترس نیست، همچنان ضروری باقی میماند. بنابراین یک CBDC باید قابلیتهای آفلاین پول نقد را بازتولید کند و در عین حال چالشهای حیاتی از جمله دوبار خرج کردن، عدم انکار، جعلناپذیری و حملات تکرار را حل نماید.
این تحقیق یک راهحل نوآورانه با استفاده از سکههای سریالشده ذخیرهشده در بلاکچینهای محلی ایمنشده با کلیدهای جاسازیشده در سختافزار ارائه میدهد. این سیستم از دو نوع سکه پشتیبانی میکند: سکههای گرم (قابل بازیابی در صورت گم شدن) و سکههای سرد (غیرقابل بازیابی، مشابه پول نقد فیزیکی).
چالش کلیدی
CBDC آفلاین باید بدون اعتبارسنجی مرکزی از دوبار خرج کردن جلوگیری کند
راهحل پیشنهادی
بلاکچین محلی با کلیدهای ایمنشده سختافزاری و استخراج مداوم
2. چارچوب فنی
2.1 معماری بلاکچین محلی
بلاکچین محلی بر روی دستگاههای کاربر (مانند تلفنهای هوشمند) عمل میکند و یک دفتر کل توزیعشده از تراکنشهای سکه را نگهداری میکند. هر دستگاه شامل کلیدهای رمزنگاری جاسازیشده در عناصر سختافزاری امن است که امنیت مقاوم در برابر دستکاری را فراهم میکند. بلاکچین بهطور مداوم بلوکهای جدید استخراج میکند تا از طریق مکانیسمهای اثبات کار، امنیت را افزایش دهد.
2.2 مکانیسم سریالسازی سکه
سکهها با شمارههای سریال منحصربهفرد ضرب میشوند که امکان ردیابی و تأیید را فراهم میکنند. هنگامی که پرداختهای جزئی رخ میدهد، سیستم سریالسازی، سریالهای مشتقشده تولید میکند در حالی که یکپارچگی سکه اصلی را حفظ مینماید. این رویکرد تضمین میکند که هر واحد سکه در طول چرخه عمر خود بهطور منحصربهفرد قابل شناسایی باقی بماند.
2.3 پروتکلهای امنیتی
این سیستم از چندین لایه امنیتی از جمله امضاهای رمزنگاری، ذخیرهسازی کلید مبتنی بر سختافزار و مکانیسمهای اجماع توزیعشده استفاده میکند. هر تراکنش به اثبات رمزنگاری نیاز دارد که توسط شبکه بلاکچین محلی تأیید میشود و از خرج غیرمجاز جلوگیری کرده و یکپارچگی تراکنش را تضمین مینماید.
3. جزئیات پیادهسازی
3.1 معماری سکه گرم در مقابل سرد
سیستم سکه دوگانه انعطافپذیری برای موارد استفاده مختلف فراهم میکند:
- سکههای گرم: ارز دیجیتال قابل بازیابی که توسط تضمینهای مرجع مرکزی پشتیبانی میشود. برای تراکنشهای روزمره با محافظت در برابر سرقت مناسب است.
- سکههای سرد: ابزارهای حامل بدون مکانیسم بازیابی، که ویژگیهای پول نقد فیزیکی را تقلید میکنند. برای تراکنشهای متمرکز بر حریم خصوصی ایدهآل هستند.
3.2 چارچوب ریاضی
مدل امنیتی بر مبانی رمزنگاری و الگوریتمهای اجماع متکی است. مکانیسم جلوگیری از دوبار خرج کردن از تعهدات رمزنگاری و اثباتهای دانش صفر استفاده میکند:
فرض کنید $C_i$ نشاندهنده یک سکه با سریال $S_i$ باشد و $T_{ij}$ نشاندهنده یک تراکنش از کاربر $i$ به کاربر $j$ باشد. تابع اعتبارسنجی $V(T_{ij})$ باید شرایط زیر را برآورده کند:
$$V(T_{ij}) = \begin{cases} 1 & \text{if } \text{VerifySignature}(T_{ij}, K_i) \land \neg\text{IsDoubleSpent}(C_i) \\ 0 & \text{otherwise} \end{cases}$$
جایی که $K_i$ نشاندهنده کلید خصوصی کاربر است و بررسی دوبار خرج کردن تضمین میکند که هر سکه فقط یک بار در چارچوب اجماع بلاکچین محلی خرج میشود.
3.3 نتایج آزمایشی
آزمایشهای انجامشده با محیطهای آفلاین شبیهسازیشده نشان داد:
- نرخ موفقیت تراکنش: ۹۹.۲٪ در حالت کاملاً آفلاین
- جلوگیری از دوبار خرج کردن: ۱۰۰٪ اثربخشی در آزمونهای کنترلشده
- زمان پردازش تراکنش: کمتر از ۲ ثانیه برای انتقالات همتابههمتا
- تأثیر بر باتری: کمتر از ۵٪ مصرف اضافی در طول استخراج مداوم
بینشهای کلیدی
- بلاکچین محلی نیاز به اعتبارسنجی آنلاین مداوم را از بین میبرد
- کلیدهای جاسازیشده در سختافزار امنیت مقاوم در برابر دستکاری فراهم میکنند
- معماری سکه دوگانه امنیت و راحتی را متعادل میکند
- استخراج مداوم امنیت را بدون مرجع مرکزی افزایش میدهد
مثال پیادهسازی کد
class OfflineCBDC:
def __init__(self, device_id, private_key):
self.device_id = device_id
self.private_key = private_key
self.local_blockchain = LocalBlockchain()
self.coin_serializer = CoinSerializer()
def mint_coin(self, amount, coin_type):
serial = self.coin_serializer.generate_serial()
coin_data = {
'serial': serial,
'amount': amount,
'type': coin_type,
'timestamp': time.time()
}
signature = self.sign_data(coin_data)
return {'coin': coin_data, 'signature': signature}
def verify_transaction(self, transaction):
# تأیید امضا و بررسی دوبار خرج کردن
if not self.verify_signature(transaction):
return False
if self.local_blockchain.check_double_spend(transaction['coin']):
return False
return True
def process_payment(self, recipient_public_key, amount):
transaction = self.create_transaction(recipient_public_key, amount)
if self.verify_transaction(transaction):
self.local_blockchain.add_transaction(transaction)
return True
return False
4. تحلیل و بحث
راهحل پیشنهادی CBDC آفلاین نشاندهنده پیشرفت قابل توجهی در فناوری ارز دیجیتال است و یکی از ماندگارترین چالشها در پیادهسازی ارز دیجیتال بانک مرکزی را حل میکند. با بهرهگیری از فناوری بلاکچین محلی با کلیدهای ایمنشده سختافزاری، این رویکرد یک چارچوب قوی برای تراکنشهای آفلاین فراهم میکند در حالی که تضمینهای امنیتی قابل مقایسه با سیستمهای آنلاین را حفظ مینماید.
این تحقیق بر اساس کارهای بنیادی در فناوری بلاکچین، بهویژه مقاله سفید بیتکوین ساتوشی ناکاموتو (۲۰۰۸) بنا شده است که برای اولین بار پتانسیل اجماع توزیعشده برای ارز دیجیتال را نشان داد. با این حال، برخلاف اجماع اثبات کار پرانرژی بیتکوین، رویکرد بلاکچین محلی برای محدودیتهای دستگاههای همراه بهینهسازی شده است در حالی که امنیت را حفظ میکند. معماری سکه دوگانه (سکههای گرم/سرد) از تکنیکهای رمزنگاری مدرن مشابه آنهایی که در سیستمهای اثبات دانش صفر استفاده میشوند، الهام گرفته است، همانطور که در تحقیق zk-SNARKs توسط بنساسون و همکاران (۲۰۱۴) بحث شده است.
در مقایسه با راهحلهای پرداخت آفلاین موجود مانند پروژه e-peso اروگوئه (Sarmiento, 2022)، این رویکرد از طریق استخراج محلی مداوم و محافظت کلید مبتنی بر سختافزار، امنیت بهبودیافتهای ارائه میدهد. چارچوب ریاضی صحت رمزنگاری را تضمین میکند در حالی که عملکرد عملی روی دستگاههای مصرفکننده را حفظ مینماید. این راهحل چالش پذیرش جهانی ذکر شده در شکستهای اولیه پول نقد الکترونیکی (Bátiz-Lazo و Moretta, 2016) را با ارائه مزایای ملموس فراتر از صرف عملکرد پرداخت حل میکند و به طور بالقوه با سیستمهای هویت و سایر خدمات یکپارچه میشود.
از دیدگاه فنی، معماری بلاکچین محلی نشاندهنده یک کاربرد نوآورانه از اصول سیستمهای توزیعشده در محیط محدود دستگاههای همراه است. فرآیند استخراج مداوم، اگرچه سبکوزن است، بهبودهای امنیتی مستمری فراهم میکند که با مدلهای تهدید در حال تکامل سازگار میشود. این رویکرد با تحقیقات اخیر بانک تسویهحسابهای بینالمللی (BIS) در مورد یکپارچهسازی عنصر امن در طراحی CBDC همسو است و قابلیت اجرای عملی امنیت مبتنی بر سختافزار در کاربردهای مالی را نشان میدهد.
نتایج آزمایشی اثربخشی سیستم را در شرایط دنیای واقعی نشان میدهد، با موفقیت ویژه در جلوگیری از دوبار خرج کردن - یک نیاز حیاتی برای هر سیستم ارز دیجیتال آفلاین. تأثیر حداقلی بر باتری یک نگرانی کلیدی برای استقرار موبایل را حل میکند و راهحل را برای استفاده روزمره عملی میسازد. کار آینده میتواند یکپارچهسازی با فناوریهای نوظهور مانند محاسبه چندجانبه امن را برای افزایش حریم خصوصی در حالی که قابلیتهای آفلاین حفظ میشود، بررسی کند.
5. کاربردهای آینده
رویکرد بلاکچین محلی برای CBDC آفلاین چندین کاربرد و جهت توسعه امیدوارکننده دارد:
- تابآوری در برابر بلایا: استقرار در مناطقی با اتصال اینترنت غیرقابل اعتماد یا در طول بلایای طبیعی
- پرداختهای فرامرزی: تسهیل تراکنشهای بینالمللی آفلاین با تبدیل ارز
- یکپارچهسازی اینترنت اشیاء: فعالسازی پرداختهای ماشین به ماشین در محیطهای آفلاین
- بهبودهای حریم خصوصی: یکپارچهسازی با اثباتهای دانش صفر برای حریم خصوصی تراکنش
- قابلیتهای قرارداد هوشمند: اجرای محدود قرارداد هوشمند آفلاین برای پرداختهای شرطی
جهتهای تحقیقاتی آینده شامل یکپارچهسازی رمزنگاری مقاوم در برابر کوانتوم، پروتکلهای حریم خصوصی بهبودیافته و استانداردهای قابلیت همکاری بین سیستمهای مختلف CBDC است.
6. مراجع
- Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System
- Buterin, V. (2019). Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform
- Chu, J., et al. (2022). Offline Digital Payments: Challenges and Solutions
- Garrat, R., and Shin, H. S. (2023). Token-based Money and Payments
- Bátiz-Lazo, B., and Moretta, A. (2016). The Failure of Early E-cash Systems
- Sarmiento, N. (2022). Uruguay's E-peso: Lessons from a CBDC Pilot
- Ben-Sasson, E., et al. (2014). Zerocash: Decentralized Anonymous Payments from Bitcoin
- Bank for International Settlements (2023). CBDC Technology Considerations