ساتوشی ریوارد

 

ساتوشی ریوارد

ساتوشی ریوارد، مسابقه ای است برای بالا بردن دانش بیتکوینی بین بیتکوینر ها و یا افراد عادی، برگزار میشود. هر ۲ هفته یک بار یک سوالی مطرح میگردد و شما تا ۲ هفته بعد وقت دارید به این سوال جواب بدید، به بهترین و کامل ترین جوابی که داده بشه ۲۱۰۰۰ #ساتوشی در قالب اینویس تقدیم میشه! قوانین: هیچ قانون خاصی نداریم و به هر صورت که راحت هستید میتونید جواب بدید هیچ ممیزی در قالب محتوا نداریم! (ویدیو، مقاله، رشتو و…) فقط اینکه سوالات هر پنجشنبه مطرح میشن! شما میتوانید با مطالعه پرسش و پاسخ های قبلی به دانش خود بیافزایید و یا با شرکت در آن اطلاعات خود را محک بزنید و حتی برنده مسابقه شوید.

این مسابقه در پلت فرم توییتر و توسط این کاربر برگزار میشود و برنده مسابقه توسط داوران مشخص میگردد.

ساختار بلاکچین بیت کوین

در هر بلاک یک مگابایت اطلاعات به صورت هش به عنوان بخشی از الگوریتم اثبات کار بیت کوین ذخیره میشه که ۸۰ بایت متعلق به هدر و مابقی، داده‌های تراکنش است. محتوای هدر بلاک دارای شناسه منحصر به فردی با نام هش هدر بلاک است. هر هدر بلاک در شبکه بیت کوین شامل ۵ بخش اصلی است: ورژن، هش بلاک قبلی، ثبت زمان، سختی و نانس، ریشه درخت مرکل.

فهرست مطالب

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

در هر بلاک یک مگابایت اطلاعات به صورت هش به عنوان بخشی از الگوریتم اثبات کار بیت کوین ذخیره میشه که ۸۰ بایت متعلق به هدر و مابقی، داده‌های تراکنش است.

محتوای هدر بلاک دارای شناسه منحصر به فردی با نام هش هدر بلاک است. هر هدر بلاک در شبکه بیت کوین شامل ۵ بخش اصلی است: ورژن، هش بلاک قبلی، ثبت زمان، سختی و نانس، ریشه درخت مرکل.

در بلاک 645536 در قالب هگزادسیمال، یک هدر بلوک معمولی به صورت زیر است:

اطلاعاتی که در هدر بلاک وجود دارند عبارتند از:

ورژن

این عدد ورژن بلاک یا نسخه‌ای از قوانینی است که این بلاک بر اساس آن قابل تایید است. ۴ تا نسخه هست و نشان میدهد که کدام مجموعه از قوانین اعتبارسنجی بلاک را باید دنبال کرد.

هش هدر بلاک قبلی

بلاک قبل از این بلاک در بلاک چین هم دارای یک هدر مخصوص به خود است که هش آن در هدر بلاک بعدی ثبت می‌شود. هش SHA256(SHA256()) هدر بلوک قبلی، تضمین می کند که هیچ بلوک قبلی بدون تغییر هدر بلوک قابل تغییر نیست.

هش ریشه مرکل تراکنش‌ها

به صورت خلاصه و ساده، می‌شود “هش مجموع تراکنش‌های موجود در این بلاک”.

یک هش SHA256(SHA256()) ریشه merkle از هش‌های تمام تراکنش‌های موجود در بلوک مشتق می‌شود و این اطمینان را می‌دهد که هیچ یک از آن تراکنش‌ها بدون تغییر هدر قابل تغییر نیستند.

عملکرد درخت مرکل در تراکنش آلیس به باب

در شکل بالا TA بیانگر یک تراکنش معمولی است که در مثال فوق قابل مشاهده است. این تراکنش‌ها به طور مجزا هش می‌شوند تا مقدار هش هر کدام مشخص شود. برای مثال TD از تابع هش عبور می‌کند تا مقدار هش HD متناظر با آن مشخص شود. در مورد بیت کوین، تابع هشی که استفاده می‌شود، SHA256 است.

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

برای مثال، مقادیر هش HC و HD ترکیب و هش می‌شوند تا هش HCD تولید شود. در مثال فوق، ۸ تراکنش با مقادیر هش مختص به خود وجود دارد. هرچند اگر تعداد تراکنش‌ها فرد باشد، برای مثال ۷ تراکنش وجود داشته باشد، هش هفتم با خود جفت می‌شود تا مقدار هش جدید تولید شود و در این صورت، HH با HH ترکیب می‌شود تا HHH ایجاد شود.

