آرک: تفاوت میان نسخه‌ها

از سیمرغ
پرش به ناوبری پرش به جستجو
محتوای افزوده‌شده محتوای حذف‌شده
(پیشامدها)
برچسب‌ها: ویرایشگر دیداری انجام شده از طریق tor
بدون خلاصۀ ویرایش
برچسب‌ها: ویرایشگر دیداری انجام شده از طریق tor
خط ۱: خط ۱:
آرک (به انگلیسی: Ark): یک پروتکل کوین‌سواپ لایه دوم بیت‌کوین است که با هدف بهبود مقیاس‌پذیری، حریم خصوصی بدون اضافه کردن ریسک امانی طراحی شده است. آذر پولش را به سرور میدهد به شرطی که سرور تضمین کند به بابک پرداخت می‌کند. چون تمام تاخت زدن‌ها با استفاده از سرور است و قفل زمانی به نفع کاربران نهایتا باز خواهد شد، تعداد زیادی خروجی خرج نشده می‌تواند در یک خروجی بر روی زنجیره گنجانده شود (که کاربران هنوز می‌توانند دارایی خود را از آن پس بگیرند). این مسئله به این قیمت است که نمی‌توانند درجا به دارایی خود دسترسی داشته باشند یعنی سرور می‌تواند تا مدتی مقدار قابل توجهی را قفل کند.
آرک (به انگلیسی: Ark): یک پروتکل کوین‌سواپ لایه دوم بیت‌کوین است که با هدف بهبود مقیاس‌پذیری، حریم خصوصی بدون اضافه کردن ریسک امانی طراحی شده است. آذر پولش را به سرور میدهد به شرطی که سرور تضمین کند به بابک پرداخت می‌کند. چون تمام تاخت زدن‌ها با استفاده از سرور است و قفل زمانی به نفع کاربران نهایتا باز خواهد شد، تعداد زیادی خروجی خرج نشده می‌تواند در یک خروجی بر روی زنجیره گنجانده شود (که کاربران هنوز می‌توانند دارایی خود را از آن پس بگیرند). این مسئله به این قیمت است که نمی‌توانند درجا به دارایی خود دسترسی داشته باشند یعنی سرور می‌تواند تا مدتی مقدار قابل توجهی را قفل کند.<ref><nowiki>https://gist.github.com/RubenSomsen/a394beb1dea9e47e981216768e007454</nowiki></ref>


== سازوکار<ref><nowiki>https://gist.github.com/RubenSomsen/a394beb1dea9e47e981216768e007454</nowiki></ref> ==
== سازوکار ==
[[پرونده:Ark-simplest.jpg|بندانگشتی|تراکنش‌های لازم برای پرداخت آذر به بابک]]
[[پرونده:Ark-simplest.jpg|بندانگشتی|تراکنش‌های لازم برای پرداخت آذر به بابک]]



نسخهٔ ‏۲۳ اوت ۲۰۲۳، ساعت ۰۳:۰۶

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

سازوکار[۲]

تراکنش‌های لازم برای پرداخت آذر به بابک
نگه‌داری کوین‌ها

آذر (A) کوین‌ها را پیش سرور (S) نگه‌داری می‌کند و همیشه می‌تواند بدون نیاز به اعتماد آن‌ها را پس بگیرد.

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

( || : به معنی «یا» است)

A+S || S in 1 month

آذر+سرور || سرور در یک ماه

A آذر یک تراکنش بازپس‌گیری REDEEM_TX (امضا شده توسط S) خارج از زنجیره دارد که از خروجی 1  با این خروجی خرج می‌کند:

UTXO_1:

A+S || A in 1 month

آذر+سرور  || آذر در یک ماه

آمادگی برای فرستادن کوین

آذر (A) می‌خواهد کوین‌هایش را به بابک (B) بفرستد.

S قول می‌دهد خروجی خرج نشده‌ی 2 را بسازد که به شرح زیر است:

UTXO_2:

B+S || S in 1 month

بابک+سرور || سرور در 1 ماه

B تراکنش بازپس‌گیری REDEEM_TX (امضا شده با S) برون‌زنجیره را دریافت می‌کند که از خروجی خرج نشده‌ی 2 با خروجی زیر خرج می‌کند:

B+S || B in 1 month

بابک+سرور || بابک در 1 ماه

اگر UTXO_2 روی زنجیره بیاید، پول به بابک B پرداخت شده.

تاخت زدن (بخش مهم!)

آذر می‌خواهد به شرطی که خروجی خرج نشده‌ی 2 (پرداخت S سرور به B بابک) روی زنجیره ظاهر شود ، از ادعایش روی خروجی خرج نشده‌ی 1 (پرداخت Sسرور به A آذر) بگذرد.

برای دست‌یابی به این، آذر A تراکنش واگذاری FORFEIT_TX  زیر را امضا می‌کند که تراکنش بازپس‌گیری‌اش REDEEM_TX را خرج می‌کند:

S if UTXO_2 exists* || A in 1 month

سرور اگر خروجی خرج نشده‌ی 2 وجود داشته باشد* || آذر در یک ماه

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

در نتیجه S می‌تواند پول خروجی خرج نشده‌ی 1 را بردارد اگر خروجی خرج نشده‌ی 2 روی زنجیره آمده باشد.

پیشامد‌ها

پیشامد مورد انتظار/ایدئال
  • S سرور خروجی خرج نشده UTXO_2 را روی زنجیره می‌فرستد یعنی B بابک پولش را گرفته.
  • A آذر تراکنش بازپس‌گیری‌اش REDEEM_TX را روی زنجیره نمی‌فرستد.
  • قفل زمانی UTXO_1 باز می‌شود و S دارایی را برمی‌دارد (اگر A آذر کلید خصوصی‌اش را بدهد، قفل زمانی قابل دور زدن است).
پیشامد A آذر متخاصم
  • S سرور خروجی خرج نشده UTXO_2 را روی زنجیره می‌فرستد یعنی B بابک پولش را گرفته.
  • A آذر تراکنش بازپس‌گیری‌اش REDEEM_TX را روی زنجیره می‌فرستد.
  • S سرور تراکنش واگذاری FORFEIT_TX مربوطه را روی زنجیره می‌فرستد و دارایی را برمی‌دارد.(از آذر پس می‌گیرد.)
پیشامد S سرور متخاصم
  • S سرور خروجی خرج نشده UTXO_2 را روی زنجیره می‌فرستد یعنی B بابک پولش را گرفته.
  • A آذر تراکنش بازپس‌گیری‌اش REDEEM_TX را روی زنجیره نمی‌فرستد.
  • قفل زمانی UTXO_1 باز می‌شود و S دارایی را برمی‌دارد (اگر A آذر کلید خصوصی‌اش را بدهد، قفل زمانی قابل دور زدن است).
پیشامد A آذر آفلاین
  • A نمی‌تواند از S سرور بخواهد پول را به B بابک بفرستد.
  • A آذر نمی‌تواند در زمان مناسب تراکنش بازپس‌گیری‌اش را روی زنجیره بفرستد.
  • قفل زمانی خروجی خرج نشده UTXO_1 باز می‌شود و سرور پول آذر را برمیدارد.
  1. https://gist.github.com/RubenSomsen/a394beb1dea9e47e981216768e007454
  2. https://gist.github.com/RubenSomsen/a394beb1dea9e47e981216768e007454