في Lightning Network يبني المرسل المسار عادةً. فهو يقدّر طريقاً إلى المستلم من رسم gossip العام وبيانات المستلم ونتائج محاولاته، ثم يحسب المبلغ والرسوم وCLTV لكل hop من النهاية إلى البداية، ويضع التعليمات في onion packet، ويجرب طريقاً آخر عند الفشل. ولأن الرسم العام لا يكشف توزيع الأرصدة الحالي، فإن routing قرار احتمالي قائم على معلومات ناقصة وسريعة التغير.
يبدأ routing عند payer: تختار wallet أو node مساراً مرشحاً إلى payee وتحدد لكل وسيط channel التالية. يقدم المستلم الهوية وfeatures وربما route hints أو blinded paths، أما الجزء العام فيحسبه المرسل عادةً.
ينشر BOLT #7 إعلانات القنوات وchannel updates الاتجاهية التي تتضمن base fee والرسوم النسبية وCLTV delta والحدين الأدنى والأقصى وإشارة التوفر. تصف هذه policy والطوبولوجيا المعلنة، لكنها لا تثبت أن peer متصل أو أن السيولة الحالية كافية.
لا يكشف gossip العام تقسيم balance بين جانبي channel. لذلك يجمع router السيولة المحلية المعروفة وcapacity والنجاحات والإخفاقات السابقة والعقوبات وscoring الخاص بالتطبيق. قد لا يكون المسار النظري الأرخص هو الأعلى احتمالاً.
تُبنى المبالغ ومواعيد الانتهاء عكسياً من payee إلى payer. يجب أن يغطي incoming amount لكل hop مبلغ hop التالي مع رسومه، وأن يزيد incoming CLTV على outgoing CLTV بمقدار delta؛ لذلك تزيد hops الأطول الرسوم وهامش القفل الزمني.
يستخدم BOLT #4 onion routing: ينشئ payer حزمة Sphinx ذات payload مشفر منفصل لكل hop. يعرف الوسيط peer السابق واللاحق وتعليماته فقط، لا كامل path ولا طولها أو موضعه؛ لكن تحليل الحركة والتواطؤ قد يضعفان الخصوصية.
يعيد فشل channel المؤقت أو نقص الرسوم أو CLTV الخاطئ أو next peer المجهول إشارة فشل محدودة إلى payer. يمكن للتطبيق معاقبة المرشح وإعادة الحساب والمحاولة؛ ولا تصف نتيجة واحدة channel بصورة دائمة.
يجب أن يقبل كل hop الـHTLC وأن يملك سيولة قابلة للاستخدام في الاتجاه الصحيح بعد الاحتياطيات وpending HTLC وحدود htlc_minimum_msat وhtlc_maximum_msat. لا تزيل capacity الإجمالية العالية اختناق channel واحدة غير متوازنة.
إذا دعمت invoice ميزة basic MPP، يستطيع payer تقسيم total_msat بين عدة paths ويسويها المستلم كمجموعة. يستفيد MPP من السيولة الموزعة لكنه يضيف HTLC ومحاولات ورسوم ولا ينشئ capacity اتجاهية.
يمكن لـBOLT 11 route hints كشف hops خاصة أخيرة، ويسمح BOLT 12 وroute blinding للمستلم بتقديم نهاية مشفرة عبر introduction point. يبقى على payer إيجاد طريق صالح إلى أول نقطة واحترام الرسوم وCLTV المجمعة.
سجل التطبيق وإصداره وamount والحد الأقصى للرسوم وCLTV وعدد المحاولات وpaths والمدة وسبب الفشل الدقيق. قارن زوج nodes نفسه في وقت متقارب: النجاح يخص دفعة وحالة شبكة محددتين، وليس نتيجة عالمية دائمة. المصادر: BOLT #4 — Onion Routing Protocol; BOLT #7 — P2P Node and Channel Discovery; BOLT #11 — Lightning Payment Encoding; Lightning Labs — Pathfinding; LDK — Routing and Route Parameters.
للحصول على صورة أوضح، اقرأ هذا المدخل مع Lightning Network, HTLC, سيولة Lightning, Payment Channel, Bitcoin, Inbound Liquidity. تشير إلى هذا المدخل أيضًا HTLC, سيولة Lightning, BOLT 12, Inbound Liquidity.