این فرآیند تا زمانی تکرار می‌شود که آخرین مقدار هش به دست آید. به این مقدار، ریشه مرکل می‌گویند. در مثال فوق، ریشه مرکل HABCDEFG است. اندازه ریشه مرکل ۳۲ بایت است و در هدر بلاک قرار می‌گیرد که بیانگر خلاصه ای از اطلاعات تمام تراکنش‌هاست.

مزیت های ساختار درخت مرکل

  • بررسی آسان این موضوع که آیا در تراکنش‌ها مداخله‌ای صورت گرفته است یا خیر
  • استفاده کمتر از منابع
  • تایید آسان اضافه شدن تراکنش خاص در بلاک

مداخله ناپذیر

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

برای مثال اگر تراکنش TH به تراکنش TXYZ تغییر کرده باشد، مقدار هش آن نیز متفاوت خواهد بود؛ بنابراین، هنگامی که هش به دست آمده با هش مجاور خود ترکیب شود، هش نهایی نیز متفاوت خواهد شد. این امر منجر به ریشه مرکل کاملا متفاوتی می‌شود، بنابراین می‌توان نتیجه گرفت که هرگاه ریشه مرکل تغییر کند، در یک یا بیش از یک تراکنش مداخله و تغییر ایجاد شده است.

استفاده از منابع کمتر

ساماندهی تراکنش‌ها در ساختار درخت مرکل در مقایسه با هش کردن مجموعه تراکنش‌ها و وارد کردن آنها به هدر بلاک، از منابع کمتری استفاده می‌کند.

اگرچه از نظر فنی، اگر تمام تراکنش‌ها به صورت روش دوم یا همان هش تراکنش‌ها و وارد کردن آنها به هدر بلاک ساماندهی شوند، همچنان عملکرد خواهد داشت؛ اما از منابع بسیار زیادی استفاده خواهد کرد.

این روش مدیریت تراکنش‌ها به دلیل هزینه بسیار زیاد مدیریت منابع بیشتر، می‌تواند منجر به کاهش نودها در شبکه بیت کوین شود. در نتیجه، غیرمتمرکز شدن شبکه بیت کوین کاهش می‌یابد.

تایید یک تراکنش

درخت مرکل به کاربران امکان می‌دهد تا بدون دانلود کردن کل بلاک چین، بتوانند بررسی کنند یک تراکنش مشخص در بلاک حضور دارد یا خیر. اگرچه با استفاده از کلاینت‌های سبک‌تر نظیر پروتکل SPV، کاربران می‌توانند بررسی کنند که تراکنش مورد نظرشان در بلاک چین حضور دارد یا خیر.

برای مثال اگر کاربر بخواهد بررسی کند که آیا تراکنش HD در بلاک حضور دارد، به جای دانلود کل بلاک چین و بررسی آن، تنها چیزی که وی نیاز دارد ریشه مرکل، HAHEFGH، HAB و HC است. اگرچه همچنان برای تایید حضور تراکنش در بلاک به اطلاعات مربوطه نیاز است، اما به طور چشمگیری بهتر از دانلود کل بلاک چین است.

تایم استمپ

این عدد نشان‌دهنده دقیق زمانی است که در آن ماینر شروع به پیدا کردن هش بلاک کرده است. زمان بلوک یک زمان یونیکس است که در آن ماینر شروع به هش کردن هدر کرده (طبق گفته ماینر). باید بیشتر از زمان میانه 11 بلوک قبلی باشد.

برچسب های زمانی اختلاف یک الی دو ساعته دارند. هنگامی که یک نود به نود دیگری متصل می‌شود، Timestamp آن را می‌خواند و اختلاف زمانی خود را بر حسب زمان UTC تنظیم می‌کند؛ در نتیجه زمان تنظیم شده کل شبکه همان ساعت فعلی بر حسب UTC به علاوه اختلاف زمانی نودها است. این اختلاف هرگز بیشتر از ۷۰ دقیقه نسبت به زمان مرجع یا همان UTC نیست.

