بهبود حریم خصوصی تراکنش ها در بلاک چین بیت کوین | توسط Coinbase | مه، 2022
Tl;dr: این گزارش در مورد چه چیزی به روز می شود جوزی، یک بیت کوین CoreDev و صندوق اجتماعی کریپتو کوین بیس دریافتکننده کمک هزینه، در بخش اول کمک مالی سالانه توسعه کریپتو کار کرده است. این به طور خاص کار آنها را در مورد حریم خصوصی تراکنش بیت کوین پوشش می دهد. از اواخر
Tl;dr: این گزارش در مورد چه چیزی به روز می شود جوزی، یک بیت کوین CoreDev و صندوق اجتماعی کریپتو کوین بیس دریافتکننده کمک هزینه، در بخش اول کمک مالی سالانه توسعه کریپتو کار کرده است. این به طور خاص کار آنها را در مورد حریم خصوصی تراکنش بیت کوین پوشش می دهد.
از اواخر سال گذشته، من با گروهی از محققان روی پروژهای با محوریت تراکنشهای بیتکوین با دو یا کمتر خروجی کار کردهام. در حالی که تحقیقات هنوز در حال انجام است، ما فرصتی را برای بهبود با توجه به حریم خصوصی تراکنش بیت کوین شناسایی کردیم. در این پست انگیزه تغییر و کار انجام شده تا کنون توضیح داده شده است.
حفظ حریم خصوصی در معاملات بیت کوین
وقتی به حفظ حریم خصوصی در بیت کوین فکر می کنم، تعریف زیر را مفید می دانم:
اریک هیوز (1993) “حریم خصوصی قدرت آشکار کردن انتخابی خود به جهان است.”
این تعریف انگیزه بیانیه زیر است:نرم افزار هرگز نباید اطلاعاتی بیش از حد لازم در مورد فعالیت کاربر فاش کند.در مورد تراکنشهای بیتکوین، این بدان معناست که ما باید سعی کنیم آدرس و مبلغ پرداخت را بین پرداختکننده و گیرنده خصوصی حفظ کنیم. یکی از راههای شکستن این حریم خصوصی امروزه از طریق اکتشافی «پرداخت به یک نوع اسکریپت متفاوت» است.
به طور خلاصه، این اکتشافی با استنباط اینکه کدام یک از خروجی های یک تراکنش، خروجی تغییر است با بررسی انواع اسکریپت کار می کند. اگر تراکنش با ورودیهای bech32 (Segwit بومی) تأمین مالی شود و دارای دو خروجی، یکی P2SH و دیگری bech32 باشد، منطقی است که استنباط کنیم که خروجی bech32 آدرس تغییری است که توسط کیف پول گیرنده پرداخت ایجاد میشود. این به یک ناظر خارجی اجازه می دهد تا ارزش پرداخت را استنباط کند و ارزش را با دقت معقول تغییر دهد.
چقدر این مشکل بزرگ است؟
اما هر چند وقت یکبار این اتفاق می افتد؟ آیا اصلاً ارزش بهبود دارد یا یک مورد لبه نادر است؟ بیایید به برخی از داده ها نگاه کنیم!
پرداخت به انواع مختلف اسکریپت در طول زمان
در تجزیه و تحلیل تراکنشهای سال 2010 تا کنون، متوجه شدیم که این نوع تراکنش برای اولین بار پس از فعالسازی آدرسهای P2SH در سال 2012 ظاهر میشود و پس از فعالسازی segwit در سال 2017 به طور قابل توجهی رشد میکند. از سال 2018 به بعد، این نوع تراکنش ها حدود 30 درصد از کل تراکنش های بلاک چین بیت کوین را تشکیل می دهند. انتظار میرود که در طول زمان افزایش یابد زیرا شاهد افزایش پذیرش taproot هستیم که کدگذاری آدرس جدید bech32m را معرفی میکند. این به این معنی است که اگر هر کیف پول راه حلی برای این موضوع داشته باشد، امروز فرصتی برای بهبود حریم خصوصی تا 30 درصد از کل تراکنش های بیت کوین داریم.
چگونه ما می توانیم این را اصلاح کنیم؟
اولین قدم برای حل این مشکل تطبیق نوع آدرس پرداخت هنگام ایجاد خروجی تغییر است. از مثال قبلی ما، این بدان معناست که کیف پول ما باید در عوض یک آدرس P2SH ایجاد کند، به طوری که تراکنش اکنون ورودی bech32 به دو خروجی P2SH باشد، و عملاً پنهان می کند که کدام یک از خروجی ها پرداخت و کدام تغییر است.
این منطق در هسته بیت کوین #23789 ادغام شد – به این معنی که کیف پول ما اکنون ترکیبی از انواع خروجی بسته به الگوهای پرداخت ما خواهد داشت. وقتی این UTXO ها را خرج می کنیم چه اتفاقی می افتد؟ آیا حریم خصوصی ما از معامله اصلی هنوز حفظ می شود؟
اختلاط انواع خروجی هنگام تأمین مالی یک تراکنش
همانطور که مشخص است، ما هنوز ممکن است اطلاعات مربوط به اولین تراکنش خود را درز کنیم (txid: a) هنگام خرج کردن خروجی تغییر در تراکنش بعدی. سناریوی زیر را در نظر بگیرید:
اختلاط انواع ورودی در معاملات بعدی
- آلیس یک کیف پول با UTXOهای نوع bech32 دارد و به باب پول می دهد و به آنها آدرس P2SH می دهد.
- کیف پول Alice یک خروجی تغییر P2SH تولید می کند و حریم خصوصی آنها را در txid حفظ می کند:
- سپس آلیس به کارول پرداخت می کند و او به آنها آدرس bech32 می دهد
- کیف پول Alice P2SH UTXO را با bech32 UTXO و txid ترکیب می کند: b دارای دو خروجی bech32 است.
از دیدگاه یک ناظر خارجی، منطقی است که استنباط کنیم که خروجی P2SH در txid: b تغییر از txid: a است. برای جلوگیری از افشای اطلاعات در مورد txid: الف، کیف پول Alice باید از مخلوط کردن خروجی P2SH با سایر انواع خروجی خودداری کند و تراکنش را فقط با خروجی های P2SH یا فقط با خروجی های bech32 تامین مالی کند. به عنوان یک امتیاز، اگر txid: b بتوان با خروجی P2SH تامین مالی کرد، تغییر از txid: b bech32 خواهد بود، که به طور موثر خروجی P2SH را با تبدیل آن به پرداخت و تغییر bech32 از کیف پول پاک می کند.
از مخلوط کردن انواع خروجی های مختلف در هنگام انتخاب سکه خودداری کنید
من با کار و بررسی مداوم این منطق را در Github پیاده سازی کرده ام..
اگر این موضوع برای شما جالب است، یا اگر به دنبال راه هایی برای درگیر شدن در توسعه هسته بیت کوین هستید، می توانید در باشگاه نقد و بررسی روابط عمومی بیت کوین برای شماره 24584 شرکت کنید (یا گزارش های جلسه را بخوانید).
کارهای در حال انجام
اگر این منطق در بیت کوین Core ادغام شود، امید من این است که کیف پول های دیگر هم تطبیق آدرس تغییر را اجرا کنند و از مخلوط کردن انواع خروجی در هنگام انتخاب سکه اجتناب کنند و حریم خصوصی را برای همه کاربران بیت کوین بهبود بخشند.
این کار الهام بخش تعدادی ایده برای بهبود حریم خصوصی در کیف پول Bitcoin Core و همچنین بهبود نحوه آزمایش و ارزیابی تغییرات در انتخاب سکه است. با تشکر فراوان از Coinbase برای حمایت از کار من – امیدوارم با ادامه تحقیقات ما فرصت های دیگری برای بهبود با انگیزه تجزیه و تحلیل پیدا کنم.
آموزش مجازی مدیریت عالی حرفه ای کسب و کار Post DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت عالی و حرفه ای کسب و کار DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت کسب و کار MBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه |
مدیریت حرفه ای کافی شاپ | حقوقدان خبره | سرآشپز حرفه ای |
آموزش مجازی تعمیرات موبایل | آموزش مجازی ICDL مهارت های رایانه کار درجه یک و دو | آموزش مجازی کارشناس معاملات املاک_ مشاور املاک |
- نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد.
- نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
- نظراتی که به غیر از زبان فارسی یا غیر مرتبط با خبر باشد منتشر نخواهد شد.
ارسال نظر شما
مجموع نظرات : 0 در انتظار بررسی : 0 انتشار یافته : ۰