کریپتوکارنسی، رمزنگاری، تکنولوژی و برنامه‌نویسی

۲ مطلب در آذر ۱۳۹۶ ثبت شده است

شبکه لایتنینگ بیت‌کوین (Bitcoin Lightning Network)

پروتکل اولیه‌ی #بیت‌کوین در عمل توانایی پردازش حدود ۳ تراکنش در ثانیه رو داشت. این محدودیت باعث میشه موقع پر شدن ظرفیت شبکه، کاربرها مجبور باشند هزینه‌ی بیشتری برای تراکنش‌ها بپردازن تا تراکنش اون‌ها در اولویت قرار بگیره و انجام بشه.

هرچند کارهایی برای بیشتر کردن این محدودیت انجام شده و داره میشه اما مقایسه کنید اون رو با ویزا که قادر هست حدود ۵۰ هزار تراکنش در ثانیه رو پردازش کنه. شبکه‌ی #لایتنینگ یکی از راهکارهای مقیاس‌پذیری بیت‌کوین و #لایت‌کوین محسوب میشه.

⁣به کمک لایتنینگ، ⁣«آلیس» و «باب» می‌تونن سکه‌هاشون رو مطابق با پروسه‌ی مشخص شده و به مقداری که تصمیم گرفتن، در یک حساب (wallet) مشترک بریزن. ⁣به این کار ایجاد «کانال ⁣پرداخت دو طرفه» گفته میشه. و بعد از این می‌تونن به سرعت و به تعداد دلخواه به مبادله‌ی این سکه‌ها با هم بپردازن و در حقیقت سهم‌شون از این حساب مشترک رو تغییر بدن. هریک از طرفین - هر موقع که تمایل داشت - می‌تونه آخرین وضعیت سهم‌شون رو در بلاکچین منتشر (broadcast) کنه و از این کانال خارج بشه. هرچند وقتی آلیس بخواد از کانال خارج بشه، اگه با باب ارتباط نداشته باشه یا باب نخواد همکاری کنه، باید مدتی (چند ساعت تا چند روز، بسته به پارامترهای کانال ایجاد شده) صبر کنه تا بتونه سکه‌هاش رو بگیره. باب هم همینطور.


ریختن کوین‌ها در والت مشترک، تراکنشی هست که باید در بلاکچین منتشر و تایید بشه تا کانال به وجود بیاد. همچنین تراکنش خروج از کانال هم باید در بلاکچین منتشر بشه. اما تراکنش‌های میانی در لایه‌ای بالاتر از بلاکچین (لایه دوم) انجام میشه و در حقیقت به سادگی ارسال تعدادی داده‌ی کم حجم بین آلیس و باب هست. پس این تراکنش‌ها می‌تونن بدون هزینه و در کسری از ثانیه انجام بگیرن.


حالا فرض میکنیم آلیس به چارلی - که کانالی با هم ندارند ⁣- میخواد یک سکه بفرسته و میدونیم که باب با هردوی اون‌ها کانال پرداخت دو طرفه داره. بنابراین بدون اینکه نیاز به ایجاد کانال جدیدی باشه، باب میتونه بین اون‌ها واسطه باشه و یک سکه به چارلی در کانال مشترکشون پرداخت کنه و یک از سکه از آلیس در کانال مشترکشون بگیره. واضحه ⁣برای اینکه این تراکنش بتونه انجام بگیره، آلیس باید یک سکه سهم در کانال مشترکش با باب داشته باشه و همینطور باب باید یک سکه سهم در کانال مشترکش با چارلی داشته باشه.

دقت کنید که همه‌ی این پروسه‌ها به شکلی انجام میگیرن تا نیاز نباشه شما به هیچ شخصی اعتماد کنید. برای مثال وقتی باب به جای آلیس یک سکه به چارلی پرداخت کرد، کاملا مطمئن هست که یک سکه‌ش رو در کانال مشترک‌شون با آلیس میگیره. تعداد واسطه‌ها میتونه بیش از یک نفر باشه و به این ترتیب میشه با تعداد بیشتری کانال و بین افراد بیشتر، شبکه‌ی لایتنینگ رو شکل داد.


شاید براتون جالب باشه بدونید با لایتنینگ میشه حتی کسری از کوچک‌ترین واحد یک ارز دیجیتال رو هم انقال داد. برای مثال ساتوشی کوچترین واحدی هست که در بلاکچین بیت‌کوین میشه انتقال داد و شما نمیتونید فقط نیمی از اون رو انتقال بدید. اما با لایتنینگ میشه مثلا ۰.۱ ساتوشی هم انتقال داد و این به معنای اون هست که از پس از نهایی کردن تراکنش‌ها با احتمال ۱۰%، ۱ ساتوشی کامل انتقال داده خواهد شد یا اینکه هیچ ساتوشی انتقال داده نمیشه.


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

۱۷ آذر ۹۶ ، ۰۳:۰۹ ۱ نظر موافقین ۰ مخالفین ۰
پیمان جهانی

کارکترهای مشابه با کارکترهای لاتین در زبان‌های دیگر

سال‌ها پیش دامنه‌ی سایت‌ها فقط می‌توانست محدود به حروف لاتین A تا Z، اعداد و چند کارکتر دیگر باشد. دامنه‌های اینترنتی بین‌المللی (Internationalized Domain Names) یا IDNs به وجود آمد تا پشتیبانی بهتری از کارکترهای غیر لاتین برای کاربران وب در سرتاسر جهان داشته باشد. +

حروف زیادی در زبان‌های غیر لاتین وجود دارد که کاملا شبیه به کارکتری در زبان لاتین است. این موضوع باعث می‌شود که دو کلمه‌ی apple و аpple کاملا مشابه هم دیده شوند در حالی که کارکترهای آن‌ها کد ASCII یکسانی ندارد.

به این ترتیب مهاجم می‌تواند با ثبت دامنه‌ی аpple.com (که از کارکترهای غیر لاتین استفاده می‌کند) قربانی را فریب دهد که در سایت اصلی اپل قرار دارد و از طریق فیشنگ (phishing attack) اطلاعات حساب او را به دست آورد. (به طور کلی به فریب از طریق این روش homograph attack گفته می‌شود.)

خوشبختانه این مشکل از طرف بیشتر مروگرها پوشش داده شده و زمانی که دامنه‌ی سایت ترکیبی از کارکترها در زبان‌های مختلف باشد، به طور مثال سایت аpple.com - که حرف a آن کارکتری غیر لاتین است - در مرورگر به فرم Punycode یعنی به صورت xn--pple-43d.com نمایش داده خواهد شد. امتحان کن!

لینک به این آدرس

+ لیستی از کارکترهای گیج‌کننده و مشابه به هم

+ تایپ کارکترهای خاص زبان‌های غیر لاتین

پایان

۱۶ آذر ۹۶ ، ۰۳:۲۳ ۰ نظر موافقین ۰ مخالفین ۰
پیمان جهانی