آموزش بلاکچینبلاکچین

سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

 

دکتر Julian Hosp نویسنده مقاله می­گوید: درآخرین پست ارسالی ام در مورد این صحبت می­کردم که چگونه اتصال بلاکچین ها به یکدیگر، آخرین گام از مراحل پذیرش ارزهای دیجیتال است. در این مقاله می­خواهم شماتیک فنی چگونگی پیاده سازی این ایده را توضیح دهم.

از زمانی که ناکامی های زیادی درمورد داشتن یک اَبَر بلاکچین (uber-blockchain) برای اتصال بلاکچین ها می­دیدم، روی یک راه حل بدون توکن تمرکز کردم. این کار مزیت های زیادی دارد، از جمله:

  • ضرورتی برای توکن اضافه وجود ندارد.
  • کاربران می­توانند در بلاکچین خود باقی بمانند.
  • نیاز به اعتماد به یک طرف سوم متمرکز وجود ندارد.

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

بلوک دیاگرام های ابتدایی

در زیر با هم به بلوک دیاگرام ابتدایی برای سه حالت مختلف اتصال دو بلاکچین نگاهی می­اندازیم:

  1. امکان چند امضایی (Multisig)
  2. عملکرد محاسباتی (Hashing)
  3. عملکرد Time-lock

هریک از موارد را جداگانه بررسی و در نهایت آنها را برای یک تصویر کلی ترکیب می­کنیم.

  1. چند امضایی (Multisig) یک مفهوم قدیمی و قابل اعتماد است، چیزی شبیه یک دسته چک بانکی چند امضایی است. یک تراکنش چند امضایی اجازه می­دهد قوانین امضا بصورت مطلق (بدون پیش شرط) با یکدیگر ادغام شوند. در موضوع شبکه رمزنگاری امن، خارج از زنجیره، دارایی چندگانه و تراکنش آنی (COMIT) هر فردی تراکنش های چند امضایی ۲ به ۲  را به منظور اینکه هریک از طرفین با امضای آن، تراکنش را تایید و توسط شبکه پذیرفته شود، به کار می­گیرد. (مثال آن در زیر آورده شده است). این فرایند بدین معنی است که تراکنش های چند امضایی بین دو طرف می­بایست توسط هریک از طرفین امضا شود تا خروجی آن معتبر و توسط شبکه پذیرفته شود.

در شکل زیر، یک تراکنش ایجاد شده برای مثال یک بیتکوین به عنوان ورودی را نشان می­دهد. در هر صورت برای اینکه این تراکنش خارج شود، هر دو نفر (Alice, Bob) مجبورند تراکنش را امضا کنند.

سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

 

  1. توابع محاسباتی (Hash functions) مفاهیم استاندارد در رمزنگاری هستند. اینها توابع یک طرفه ای هستند که یک رشته از داده ها را (مثلا در اینجا یک رمز “s”) را به یک هش (hash) منحصر  بفرد مثلا “h” تبدیل می­کند. حال این هش h می­تواند بدون هیچگونه نگرانی، با اطمینان از اینکه هیچ کس از روی آن قادر به محاسبه رشته رمز اولیه (“s”) باشد، به دیگران ارسال شود. به منظور مسیریابی در طول بلاکچین های مختلف، می­بایست توابع رمزنگاری یکسانی در زبان قراردادی هوشمندی که در هر بلاکچین در مسیریابی شرکت می­کنند، به کار گرفته شود.

در شکل زیر فردی در یک قرارداد یک بیتکوین قرار می­دهد، اما Alice تنها به محض داشتن رمز (که طبیعتا از Bob خواهد گرفت) می­تواند آن را بگیرد.

سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

 

 

  1. Time-lock یک نیازمندی ابتدایی است برای اینکه دارایی انتقالی یعنی همان مبلغ تراکنش تا تاریخ بعدی قفل می­شود (برای اینکه نتوان همان تراکنش را کپی و مجددا ارسال کرد – جلوگیری از double spending -). در مکانیزم های بلاکچین دو نوع مختلف time-lock وجود دارد: نسبی و قطعی. در نوع قطعی، یک تراکنش خروجی تا یک زمان ثابت و مشخص در آینده قفل می­شود، حال آنکه در نوع نسبی به جای یک زمان خاص، تراکنش خروجی نسبت به وقوع یک رخداد یا یک نقطه زمانی قفل می­شود. به عبارت دیگر در نوع نسبی بجای تاکید بر یک نقطه زمانی خاص بر روی یک گستره زمانی تعریف می­شود. Time-lock ها یکی از ملزومات کانال های پرداخت اعتباری هستند و نوع نسبی آنها برای مجاز شمردن کانال های پرداخت باز پیشنهاد می­شوند.