شرایط یک برچسب زمانی معتبر بدین صورت است: بیشتر از میانگین برچسب‌های زمانی ۱۱ بلاک قبلی و کمتر از زمان تنظیم شده در شبکه، به علاوه ۲ ساعت اضافی باشد. زمان تنظیم شده در شبکه را نیز TimeStampهای نودها مشخص می‌کند؛ در نتیجه دقیق نیستند و نیازی هم به این مورد نیست.

هدف از برچسب زمانی چیست؟

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

محاسبه سختی شبکه

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

تنظیم زمان شبکه به صورت غیرمتمرکز و با همگام سازی با سایر نودها صورت می‌گیرد. یک نود، برچسب زمانی تمام نودهای همتای خود را بر حسب زمان UTC از آنها دریافت می‌کند و اگر در محدوده ۷۰ دقیقه ای اشاره شده باشد، میانگین زمان شبکه از تمام برچسب های زمانی نودها محاسبه خواهد شد.

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

سختی هدف یا nBits

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

تصویر زیر نمونه ای از هش بلاک است که صفرهای ابتدایی آن،نشان دهنده شرط تعیین شده از طریق پارامتر سختی شبکه می‌باشد:

هر چه تعداد صفر ها بیشتر باشد، سختی بیشتر است.

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

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

نانس (Nonce)

نانس (Nonce) مخفف عبارت “عددی که تنها یک بار به کار می‌‌رود” (Number only used once) است و به عددی گفته می‌‌شود که به یک بلاک هش شده (Hashed) – یا رمزنگاری شده – در بلاک چین‌‌ اضافه شده و هنگامی که این عدد به همراه هش بلاک مجدداً هش شوند (Rehash)، قادر خواهند بود هشی ایجاد کنند که شرایط و محدودیت‌های تعریف شده توسط پارامتر سختی شبکه (Network Difficulty) را برآورده نماید.

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

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

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

پیدا کردن نانس (Nonce)

فرآیند پیدا کردن هش از بلاک هِدِر (Block Header) آغاز می‌‌شود که دارای مواردی چون شماره نسخه بلاک، برچسب زمان، هش مورد استفاده در بلاک قبلی، هش ریشه مرکل (Merkle Root)، نانس و هش هدف است.

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

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

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

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

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

جمع بندی

بیایید یکبار دیگر به شکلی ساده‌تر به کل آن نگاه کنیم:

هر ماینر ابتدا تعدادی از تراکنش‌های تایید نشده موجود در شبکه (این تراکنش‌ها در فضای MemPool قرار دارند) را برای خود انتخاب می‌کند (معمولا تراکنش‌هایی را انتخاب می‌کنند که کارمزد بیشتری دارند) و آن‌ها را در قالب یک بلاک طبق بندی می‌کند؛ یعنی بدنه بلاک پیشنهادی این ماینر، از همین تراکنش‌های انتخابی او تشکیل شده است.

در هدر، ورژن یک عدد است که به واسطه آن ماینر به شبکه اعلام می‌کند که تابع کدام نسخه از قوانین شبکه است. هش هدر بلاک قبلی هم که بر اساس آخرین بلاک موجود در بلاک چین تعیین می‌شود.

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

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

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

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

برای تایید شدن یک بلاک، ماینرها باید نانس را طوری حدس بزنند که تعداد صفرهای ابتدای هش بلاک از تعداد صفرهای سختی هدف بیشتر یا مساوی باشد.

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

حتما شنیده‌اید که می‌گویند مثلا فلان دستگاه ماینر، ۱۴ ترا هش بر ثانیه (Th/s) قدرت دارد. جالب است بدانید که این عدد یعنی آن دستگاه قادر است در هر ثانیه ۱۴ تریلیون حدس مختلف برای عدد نانس بزند؛ یعنی این دستگاه می‌تواند در یک ثانیه، کل فرآیند توضیح داده شده را ۱۴ تریلیون بار تکرار نماید!

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

منبع:  https://alism.ir/fa/posts/understanding-the-bitcoin-blockchain/

بعضی از والت های تلفن‌های همراه به خصوص Breez و Blixt برای اجرای لایتننیگ با پیاده‌سازی BIP 157 به فول نودها متکی هستند و ممکن است به صورت ناخواسته با گسترش سریع شبکه لایتنینگ منجر به DDos فول‌نودهای بیت‌کوین شود.

بیت‌کوین را نمی توان به راحتی هک کرد یا خاموش کرد و هر کسی می تواند از آنها برای انتقال ارزش در سراسر جهان بدون دخالت شخص ثالث استفاده کند.

