ورود به سایت ثبت نام در سایت فراموشی کلمه عبور
نام کاربری در این سایت می تواند هم فارسی باشد و هم انگلیسی





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





پاسخ به موضوع

ارسال پاسخ به این موضوع :: سه الزام فنی برای اتصال بلاکچین ها بدون استفاده از توکن

پیام شما

 

Send Trackbacks to (Separate multiple URLs with spaces)

شما میتوانید برای پیغام خود یک آیکون از لیست زیر انتخاب کنید

امکانات اضافی این بخش

  • تبدیل از www.example.com به [URL]http://www.example.com[/URL].

نمایش پست ها (ابتدا جدیدترین)

  • 2017/11/07, 19:32
    SARA

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


    دکتر 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 نمی باشد و نباید به آن نسبت داده شود.


    https://coiniran.com/%d8%b3%d9%87-%d...8%da%a9%d9%86/

مجوز های ارسال و ویرایش