در مثال شکل زیر یک نفر یک تراکنش ورودی به میزان یک بیتکوین  قرار داده اما Alice برای دریافت آن ناچار است تا زمان از پیش تعیین شده ای منتظر بماند.

سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

 

تجمیع حالات فوق

اگر در ادامه بخواهیم این سه بلوک دیاگرام را ترکیب کنیم، ما به یک واژه تحت عنوان HTLC (Hashed Time-Lock Contracts) می­رسیم که وضعیت مالکیت ها (افراد) بر مبنای چند امضایی به روز می­گردد. HTLC مفهوم قفل زمانی را به منظور لغو (استراد تراکنش) با یک قفل محاسباتی (Hash-lock) ترکیب می­کند. اگر دریافت کننده بتواند رمز “s” را برای عملیات hash-lock قبل از انقضای قفل زمانی (time-lock) ارائه کند، قادر است که مبلغ ارسالی را دریافت نماید. در غیر اینصورت فرستنده می­تواند مبلغ مذکور را با اطمینان بازگرداند. یعنی اگر یک طرف بخواهد وضعیت HTLC را به روز رسانی کند، نیازمند تایید (امضای) طرف دیگر است.

در مثال زیر، Alice  طی قراردادی با Bob یک بیتکوین ارائه می­کند.  Bob می­تواند آن بیتکوین را با گرفتن hash از Alice در یک زمان تعریف شده دریافت کند، یا اینکه Alice این مبلغ را به طور خودکار بعد از یک بازه زمانی خاص پس می­گیرد.

سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

دوتا HTLC می­توانند با هم ترکیب و منجر به چیزی به نام تراکنش های اتمی شوند. برای این منظور، دریافت کننده ابتدا رمز s را تولید و سپس هش آن را (h) محاسبه می­کند. به دنبال آن، دریافت کننده این هش (h) را با ارسال کننده که در اینجا او ابتدا تراکنش مشروطی را ایجاد کرده (مثلا خروجی آن قفل (هش) شده است) به اشتراک می­گذارد. این خروجی تنها با دانستن رمز s قابل بهره برداری است. در شرایط عمومی، به این معنی است که اگر Bob می­خواهد یک بیتکوین برای Alice فرستاده و در برگشت اتریوم دریافت کند، آنها می­بایست دو کانال پرداختی باز کرده (یکی برای بیتکوین و یکی برای اتریوم) و آنها را با یک هش h با هم جفت کنند. یعنی Bob مادامی برای Alice بیتکوین می­فرستد که او نیز برای Bob اتریوم بفرستد. در این شرایط هریک که انصراف دهند مقدار اولیه سربعا برگشت داده می­شود.

مسیر کامل

اکنون می­توانیم مقادیر مشخصی از تراکنش ها را به دیگران بفرستیم در شرایطی که هر نودی در این زنجیره بتواند با اطمینان از همان هش یکسان برای تراکنش استفاده کند. تراکنشی که مشروط بوده و یا رمز s را در اختیار داشته باشد. این هش در ابتدا با فرستنده به اشتراک گذاشته می­شود که به دنبال آن او نیز یک پرداخت مشروط به اولین نودی که نیاز به دانستن رمز s دارد خواهد فرستاد تا بتواند آن را بازپرداخت کند. سپس هریک از نود ها در این مسیر همزمان با اضافه کردن همان شرط برای باز پرداخت تراکنش، می­توانند تراکنش را با اطمینان به دیگری ارجاع دهند.

با استفاده از مکانیزم HTLC می­توانیم تضمین کنیم که کل تراکنش ها در این مسیر یا با موفقیت پرداخت می­شوند یا اینکه کل کانال های پرداختی امکان باز پرداخت نخواهند داشت (تضمنین انجام کامل تراکنش یا استرداد مبلغ به دارنده اولیه آن). الزامی به اطمینان سازی برای نود های میانی مسیر وجود ندارد. در انتها شما دنباله ای از تراکنش ها را دارید که برای تکمیل (پرداخت) شدن به یک رمز یکسان وابسته هستند.

