بيتكوين: نظام نقدي إلكتروني ند لند
ساتوشي ناكاموتو
31 أكتوبر 2008
ملخص
نسخة نقدية إلكترونية بحتة من النقود النقدية ستسمح بإرسال المدفوعات عبر الإنترنت مباشرة من طرف لآخر دون الحاجة إلى المرور عبر مؤسسة مالية. التواقيع الرقمية توفر جزءًا من الحلول، ولكن الفوائد الرئيسية تفقد إذا تطلب من طرف ثالث موثوق به ما زال يحتاج لمنع الإنفاق المزدوج. نقترح حلاً لمشكلة الإنفاق المزدوج باستخدام شبكة ند-إلى-ند. تعمل الشبكة على ترصين المدفوعات من خلال تجزئتها في سلسلة مستمرة من عمليات تأكيد بنية الهاش، والتي لا يمكن تغييرها دون إعادة العمل المُؤكد بنية الهاش. السلسلة الأطول ليس فقط تعمل كدليل على تسلسل الأحداث التي شهدها، ولكن دليل على أنها جاءت من أكبر بركة من قوة وحدة المعالجة المركزية. طالما أن الأغلبية من قوة وحدة المعالجة المركزية تتحكم بها عقد التحكم والتنسيق المشاركة لمهاجمة الشبكة بفعالية، سيتمكنون من إنشاء السلسلة الأطول والتفوق على الهجمات. تتطلب الشبكة نفسها بنية قليلة. تُنشر الرسائل على أساس أفضل مجهود، ويمكن للعقد ترك الشبكة والانضمام إليها وتقبل سلسلة العمل المُؤكد الأطول كدليل على ما حدث بينما كانوا غائبين.
1. مقدمة
اعتمدت التجارة على الإنترنت بشكل شبه حصري على المؤسسات المالية التي تعمل كأطراف ثالثة موثوقة لمعالجة المدفوعات الإلكترونية. على الرغم من أن النظام يعمل بشكل جيد بما يكفي لمعظم المعاملات، إلا أنه لا يزال يعاني من الضعف الأساسي لنموذج الثقة. لا تكون المعاملات غير القابلة للعكس حقًا ممكنة، حيث لا تستطيع المؤسسات المالية تجنب التوسط في النزاعات. تزيد تكلفة التوسط تكاليف المعاملات، مما يقيد الحد الأدنى للحجم العملي للمعاملة ويقطع إمكانية القيام بمعاملات صغيرة شائعة، ويوجد تكلفة أوسع في فقدان القدرة على إجراء مدفوعات غير قابلة للعكس لخدمات غير قابلة للعكس. مع إمكانية العكس، ينتشر الحاجة للثقة. يجب على التجار أن يكونوا حذرين من عملائهم، ويتعبون في طلب المزيد من المعلومات مما يحتاجون إليه بشكل عام. يتم قبول نسبة معينة من الاحتيال كشيء لا مفر منه. يمكن تجنب هذه التكاليف وعدم وضوح المدفوعات عن طريق استخدام النقد الفعلي شخصيًا، ولكن لا يوجد آلية لإجراء مدفوعات عبر قناة اتصال دون عقد ثالث موثوق به.
ما يلزم هو نظام دفع إلكتروني يعتمد على البرهان التشفيري بدلاً من الثقة، مما يسمح لأي طرفين مستعدين بإجراء تبادل مباشر بينهم دون الحاجة إلى طرف ثالث موثوق به. تحمي المعاملات التي لا يمكن عملها تقديريًا للعكس البائعين من الاحتيال، ويمكن بسهولة تطبيق آليات الضمان المؤقتة لحماية المشترين. في هذه الورقة، نقترح حلاً لمشكلة الإنفاق المزدوج باستخدام خادم زمني موزع على شبكة ند-إلى-ند لتوليد دليل حسابي على التسلسل الزمني للمعاملات. النظام آمن طالما تتحكم العقد الصادقة مجتمعة في مزيد من قوة وحدة المعالجة المركزية من أي مجموعة من عقد المهاجمين.
2. المعاملات
نحدد العملة الإلكترونية كسلسلة من التوقيعات الرقمية. ينقل كل مالك العملة العملة إلى الشخص التالي عن طريق توقيع رقمي لهاش المعاملة السابقة والمفتاح العام للمالك التالي وإضافة هذه إلى نهاية العملة. يمكن للمستفيد التحقق من التوقيعات للتحقق من سلسلة الملكية.
المشكلة بالطبع هي أن المستلم يتعذر عليه التحقق من أحد المالكين لم يتم إنفاق العملة مرتين. الحل الشائع هو إدخال سلطة مركزية موثوقة، أو مصنع، يتحقق من كل معاملة للتأكد من عدم الإنفاق المزدوج. بعد كل معاملة، يجب على العملة أن تعود إلى المصنع لإصدار عملة جديدة، ولا يوجد سوى العمادات المصدرة مباشرة من المصنع تكون نثق بها لعدم إنفاقها مزدوجًا. المشكلة في هذا الحل هي أن مصير جميع النظام المالي يعتمد على الشركة التي تدير المصنع، مع اضطرار كل معاملة للمرور من خلالهم، تمامًا كما هو الحال في البنك.
نحتاج إلى طريقة يعرف بها المستلم أن المالكين السابقين لم يوقعوا على أي معاملات سابقة. بالنسبة لأغراضنا، المعاملة الأبكر هي تلك التي تهمنا، لذلك لا نهتم بالمحاولات اللاحقة للإنفاق المزدوج. الطريقة الوحيدة لتأكيد عدم وجود معاملة هي معرفة جميع المعاملات. في النموذج القائم على المصنع، كان المصنع على دراية بجميع المعاملات وقررت أيهما وصل أولاً. لتحقيق ذلك دون طرف موثوق به، يجب أن تُعلن المعاملات علنًا، ونحتاج إلى نظام يتفق عليه المشاركون على تاريخ الأمر الذي تم فيه استلامهم. يحتاج المستلم إلى برهان بأن معظم العقد وافقوا على أنه كان أول من تلقاه في ذلك الوقت.
3. خادم الزمن
الحلا الذي نقترحه يبدأ بخادم زمني. يعمل خادم الزمن عن طريق أخذ هاش لمجموعة من العناصر التي يتم توقيتها ونشر الهاش على نطاق واسع، مثل في صحيفة أو منشور Usenet. يثبت الوقت الغير قابل للتزوير أن البيانات يجب أن تكون موجودة في ذلك الوقت، بالوضوح، لتتمكن من الوصول إلى الهاش. يتضمن كل وقت كل وقت السابق في الهاش الخاص به، ويشكل سلسلة، حيث يعزز كل وقت إضافي الذي يأتي بعد ذلك السابق.
4. دليل العمل
لتنفيذ خادم زمني موزع على أساس الند-إلى-ند، سنحتاج إلى استخدام نظام دليل العمل المشابه لهاشكاش آدم باك[6]، بدلاً من الصحف أو منشورات Usenet. ينطوي دليل العمل على البحث عن قيمة عند تجزئتها، مثل مع SHA-256، الهاش يبدأ بعدد من الصفر بتات. العمل المطلوب متوسط في تنازلي في عدد من الصفر بتات المطلوب ويمكن التأكد منه عن طريق تنفيذ هاش واحد.
بالنسبة لشبكتنا الزمنية، نقوم بتنفيذ دليل العمل عن طريق زيادة رقم عشوائي في الكتلة حتى يتم العثور على قيمة تجعل هاش البلوك ببتات بصفر الحد اللازم. بمجرد أن يكون الجهد المطلوب من وحدة المعالجة المركزية قد تم صرفه لجعله يوافق على دليل العمل، لا يمكن تغيير البلوك دون إعادة العمل. ومع التشابك بعد البلوك الذي يليه، فإن العمل لتغيير البلوك سيتضمن إعادة فعل الكل البلوكات بعد ذلك.
يحل دليل العمل أيضا مشكلة تحديد التمثيل في اتخاذ القرارات الأغلبية. إذا كانت الأغلبية تعتمد على واحدة-عنوان-IP-واحد-صوت، فإنها يمكن أن تكون مزورة من قبل أي شخص قادر على تخصيص العديد من عناوين الآي بي. يعتمد دليل العمل في الأساس على واحد-وحدة-CPU-واحد-صوت. القرار الأغلبي يمثله السلسلة الأطول، التي تمستثمر فيها أكبر جهد للعمل موثوق فيه. إذا كانت الأغلبية من قوة وحدة المعالجة المركزية تتحكم بها العقد الصادقة، فإن السلسلة الصادقة ستنمو بشكل أسرع وتتفوق على أي سلاسل تنافسية. لتعديل بلوك في الماضي، يجب على المهاجم إعادة عمل دليل العمل للبلوك وكل البلوكات بعد ذلك ومن ثم اللحاق به وتجاوز عمل العقد الصادقة. سنظهر لاحقًا أن احتمالية أحد الإعتاقلين البطيئة في اللحاق به يقل بشكل تراجعي مع إضافة البلوكات التالية.
للتع
ساتوشي ناكاموتو
31 أكتوبر 2008
ملخص
نسخة نقدية إلكترونية بحتة من النقود النقدية ستسمح بإرسال المدفوعات عبر الإنترنت مباشرة من طرف لآخر دون الحاجة إلى المرور عبر مؤسسة مالية. التواقيع الرقمية توفر جزءًا من الحلول، ولكن الفوائد الرئيسية تفقد إذا تطلب من طرف ثالث موثوق به ما زال يحتاج لمنع الإنفاق المزدوج. نقترح حلاً لمشكلة الإنفاق المزدوج باستخدام شبكة ند-إلى-ند. تعمل الشبكة على ترصين المدفوعات من خلال تجزئتها في سلسلة مستمرة من عمليات تأكيد بنية الهاش، والتي لا يمكن تغييرها دون إعادة العمل المُؤكد بنية الهاش. السلسلة الأطول ليس فقط تعمل كدليل على تسلسل الأحداث التي شهدها، ولكن دليل على أنها جاءت من أكبر بركة من قوة وحدة المعالجة المركزية. طالما أن الأغلبية من قوة وحدة المعالجة المركزية تتحكم بها عقد التحكم والتنسيق المشاركة لمهاجمة الشبكة بفعالية، سيتمكنون من إنشاء السلسلة الأطول والتفوق على الهجمات. تتطلب الشبكة نفسها بنية قليلة. تُنشر الرسائل على أساس أفضل مجهود، ويمكن للعقد ترك الشبكة والانضمام إليها وتقبل سلسلة العمل المُؤكد الأطول كدليل على ما حدث بينما كانوا غائبين.
1. مقدمة
اعتمدت التجارة على الإنترنت بشكل شبه حصري على المؤسسات المالية التي تعمل كأطراف ثالثة موثوقة لمعالجة المدفوعات الإلكترونية. على الرغم من أن النظام يعمل بشكل جيد بما يكفي لمعظم المعاملات، إلا أنه لا يزال يعاني من الضعف الأساسي لنموذج الثقة. لا تكون المعاملات غير القابلة للعكس حقًا ممكنة، حيث لا تستطيع المؤسسات المالية تجنب التوسط في النزاعات. تزيد تكلفة التوسط تكاليف المعاملات، مما يقيد الحد الأدنى للحجم العملي للمعاملة ويقطع إمكانية القيام بمعاملات صغيرة شائعة، ويوجد تكلفة أوسع في فقدان القدرة على إجراء مدفوعات غير قابلة للعكس لخدمات غير قابلة للعكس. مع إمكانية العكس، ينتشر الحاجة للثقة. يجب على التجار أن يكونوا حذرين من عملائهم، ويتعبون في طلب المزيد من المعلومات مما يحتاجون إليه بشكل عام. يتم قبول نسبة معينة من الاحتيال كشيء لا مفر منه. يمكن تجنب هذه التكاليف وعدم وضوح المدفوعات عن طريق استخدام النقد الفعلي شخصيًا، ولكن لا يوجد آلية لإجراء مدفوعات عبر قناة اتصال دون عقد ثالث موثوق به.
ما يلزم هو نظام دفع إلكتروني يعتمد على البرهان التشفيري بدلاً من الثقة، مما يسمح لأي طرفين مستعدين بإجراء تبادل مباشر بينهم دون الحاجة إلى طرف ثالث موثوق به. تحمي المعاملات التي لا يمكن عملها تقديريًا للعكس البائعين من الاحتيال، ويمكن بسهولة تطبيق آليات الضمان المؤقتة لحماية المشترين. في هذه الورقة، نقترح حلاً لمشكلة الإنفاق المزدوج باستخدام خادم زمني موزع على شبكة ند-إلى-ند لتوليد دليل حسابي على التسلسل الزمني للمعاملات. النظام آمن طالما تتحكم العقد الصادقة مجتمعة في مزيد من قوة وحدة المعالجة المركزية من أي مجموعة من عقد المهاجمين.
2. المعاملات
نحدد العملة الإلكترونية كسلسلة من التوقيعات الرقمية. ينقل كل مالك العملة العملة إلى الشخص التالي عن طريق توقيع رقمي لهاش المعاملة السابقة والمفتاح العام للمالك التالي وإضافة هذه إلى نهاية العملة. يمكن للمستفيد التحقق من التوقيعات للتحقق من سلسلة الملكية.
المشكلة بالطبع هي أن المستلم يتعذر عليه التحقق من أحد المالكين لم يتم إنفاق العملة مرتين. الحل الشائع هو إدخال سلطة مركزية موثوقة، أو مصنع، يتحقق من كل معاملة للتأكد من عدم الإنفاق المزدوج. بعد كل معاملة، يجب على العملة أن تعود إلى المصنع لإصدار عملة جديدة، ولا يوجد سوى العمادات المصدرة مباشرة من المصنع تكون نثق بها لعدم إنفاقها مزدوجًا. المشكلة في هذا الحل هي أن مصير جميع النظام المالي يعتمد على الشركة التي تدير المصنع، مع اضطرار كل معاملة للمرور من خلالهم، تمامًا كما هو الحال في البنك.
نحتاج إلى طريقة يعرف بها المستلم أن المالكين السابقين لم يوقعوا على أي معاملات سابقة. بالنسبة لأغراضنا، المعاملة الأبكر هي تلك التي تهمنا، لذلك لا نهتم بالمحاولات اللاحقة للإنفاق المزدوج. الطريقة الوحيدة لتأكيد عدم وجود معاملة هي معرفة جميع المعاملات. في النموذج القائم على المصنع، كان المصنع على دراية بجميع المعاملات وقررت أيهما وصل أولاً. لتحقيق ذلك دون طرف موثوق به، يجب أن تُعلن المعاملات علنًا، ونحتاج إلى نظام يتفق عليه المشاركون على تاريخ الأمر الذي تم فيه استلامهم. يحتاج المستلم إلى برهان بأن معظم العقد وافقوا على أنه كان أول من تلقاه في ذلك الوقت.
3. خادم الزمن
الحلا الذي نقترحه يبدأ بخادم زمني. يعمل خادم الزمن عن طريق أخذ هاش لمجموعة من العناصر التي يتم توقيتها ونشر الهاش على نطاق واسع، مثل في صحيفة أو منشور Usenet. يثبت الوقت الغير قابل للتزوير أن البيانات يجب أن تكون موجودة في ذلك الوقت، بالوضوح، لتتمكن من الوصول إلى الهاش. يتضمن كل وقت كل وقت السابق في الهاش الخاص به، ويشكل سلسلة، حيث يعزز كل وقت إضافي الذي يأتي بعد ذلك السابق.
4. دليل العمل
لتنفيذ خادم زمني موزع على أساس الند-إلى-ند، سنحتاج إلى استخدام نظام دليل العمل المشابه لهاشكاش آدم باك[6]، بدلاً من الصحف أو منشورات Usenet. ينطوي دليل العمل على البحث عن قيمة عند تجزئتها، مثل مع SHA-256، الهاش يبدأ بعدد من الصفر بتات. العمل المطلوب متوسط في تنازلي في عدد من الصفر بتات المطلوب ويمكن التأكد منه عن طريق تنفيذ هاش واحد.
بالنسبة لشبكتنا الزمنية، نقوم بتنفيذ دليل العمل عن طريق زيادة رقم عشوائي في الكتلة حتى يتم العثور على قيمة تجعل هاش البلوك ببتات بصفر الحد اللازم. بمجرد أن يكون الجهد المطلوب من وحدة المعالجة المركزية قد تم صرفه لجعله يوافق على دليل العمل، لا يمكن تغيير البلوك دون إعادة العمل. ومع التشابك بعد البلوك الذي يليه، فإن العمل لتغيير البلوك سيتضمن إعادة فعل الكل البلوكات بعد ذلك.
يحل دليل العمل أيضا مشكلة تحديد التمثيل في اتخاذ القرارات الأغلبية. إذا كانت الأغلبية تعتمد على واحدة-عنوان-IP-واحد-صوت، فإنها يمكن أن تكون مزورة من قبل أي شخص قادر على تخصيص العديد من عناوين الآي بي. يعتمد دليل العمل في الأساس على واحد-وحدة-CPU-واحد-صوت. القرار الأغلبي يمثله السلسلة الأطول، التي تمستثمر فيها أكبر جهد للعمل موثوق فيه. إذا كانت الأغلبية من قوة وحدة المعالجة المركزية تتحكم بها العقد الصادقة، فإن السلسلة الصادقة ستنمو بشكل أسرع وتتفوق على أي سلاسل تنافسية. لتعديل بلوك في الماضي، يجب على المهاجم إعادة عمل دليل العمل للبلوك وكل البلوكات بعد ذلك ومن ثم اللحاق به وتجاوز عمل العقد الصادقة. سنظهر لاحقًا أن احتمالية أحد الإعتاقلين البطيئة في اللحاق به يقل بشكل تراجعي مع إضافة البلوكات التالية.
للتع
usersUpvoted
answersCount