برای اطمینان از باقی ماندن این ویژگی ها، باید سرعت تراکنش ها به میزان قابل توجهی زیاد باشد. اما تعداد تراکنش‌ها در ثانیه (TPS) بیت‌کوین محدود (حداکثر ۷ تراکنش بر ثانیه) و برای فناوری‌ای که هدف آن پذیرش توسط مردم است، نسبتاً کم است.

برای غلبه بر محدودیت های ذاتی بیت‌کوین، یکی از راهکاری هایی که بیشتر استفاده می‌شود، شبکه لایتننیگ است.

شبکه لایتنینگ

لایتنینگ، راهکار لایه دو و خارج از شبکه (Off-chain) برای شبکه بیت کوین است که با ساخت کانال‌های پرداخت، امکان پرداخت امن دو طرفه بین دو یا چند نفر را بدون نیاز به اعتماد فراهم می‌کند.

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

شبکه پرداخت LN فاقد سوابق تراکنش قابل اعتماد برای حسابرسی شخص ثالث است. بنابراین، برای مشاغل یا هرگونه پرداخت قانونی ممکن است مناسب نباشد.

#ساتوشی_ریوارد#Bitcoin         

سوال:
با گسترش شبکه #لایتنینگ در آینده چه اتفاقی برای خود #بیتکوین میوفته؟

توضیح :
توضیح یک خطی قبول نیست!

پ.ن:
پرسش گر این سوال گروه پرشین لایتنینگ هست و به برنده هم علاوه بر جایزه مسابقه ۲۱۰۰۰ #ساتوشی اضافه میکنند!

— آنارشیست تنها (@alone_anarchist) April 7, 2023

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

شبکه لایتنینگ علیرغم مزایای بالقوه ای که دارد، با چالش ها و انتقادات متعددی مواجه است:

حمله DDos به فول نودهای بیت‌کوین

اینجا باید با دو BIP یا پروپوزال بهبود بیت‌کوین، اشنا شوید؛ BIP 157 و BIP 158 :

در نوامبر 2019 بیت‌کوین Core 0.19 منتشر شد؛ که حاوی یک ویژگی به نام Compact Block Filters یا (BIP158) و جایگزینی برای فیلترهای Bloom یا BIP37 در همان نسخه بود.

این فیلترها یک راه سریع برای بررسی اینکه آیا یک آدرس عضوی از یک بلاک است یا خیر ارائه می‌دهد. به طور دقیق تر اینکه آیا یک بلاک خاص به نحوی روی یک آدرس تأثیر می گذارد یا خیر. اگرچه چک ممکن است این بررسی نتایج مثبت کاذب داشته باشد، و احتمال آن هم 1 در 784931 است. ضمنا؛ این بررسی، هرگز یک جواب منفی کاذب ارائه نمی‌کند.

سعی میکنم بازم ساده‌تر توضیح بدم؛ با این روش اگر UTXO یا آدرس در بلاک‌های خاص داشتیم، صرفا همان بلاک‌ها دانلود می‌شود. فیلترهای بلاک فشرده از GCS استفاده می‌کنند که مزیت آنها، ارائه همان نرخ نتایج مثبت کاذب با سایز (حجم) بسیار کمتر، نسبت به فیلترهای Bloom است.

از نظر هدف، BIP158 و BIP157 را می توان به عنوان یک چیز واحد در نظر گرفت. به بیان دقیق، BIP158 تعریف ساختار داده فیلتر است، در حالی که BIP157 سرویسی است که فیلتر مبتنی بر BIP158 را در قابل استفاده می‌کند. بنابراین، نود‌ها BIP158 را ارائه نمی دهند. آنها BIP158 را پیاده سازی می کنند و سپس از آن برای ارائه خدمات BIP157 استفاده می کنند.

حالا که متوجه شدید هدف این دو پروپوزال چیست؛

بعضی از والت های تلفن‌های همراه به خصوص Breez و Blixt برای اجرای لایتننیگ با پیاده‌سازی BIP158 و BIP157 به فول نودها متکی هستند و ممکن است به صورت ناخواسته با گسترش سریع شبکه لایتنینگ منجر به DDos فول‌نودهای بیت‌کوین شود.

اگر به فرض مثال با گسترش لایتنینگ، 50 میلیون کاربر، نود لایتنینگ خودشان را با پروتکل سبک BIP157 Neutrino اجرا کنند و هر کدام حداقل 120 مگابایت برای دانلود فیلترها/هدر ها استفاده کنند، به این معنی است که ماهانه 5.6 پتابایت بار به فول نودها تحمیل می‌کنند. این می تواند منجر به کاهش تعداد فول نودهای عمومی شود. این امر امنیت بیت‌کوین را به خطر می‌اندازد.