هنگامی که دریافت کننده آخرین تراکنش را دریافت و از رمز (همان  s) برای تسویه (دریافت مبلغ) استفاده می­کند، تمام نودهای مسیر رمز مذکور را مشاهده و سپس می­توانند تراکنش های ورودی خود را باز پرداخت نمایند.

سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

بعد از اینکه رمز s در طول مسیر به اشتراک گذاشته شد، هر کانال پرداختی، تسویه حساب آن تراکنش را به کانال قبلی برمی­گرداند. این کار با به روز رسانی وضعیت کانال پرداختی به آخرین تراز موجودی و سپس با نامعتبر کردن تراکنش های HTLC با بازیابی کلید ابطال k مربوط به کانال پرداختی طرف قرارداد  انجام می­شود که نهایتا منجر به تکمیل تراکنش خواهد شد.

مکانیزم time-lock برای انجام مکانیزم استرداد در صورت بروز اختلال در میانه مسیر استفاده می­شود. Time-lock ها می­بایست به ترتیب از آخر به اول (stack) از سمت دریافت کننده به فرستنده قرار گرفته تا از بروز حقه و کلک توسط هرکسی از طریق دستکاری زمان های مورد نظر (کاهش زمان) جلوگیری کند تا کسی نتواند توالی تراکنش ها را جابجا کند.

نتیجه گیری

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

با انباشت کانال های پرداختی به ترتیب و روی هم، پول (مبلغ ارز دیجیتال) می­تواند از یک زنجیره ضعیف (نقدینگی پایین) به یک زنجیره قوی (نقدینگی بالا) رفته و سپس در نهایت به زنجیره ضعیف منتقل شود.

این مفهوم کانال های پرداختی را به شبکه های برزگی با ویژگی های زیر متصل می­کند:

رمز نگاری امن (بر اساس استانداردهای رمزنگاری)

خارج از زنجیره (مثل شبکه های Lightning یا Raiden)

دارایی چندگانه (چند زنجیره ای)

آنی (لزومی ندارد که یک تراکنش پس از انتشار تا زمان به روز رسانی طرف های مربوطه در بلاکچین تسویه گردد)

یک شبکه تراکنش مانند COMIT



دیدگاه هایی که در این مقاله ارائه شده اند، متعلق به نویسنده می باشند و لزوماً مربوط به Coiniran نمی باشد و نباید به آن نسبت داده شود.



Image & Source : nasdaqheise.de

https://coiniran.com/?p=7550
0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
1 دیدگاه
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
محمود
محمود
6 سال قبل

با سلام و تشکر از سایت ایران کوین و به خصوص اقای حمیدرضا عسگری
برای ما باعث افتخار است که چنین دانشمندانی مانند حمیدرضا عسگری داریم.
جناب اقای عسگری نوشته های زیر از مقالات نوشته شده در ایران بدست امده است و مطمعنم تنها شما می توانید از لحاظ فنی جواب دهید.از زمانی که برای پاسخوگیی و ناگرش این مقاله ها می گدارید بسیار سپاسگزارم
ماینرها به خاطر انجام وظیفه حسابرسی، پول دریافت می‌کنند. کار آن‌ها تایید تراکنش‌های قبلی است که در بستر بیت کوین صورت گرفته است. این فرایند توسط موسس بیت کوین، ایجاد شده است. ماینرها با تایید تراکنش‌ها جلوی «دوباره خرج شدن بیت کوین» را خواهند گرفت. منظور از «دوباره خرج شدن بیت کوین» این است که کاربر یک بیت کوین را دوبار خرج کند.
اگر استخراج بیت کوین به هر دلیلی متوقف شود وظیفه حسابرسی و تایید تراکنش ایا متوقف می شود؟
اگر تمام بیت کوین ها استخراج شود ۲۱ میلیون سال ۲۰۴۰
وظیفه تایید تراکنش ها و مشگل دوباره خرج کردن چگونه حل می شود؟
ایا دولت ها نمی توانند با متوقف کردن استخراج بیت کوین ان را نابود کنند؟

دکمه بازگشت به بالا
1
0
دیدگاه خود را با کوین ایران به اشتراک بگذارید!x