آرک
آرک (به انگلیسی: 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 روی زنجیره آمده باشد.