اگر بیت‌کوین ناامن شود، هیچ مشکلی را حل نمی‌کند؛ در نتیجه ارزشی نخواهد داشت.

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

  Data Size Peers Queried Returned Values Blocks-Only Full Node Block Filter Light Client Electrum Light Client
Peer Addresses 30 B 8 1000 234 KB 234 KB 234 KB
Block Headers for Current Chain Tip 80 B 8 1 640 B 640 B 640 B
Filter Headers for Filter Chain Tip 32 B 8 1 256 B
Block Headers back to Genesis Block 80 B 1 650,000 50 MB 50 MB 50 MB
New Block Headers (1 week) 80 B 8 1008 630 KB 630 KB 630 KB
New Block Filters (1 week) 15 KB 1 1008 15 MB
Blocks back to Genesis Block 1 to 1.5 MB 1 650,000 200 GB
New Blocks (1 week) ~2 MB 1 1008 2 GB
Blocks per Transaction 1 MB 1 1 1 MB
Merkle Proofs per Transaction ~400 B 1 1 400 B
Max Initial Sync       200 GB 50 MB 50 MB
Max Weekly       2 GB 25 MB 630 KB
Max Per Transaction       1 MB 400 B

با پیاده سازی BIP 157 بدون بهبودهای جدی در نسبت گره کامل به گره سبک Neutrino، اگر از بحث حریم خصوصی تراکنش‌های کانال‌ها فعلا صرف‌نظر کنیم، بیت کوین در صورت افزایش سریع نود‌های لایتننیگ که از این ویژگی استفاده می‌کنند، احتمالاً در بحث امنیت و غیرمتمرکزسازی در آینده شکست خواهد خورد.

نود‌های Stratum /Electrum حتی با وجود ضعف از نظر امنیت شبکه نسبت به Bitcoin Core (توضیحات بیشتر را از اینجا بخوانید)، امنیت و پایداری بیشتری را نسبت به نودهای سبک، صرفا برای شبکه بیت‌کوین به ارمغان می‌اورند. در واقع نودهای الکتروم برای این کار بسیار بهتر از BIP 157 نوترینو است.

از طرفی برخلاف نودهای الکتروم SPV ، در این مورد فول‌نودهایی که BIP 158 را فعال کردند، میتوانند در مورد شبکه به نودهای سبک که Watchtower ندارند دروغ بگویند که آیا کانال توسط طرف مقابل بسته شده یا خیر.

حداقل کمترین کاری که توسعه‌دهندگان لایتنینگ و کیف‌پول‌های لایتنینگ نویترینو میتوانند انجام دهند این است که تنها نودهای سبک به فول نود شرکت خودشان متصل شود یا حداقل برای اجرای هر 10,000 نود لایتنینگ Neutrino برای دانلود فیلترها/هدر ها، یک فول‌نود هم اجرا کنند، که باعث بالا رفتن امنیت شبکه نیز می‌گردد.

شاید در آینده:

  • نودهای سبک مجبور به پرداخت هزینه باشند.
  • فول نودهای کافی برای پشتیبانی از نودهای سبک وجود نداشته باشد.
  • اکثر کیف پول های لایتنینگ از نود الکتروم استفاده کنند.

البته که BIP 157 مزیت‌هایی هم دارد:

  • می‌توان بلاک‌ها را کش کرد.
  • نیاز به هیچ محاسباتی ندارد و فقط از I/O و ترافیک استفاده می‌کند.
  • کلاینت‌ها می‌توانند از هر فول‌نود به دلخواه فیلترها/هدرها را دانلود کنند.
  • حریم خصوصی بهتر.

و در انتهای این بخش هم باید بگم که:

برای فعال کردن ویژگی BIP 158 و 157؛ فول‌نودها باید blockfilterindex=1 را به فایل bitcoin.conf خود اضافه کنند و daemon را مجددا راه اندازی کنند. با انجام این کار، یک blockfilter ایجاد می شود که بیش از 5 گیگابایت فضای دیسک را مصرف می‌کند.

البته فول‌نودها می‌توانند blockfilterindex=0 را به‌جای blockfilterindex=1 به فایل bitcoin.conf خود اضافه کنند و دیگر از این افزایش ترافیک در امان باشند 🙂

حمله ماینر‌های زنجیره‌های فورک شده به زنجیره اصلی

در این قسمت اول باید با مفهوم تراکنش coinbase و خصوصیات آن آشنا شوید و بعد به نوع حمله بپردازیم؛

تمام تراکنش‌های شبکه بیت کوین به طور یکسان ایجاد نمی‌شوند. تراکنش کوین بیس (Coinbase) یا تراکنش پیدایش (Generation Transaction) تراکنش خاصی در پروتکل بیت کوین است که با تراکنش های استاندارد متفاوت است زیرا در اینجا کوین ها از هیچ ایجاد می شوند. تراکنش کوین بیس پاداشی است که ماینر برای استخراج موفقیت آمیز یک بلاک دریافت می کند و در واقع به دست خود ماینر ایجاد می‌شود.

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

در حال حاضر با استفاده از شبکه لایتننیگ، ماینرها می توانند مستقیماً از تراکنش کوین بیس، قبل از گذشت 100 بلاک یک کانال لایتنینگ باز کنند تا وجوه قفل شده در آنجا را خرج کنند. همینطور کانال های ایجاد شده از تراکنش های coinbase نمی‌توانند در 100 بلاک پس از استخراج بلاک بسته شوند./منبع

این را می توان با هر کدام از روش‌های زیر رفع کرد ولی به هر حال در زمان نگارش مشکل مرتفع نشده:

  • عدم ایجاد کانال با تراکنش‌های کوین‌بیس

  • پیاده‌سازی‌های لایتنینگ باید به‌طور خاص بررسی کنند که آیا تراکنش تأمین مالی یک تراکنش coinbase بوده یا خیر، و در این صورت باید channel_ready را تا گذراندن 100 بلاک به تأخیر بیندازند.

افزایش سایز بلاک

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

طبق وایت پیپر شبکه لایتنینگ، برای اینکه شبکه لایتنینگ به میلیاردها نفر برسد، اندازه بلاک بیت کوین باید افزایش یابد. به وایت پیپر اصلی شبکه لایتنینگ که توسط جی پون و تی درایجا در صفحه 55 منتشر شده است:

وایت پیپر لایتننیگ

در حال حاضر با اندازه بلاک فعلی، میانگین نرخ تراکنش‌ها معمولاً 3 تا 4 یا کمتر در ثانیه است و ایجاد یک کانال شبکه لایتنینگ برای هر فرد در جهان، با ظرفیت فعلی شبکه بیت‌کوین تقریباً 140 سال طول می‌کشد.

برای اینکه ابتدا باید بیت کوین را دریافت کنید – تراکنش اول. سپس، برای ایجاد یک کانال لایتنینگ به تراکنش دوم بیت کوین نیاز است، و تسویه کانال پس از آن به تراکنش سوم نیاز دارد. یعنی 3 تراکنش برای هر نفر در بلاک‌چین بیت کوین!

اگر کانال ها تسویه نشوند باید انتظار روند رو به رشد قفل شدن بیت‌کوین در قرار‌دادها را داشت و خیلی از صرافی ها هم از شبکه لایتنینگ پشتیبانی نمی‌کنند

از آنجایی که حداکثر میانگین تراکنش های بیت کوین در خوشبینانه‌ترین حالت در روز حدود 350000 است، این بدان معناست که روزانه بیش از 116000 نفر می توانند به شبکه لایتنینگ متصل شوند:

350,000 tpd / 3 txs = 116000

اکنون اگر 50 میلیون نفر بخواهند کانال ایجاد کنند، با نرخ 116 هزار نفر در روز، حدود 431 روز طول می کشد که باعث تایید نشدن بسیاری از تراکنش‌ها می‌شود و عملا لایتنینگ کمکی به افزایش مقیاس‌پذیری بیت‌کوین در این حالت نکرده است.

با این حال، اکثر کاربران فیات خود را در صرافی‌ها تبدیل کرده و از طریق شبکه لایتنینگ با استفاده از واسطه‌هایی مانند Kraken، Bitfenix یا… ، آن را به کیف‌پول‌های متمرکز میفرستند.

راهکار برای عدم افزایش سایز بلاک با Channel Factories

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

به منظور رفع این مشکل، توسعه دهندگان لایتنینگ مفهومی به نام Lightning Channel Factories ارائه کردند که مدیریت کانال را با کاهش تعداد نهایی تراکنش های زنجیره ای کارآمدتر می کند.

در Channel Factories به جای انجام مولتی سیگ 2 از 2، می توانید مولتی سیگ 5 از 5 یا 10 از 10 را انجام دهید که در آن وجوه توسط چندین طرف تخصیص می یابد.

مفهوم Channel Factories اجازه می دهد تا چندین کاربر همزمان در شبکه لایتنینگ در یک تراکنش کانال ایجاد کنند. برای گروهی از 20 کاربر با 100 کانال درون گروهی، هزینه تراکنش های بلاک چین 90 درصد کاهش می یابد. اما هنوز نودهای لایتننیگ از Channel Factories استفاده نمی‌کنند.

کاهش هش‌ریت و امنیت شبکه بیت‌کوین

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

پیچیدگی فنی

شبکه لایتنینگ، لایه‌ای از پیچیدگی را به تراکنش‌های بیت‌کوین اضافه می‌کند و به طور بالقوه، درک و استفاده از آن را برای مبتدیان چالش برانگیزتر می‌کند. این پیچیدگی می‌تواند مانع پذیرش گسترده‌تر در بین کاربران روزمره شود.

تحریم

نحوه‌ی پیکربندی شبکه LN، به‌ویژه تراکنش‌های ناشناس، منجر به نقض قوانین و مقررات مالی مختلف مانند قانون رازداری (BSA) و اجرای جرایم مالی (FinCEN) می‌شود، که مانند تورنادوکش خطر تحریم ایالات متحده را افزایش می‌دهد.

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

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

بهبود تجربه کاربری

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

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

تارو و سرمایه قفل شده در بیت‌کوین

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

تارو با استفاده از ساختار جدید در درخت مرکل به توسعه‌دهندگان امکان می‌دهد، ابرداده‌های (Metadata) دلخواه خود را در خروجی موجود تراکنش‌های بیت کوین جاسازی کنند. پروتکل تارو به Taproot و لایتنینگ متکی است. این پروتکل از امضاهای Schnorr برای بهبود سادگی انجام تراکنش‌ها و مقیاس‌پذیری استفاده می‌کند و برای انجام تراکنش‌ها از شبکه لایتنینگ بهره می‌برد.

 سازگاری دارایی‌هایی مانند استیبل کوین‌ها با پروتکل تارو، امکان پردازش میلیاردها تراکنش را فراهم می‌کند.

سازگاری دارایی‌هایی مانند استیبل کوین‌ها با پروتکل تارو، امکان پردازش میلیاردها تراکنش را فراهم می‌کند.

با ایجاد پروتکل‌هایی مثل تارو یا RGB شبکه بیت‌کوین ارزشمندتر می‌شود و بیت‌کوین فارغ از قیمت، برای پرداخت کارمزد تراکنش‌ها هم ارزشمند است. که در اینصورت تراکنش های بیشتری بر بستر شبکه بیت‌کوین انجام میگیرد و با کارمزدهای بیشتر تراکنش‌ها، از ماینرها و امنیت بیت‌کوین حمایت میشود.

خدمات مالی غیرمتمرکز

قابلیت‌های شبکه لایتنینگ می‌تواند توسعه خدمات مالی غیرمتمرکز را بر روی بلاک‌چین بیت‌کوین امکان‌پذیر کند. این خدمات می‌تواند شامل، توکنیزه کرده دارایی‌های فیزیکی، صرافی‌های غیرمتمرکز، پلتفرم‌های وام دهی و ابزارهای مالی مختلف باشد، که از سرعت و کارایی شبکه لایتنینگ استفاده کنند و در عین حال امنیت و اعتماد بلاک‌چین بیت‌کوین را حفظ کنند.

اثرات زیست محیطی

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

حریم خصوصی

شبکه لایتنینگ علاوه بر افزایش کارایی پرداخت‌های بیت کوین، حریم خصوصی را برای کاربران فراهم می‌کند؛ زیرا تراکنش‌ها در کل شبکه پخش نمی‌شوند. این تراکنش‌ها به راحتی قابل ردیابی یا پیوند دادن به کاربران، مانند تراکنش‌های زنجیره‌ای نیستند. این حفظ حریم خصوصی می‌تواند برای کاربرانی که به حفظ حریم خصوصی مالی و ناشناس بودن اهمیت می‌دهند، جذاب باشد.

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

جمع‌بندی

بنظر من؛ فعلا احتمال تاثیرگذاری منفی BIP 157 و 158 یا حتی افزایش سایز بلاک بر روی شبکه بیت‌کوین به دلیل شتاب بسیار کم استفاده از سرویس‌های غیرحضانتی لایتنینگ وجود ندارد. و حتی BIP 158 به راحتی توسط فول‌نودهای بیت‌کوین میتواند غیرفعال شود.

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

از طرفی بیت‌کوین یک فناوری ثابت نیست، بلکه مجموعه‌ای از پروتکل‌های دائماً در حال تکامل است و دانش انسان هم برای کمک به بیت‌کوین محدودیت ندارد. البته اگر Ordinals و Stampsها بگذارند!

منبع: https://alism.ir/fa/posts/bitcoin-lightning/

۱. فکر کنم بهش میگن فورک تصادفی، هر ماینر تعدادی تراکنش را در ممپول خودش داشته که داخل بلاک ماین شده قرار داده که ممکن است تراکنش های داخل بلاک های ماین شده همزمان کاملا یکسان نباشند.

۲. در این مرحله هنوز هر دو بلاک معتبر فرض می شوند تا ببینیم بلاک بعدی که ماین می شود از کدام این دو بلاک به عنوان بلاک پیشین استفاده می کند و زنحیره بلوک ها از کدام مسیر سریعتر جلو میرود. به عبارتی بلاکی معتبر می ماند که بلاک بعدی اش زودتر ماین شود.
۳. تراکنش های بلاکی که از اعتبار ساقط شده به ممپول باز میگردند و در ادامه عملیات استخراج در بلوک های جدید ثبت خواهند شد. البته احتمالا برخی از آنها در بلاک معتبر شناخته شده هم قرار داشته اند و به اصطلاح کانفیرم شده اند که دیگر به ممپول بر نمی گردند.
۴. به خاطر وجود احتمال فورک تصادفی می گویند برای تایید کامل و قطعی تراکنش صبر کنید ۳ یا حتی ۶ کانفیرم داشته باشد یعنی ۳ یا ۶ بلاک از ماین شدن بلاک حاوی تراکنش مورد نظر گذشته باشد.
 
۵. پاداش ماینرها هم همزمان با ماین شدن بلوک پرداخت نمیشود، بلکه در آینده ای نزدیک که فکر کنم ۱۰۰ بلاک بعد باشد پرداخت می شود. بدین ترتیب ماینری که بلاک معتبر را ماین کرده در بلاک مقرر پاداش خود را دریافت می کند و ماینری که بلاک نامعتبر و باطل شده را ماین کرده پاداشی ندارد.

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

رو گوش بدین. به درد من که خیلی خورد.

2/ نکته بعدی که به نظرم مهمه گفتنش اینه که فرق ناشناسی با حریم خصوصی چیه؟ به طور کلی اگه بخوام بگم تو حریم خصوصی شما عملتون محفوظ میمونه اما خودتون قابل شناسایی هستین. مثلا همسایه‌هاتون می‌دونن که شما توی کدوم خونه زندگی می‌کنین اما نمیدونن چکار می‌کنین. یا اگه نامه‌ای بفرستین

3/ برای کسی فرستنده و گیرنده مشخصه اما محتوای نامه نه. توی بحث ناشناسی کاملا برعکسه. به این معنا که عمل شخص عیان هست اما هویتش نه. مثال بارزش هم فعالیت خیلیامون تو شبکه‌های اجتماعی هست که پست یا توییتی که می‌گذاریم برای همه قابل مشاهده هست اما اینکه چه شخص حقیقی اون پست رو گذاشته

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

5/ این متدها وجود دارن. ۱. اولین راه اینه که دیتایی که قراره توی شبکه فرستاده بشه بسته‌بندی بشه و مثل پیاز که لایه لایه هست انکریپت میشه. و بعد از گذشت از چندین مرحله به مقصد میرسه. در هر مرحله قسمتی از دیتا دیکریپت میشه و به مقصد بعدی فرستاده میشه تا اینکه برسه به مقصد نهایی.

6/ چون دیتا رمزگذاری میشه مقصد نهایی و اولیه مشخص نیست. ۲. راه بعدی ناشناسی از طریق مسیر هست که شباهت زیادی با روش اول داره. توی این روش برای اینکه مشخص نشه فرستنده و گیرنده چه کسی هست، بین چندین نود جا به جا میشه تا به گیرنده برسه. تو این روش هر نود فقط از نود قبل و بعدش خبرداره

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