Cosmos: شبكة من دفاتر الأستاذ الموزعة
Giới thiệu
Sự thành công tổng hợp của hệ sinh thái nguồn mở, chia sẻ yle phi tập trung và tiền điện tử công cộng có truyền cảm hứng cho sự hiểu biết rằng các giao thức internet phi tập trung có thể được sử dụng để cải thiện triệt để cơ sở hạ tầng kinh tế xã hội. Chúng tôi đã thấy các ứng dụng blockchain chuyên dụng như Bitcoin [1] (a tiền điện tử), Zerocash [2] (tiền điện tử bảo mật) và nền tảng smart contract tổng quát như Ethereum [3], với vô số ứng dụng được phân phối cho Etherium Virtual Máy (EVM) như Augur (thị trường dự đoán) và TheDAO [4] (câu lạc bộ đầu tư). Tuy nhiên, cho đến nay, blockchain này đã gặp phải một số vấn đề về những hạn chế, bao gồm cả sự kém hiệu quả về năng lượng, kém hoặc hiệu quả hoạt động còn hạn chế và cơ chế quản trị chưa trưởng thành. Đề xuất mở rộng quy mô thông lượng giao dịch của Bitcoin, chẳng hạn như Nhân chứng tách biệt [5] và BitcoinNG [6], có tỷ lệ theo chiều dọc các giải pháp vẫn bị giới hạn bởi khả năng của một thiết bị vật lý duy nhất máy, để đảm bảo tính chất có thể kiểm toán hoàn chỉnh. Lightning Network [7] có thể giúp mở rộng quy mô giao dịch Bitcoin
khối lượng bằng cách loại bỏ hoàn toàn một số giao dịch khỏi sổ cái, và rất phù hợp cho các khoản thanh toán vi mô và bảo vệ quyền riêng tư đường ray thanh toán, nhưng có thể không phù hợp cho tổng quát hơn nhu cầu mở rộng quy mô. Giải pháp lý tưởng là giải pháp cho phép nhiều blockchains song song tương tác trong khi vẫn giữ được các đặc tính bảo mật của chúng. Cái này có đã được chứng minh là khó khăn, nếu không nói là không thể, với proof-of-work. Đã hợp nhất ví dụ: khai thác mỏ cho phép công việc được thực hiện để bảo đảm cấp độ cha mẹ chuỗi được tái sử dụng trên chuỗi con, nhưng các giao dịch vẫn phải được thực hiện được xác thực theo thứ tự theo từng nút và blockchain được khai thác hợp nhất dễ bị tấn công nếu phần lớn nguồn điện hash trên cha mẹ không tích cực khai thác hợp nhất đứa trẻ. Một đánh giá học thuật kiến trúc mạng blockchain thay thế được cung cấp cho bối cảnh bổ sung và chúng tôi cung cấp bản tóm tắt các đề xuất khác và những hạn chế của chúng trong Công việc liên quan. Ở đây chúng tôi giới thiệu Cosmos, một kiến trúc mạng blockchain mới lạ đó giải quyết tất cả những vấn đề này. Cosmos là một mạng lưới gồm nhiều blockchain độc lập, được gọi là vùng. Các khu vực được cung cấp năng lượng bởi Tendermint Core [8], cung cấp hiệu suất cao, công cụ đồng thuận giống như PBFT nhất quán, an toàn, trong đó trách nhiệm phân tách nghiêm ngặt đảm bảo duy trì hành vi độc hại diễn viên. Thuật toán đồng thuận BFT của Tendermint Core rất phù hợp để mở rộng quy mô công khai proof-of-stake blockchains. Vùng đầu tiên trên Cosmos được gọi là Cosmos Hub. Cosmos Hub là một loại tiền điện tử proof-of-stake đa tài sản với cách thức đơn giản Cơ chế quản trị cho phép mạng thích ứng và nâng cấp. Ngoài ra, Cosmos Hub có thể được mở rộng bằng cách kết nối các khu vực khác. Trung tâm và các vùng của mạng Cosmos giao tiếp với với nhau thông qua giao thức liên lạc giữa blockchain (IBC), một loại UDP hoặc TCP ảo cho blockchains. Token có thể chuyển từ vùng này sang vùng khác một cách an toàn và nhanh chóngmà không cần trao đổi thanh khoản giữa các khu vực. Thay vào đó, tất cả các giao dịch chuyển khoản liên vùng token đều đi qua Trung tâm Cosmos. theo dõi tổng số token được nắm giữ bởi mỗi khu vực. các hub cô lập từng vùng khỏi sự thất bại của các vùng khác. Bởi vì bất kỳ ai cũng có thể kết nối một vùng mới với Cosmos Hub, các vùng cho phép để có khả năng tương thích trong tương lai với những cải tiến blockchain mới. Trong phần này chúng tôi mô tả giao thức đồng thuận Tendermint và giao diện được sử dụng để xây dựng các ứng dụng với nó. Để biết thêm chi tiết xem phụ lục. Trong thuật toán chịu lỗi Byzantine cổ điển (BFT), mỗi nút có cùng trọng lượng. Trong Tendermint, các nút có giá trị không âm số lượng quyền biểu quyết và các nút có biểu quyết tích cực sức mạnh được gọi là validators. Người xác nhận tham gia vào giao thức đồng thuận bằng cách phát sóng chữ ký mật mã, hoặc phiếu bầu, để thống nhất khối tiếp theo. Quyền biểu quyết của người xác nhận được xác định ngay từ đầu hoặc được thay đổi một cách xác định bởi blockchain, tùy thuộc vào ứng dụng. Ví dụ: trong ứng dụng proof-of-stake chẳng hạn như Trung tâm Cosmos, quyền biểu quyết có thể được xác định bởi số tiền staking token được thế chấp làm tài sản thế chấp. LƯU Ý: Các phân số như ⅔ và ⅓ đề cập đến các phân số của tổng số phiếu bầu công suất, không bao giờ là tổng số validator giây, trừ khi tất cả validators có trọng lượng bằng nhau. >⅔ có nghĩa là “hơn ⅔”, ≥⅓ có nghĩa là “ít nhất ⅓”. Tendermint là giao thức đồng thuận BFT đồng bộ một phần bắt nguồn từ thuật toán đồng thuận DLS [20]. bạc hà là
đáng chú ý vì tính đơn giản, hiệu suất và trách nhiệm giải trình của nó. Giao thức yêu cầu một tập hợp validator đã biết yxed, trong đó mỗi validator được xác định bằng khóa chung của họ. Người xác thực cố gắng đạt được sự đồng thuận về từng khối một, trong đó khối là một danh sách của các giao dịch. Việc bỏ phiếu cho sự đồng thuận về một khối tiến hành trong vòng. Mỗi vòng có một người đứng đầu hoặc người đề xuất, người này đề xuất một khối. Sau đó, validator sẽ bỏ phiếu theo từng giai đoạn về việc liệu chấp nhận khối được đề xuất hoặc chuyển sang vòng tiếp theo. các người đề xuất cho một vòng được chọn một cách xác định từ thứ tự danh sách validator, tương ứng với quyền biểu quyết của họ. Các chi tiết đầy đủ của giao thức được mô tả ở đây. Tính bảo mật của Tendermint bắt nguồn từ việc sử dụng Byzantine tối ưu khả năng chịu lỗi thông qua biểu quyết siêu đa số (>⅔) và khóa cơ chế. Cùng nhau, họ đảm bảo rằng: ≥⅓ quyền biểu quyết phải thuộc về Byzantine mới có thể vi phạm an toàn, trong đó có nhiều hơn hai giá trị được cam kết. nếu bất kỳ tập hợp validator nào vi phạm an toàn thành công hoặc thậm chí cố gắng làm như vậy, chúng có thể được xác định bởi giao thức. Cái này bao gồm cả việc bỏ phiếu cho các khối xung đột và phát sóng số phiếu không chính đáng. Mặc dù có sự đảm bảo mạnh mẽ, Tendermint vẫn mang đến những điều đặc biệt hiệu suất. Trong điểm chuẩn của 64 nút được phân bổ trên 7 trung tâm dữ liệu trên 5 châu lục, trên các phiên bản đám mây hàng hóa, Sự đồng thuận của Tendermint có thể xử lý hàng nghìn giao dịch mỗi lần thứ hai, với độ trễ cam kết theo thứ tự từ một đến hai giây. Đáng chú ý là hiệu suất của hơn một nghìn giao dịch trên mỗi thứ hai được duy trì ngay cả trong điều kiện đối nghịch khắc nghiệt, với validator bị lỗi hoặc phát đi các phiếu bầu được tạo ra một cách độc hại. Xem ygure bên dưới để biết chi tiết.

Lợi ích chính của thuật toán đồng thuận của Tendermint được đơn giản hóa bảo mật khách hàng nhẹ, làm cho nó trở thành một ứng cử viên lý tưởng cho thiết bị di động và các trường hợp sử dụng internet của vạn vật. Trong khi ứng dụng khách nhẹ Bitcoin phải đồng bộ hóa chuỗi tiêu đề khối và tìm chuỗi có nhiều bằng chứng nhất về hoạt động, khách hàng của Tendermint chỉ cần theo kịp các thay đổi đến bộ validator, sau đó xác minh >⅔ Cam kết trước trong khối mới nhất để xác định trạng thái mới nhất. Bằng chứng ứng dụng khách ngắn gọn cũng cho phép inter-blockchain giao tiếp. Tendermint có các biện pháp bảo vệ để ngăn ngừa một số các cuộc tấn công đáng chú ý, chẳng hạn như chi tiêu gấp đôi tầm xa mà không bị đe dọa và kiểm duyệt. Những vấn đề này sẽ được thảo luận đầy đủ hơn trong phần phụ lục.Thuật toán đồng thuận Tendermint được triển khai theo cách chương trình có tên Tendermint Core. Tendermint Core là một "công cụ đồng thuận" bất khả tri về ứng dụng có thể biến bất kỳ ứng dụng hộp đen xác định thành một bản sao phân tán blockchain. Tendermint Core kết nối với blockchain ứng dụng thông qua Giao diện chuỗi khối ứng dụng (ABCI) [17]. Vì vậy, ABCI cho phép các ứng dụng blockchain được lập trình ở bất kỳ ngôn ngữ, không chỉ là ngôn ngữ lập trình mà sự đồng thuận công cụ được ghi vào. Ngoài ra, ABCI giúp bạn có thể dễ dàng hoán đổi lớp đồng thuận của bất kỳ ngăn xếp blockchain hiện có nào. Chúng tôi rút ra sự tương tự với tiền điện tử nổi tiếng Bitcoin. Bitcoin là tiền điện tử blockchain trong đó mỗi nút duy trì cơ sở dữ liệu Đầu ra giao dịch chưa chi tiêu (UTXO) đã được kiểm tra đầy đủ. Nếu người ta muốn tạo một hệ thống giống Bitcoin trên ABCI, Tendermint Core sẽ chịu trách nhiệm Chia sẻ khối và giao dịch giữa các nút Thiết lập một trật tự giao dịch chuẩn/bất biến (các blockchain) Trong khi đó, ứng dụng ABCI sẽ chịu trách nhiệm Duy trì cơ sở dữ liệu UTXO Xác thực chữ ký mật mã của các giao dịch Ngăn chặn các giao dịch chi tiêu các khoản tiền không tồn tại Cho phép khách hàng truy vấn cơ sở dữ liệu UTXO Tendermint có thể phân hủy thiết kế blockchain bằng cách cung cấp một API rất đơn giản giữa quá trình đăng ký và quá trình đồng thuận.
مقدمة
النجاح المشترك للنظام البيئي مفتوح المصدر، المشاركة اللامركزية، والعملات المشفرة العامة ألهمت فهم بروتوكولات الإنترنت اللامركزية يمكن استخدامها لتحسين البنية التحتية الاجتماعية والاقتصادية بشكل جذري. لقد رأينا تطبيقات blockchain متخصصة مثل Bitcoin [1] (أ العملة المشفرة)، Zerocash [2] (عملة مشفرة للخصوصية)، و منصات smart contract المعممة مثل Ethereum [3]، مع عدد لا يحصى من التطبيقات الموزعة لـ Etherium Virtual الآلة (EVM) مثل Augur (سوق التنبؤ) وTheDAO [4] (نادي استثماري). ومع ذلك، حتى الآن، عانى هؤلاء blockchain من عدد من المشاكل من العيوب، بما في ذلك عدم كفاءة الطاقة الإجمالية، أو الفقراء أو الأداء المحدود، وآليات الحوكمة غير الناضجة. مقترحات لتوسيع نطاق معاملات Bitcoin، مثل الشاهد المنفصل [5] و BitcoinNG [6]، عبارة عن مقياس رأسي الحلول التي تظل محدودة بقدرة جسدية واحدة الآلة، وذلك لضمان خاصية المراجعة الكاملة. يمكن أن تساعد الشبكة المسرّعة [7] في توسيع نطاق المعاملات Bitcoin
الحجم عن طريق ترك بعض المعاملات خارج دفتر الأستاذ تمامًا، وهو مناسب تمامًا للمدفوعات الصغيرة والحفاظ على الخصوصية قضبان الدفع، ولكنها قد لا تكون مناسبة لمزيد من التعميم احتياجات التحجيم. الحل المثالي هو الذي يسمح بتعدد blockchains المتوازية التفاعل مع الاحتفاظ بخصائصها الأمنية. هذا قد ثبت أنه صعب، إن لم يكن مستحيلاً، مع proof-of-work. تم الدمج التعدين، على سبيل المثال، يسمح بالعمل المنجز لتأمين أحد الوالدين السلسلة ليتم إعادة استخدامها في سلسلة فرعية، ولكن يجب أن تظل المعاملات كذلك تم التحقق من صحتها، بالترتيب، بواسطة كل عقدة، وتم الدمج blockchain يكون عرضة للهجوم إذا كانت أغلبية hashing السلطة على لا يقوم الوالد بدمج تعدين الطفل بشكل نشط. مراجعة أكاديمية يتم توفير بنيات الشبكة البديلة blockchain سياق إضافي، ونقدم ملخصات للمقترحات الأخرى وعيوبها في الأعمال ذات الصلة. نقدم هنا Cosmos، بنية شبكة جديدة blockchain الذي يعالج كل هذه المشاكل. Cosmos عبارة عن شبكة تضم الكثيرين blockchains مستقلة، تسمى المناطق. يتم تشغيل المناطق بواسطة Tendermint Core [8]، والذي يوفر أداءً عاليًا، محرك إجماع متسق وآمن يشبه PBFT، حيث تضمن المساءلة الصارمة للفرعية التحكم في سلوك البرامج الضارة الجهات الفاعلة. تعتبر خوارزمية الإجماع BFT الخاصة بـ Tendermint Core مناسبة تمامًا لتوسيع النطاق العام proof-of-stake blockchains. المنطقة الأولى في Cosmos تسمى Cosmos Hub. Cosmos Hub عبارة عن عملة مشفرة متعددة الأصول proof-of-stake ذات قيمة بسيطة آلية الحوكمة التي تمكن الشبكة من التكيف و ترقية. بالإضافة إلى ذلك، يمكن تمديد المحور Cosmos بواسطة ربط مناطق أخرى. يتواصل مركز ومناطق شبكة Cosmos معها بعضهما البعض عبر بروتوكول اتصال inter-blockchain (IBC)، نوع UDP أو TCP افتراضي لـ blockchains. يمكن أن تكون الرموز يتم نقلها من منطقة إلى أخرى بشكل آمن وسريعدون الحاجة إلى سيولة التبادل بين المناطق. بدلا من ذلك، جميع عمليات النقل بين المناطق token تمر عبر مركز Cosmos، والذي يتتبع المبلغ الإجمالي لـ tokens الذي تحتفظ به كل منطقة. ال يعزل المحور كل منطقة عن فشل المناطق الأخرى. لان يمكن لأي شخص توصيل منطقة جديدة بمركز Cosmos، كما تسمح المناطق بذلك من أجل التوافق المستقبلي مع ابتكارات blockchain الجديدة. في هذا القسم نصف بروتوكول توافق Tendermint والواجهة المستخدمة لبناء التطبيقات بها. للمزيد التفاصيل، انظر الملحق. في الخوارزميات البيزنطية الكلاسيكية المتسامحة مع الأخطاء (BFT)، كل عقدة له نفس الوزن. في Tendermint، العقد لها قيمة غير سلبية مقدار قوة التصويت، والعقد التي لها تصويت إيجابي تسمى الطاقة validators. يشارك المصادقون في بروتوكول الإجماع عن طريق بث التوقيعات المشفرة، أو الأصوات، للاتفاق على الكتلة التالية. يتم تحديد صلاحيات التصويت للمصادقين عند النشأة، أو يتم تحديدها تم تغييره بشكل حتمي بواسطة blockchain، اعتمادًا على application. على سبيل المثال، في تطبيق proof-of-stake مثل مركز Cosmos، قد يتم تحديد قوة التصويت بواسطة مبلغ staking tokens مرهون كضمان. ملاحظة: تشير الكسور مثل ⅔ و⅓ إلى أجزاء من إجمالي التصويت الطاقة، لا العدد الإجمالي لـ validators أبدًا، ما لم يكن كل validators لها وزن متساوي. >⅔ تعني "أكثر من ⅔"، ≥⅓ تعني "على الأقل". ⅓". Tendermint هو بروتوكول إجماع BFT متزامن جزئيًا مشتقة من خوارزمية إجماع DLS [20]. النعناع هو
يتميز ببساطته وأدائه ومسؤوليته. يتطلب البروتوكول مجموعة yxed المعروفة من validators، حيث يكون كل منها يتم التعرف على validator بواسطة مفتاحهم العام. يحاول المدققون القيام بذلك التوصل إلى توافق في الآراء بشأن كتلة واحدة في كل مرة، حيث تكون الكتلة عبارة عن قائمة من المعاملات. يستمر التصويت للتوافق على الكتلة جولات. كل جولة لها قائد مستدير أو مقترح يقترح كتلة. ثم يصوت validators، على مراحل، على ما إذا كان ذلك أم لا لقبول الكتلة المقترحة أو الانتقال إلى الجولة التالية. ال يتم اختيار مقدم العرض للجولة بشكل حتمي من الأمر قائمة validators، بما يتناسب مع قوة التصويت الخاصة بهم. يتم وصف التفاصيل الكاملة للبروتوكول هنا. أمان Tendermint مستمد من استخدامه للبيزنطية المثالية التسامح مع الخطأ من خلال التصويت بالأغلبية العظمى (>⅔) والقفل آلية. ويضمنون معًا ما يلي: ≥⅓ قوة التصويت يجب أن تكون بيزنطية للتسبب في انتهاك السلامة، حيث يتم الالتزام بأكثر من قيمتين. إذا نجحت أي مجموعة من validators في انتهاك السلامة، أو حتى محاولات القيام بذلك، يمكن التعرف عليهم من خلال البروتوكول. هذا يشمل كلا من التصويت للكتل conzicting والبث أصوات غير مبررة على الرغم من ضماناته القوية، يقدم Tendermint منتجات استثنائية الأداء. في معايير 64 عقدة موزعة على 7 مراكز البيانات في 5 قارات، في المثيلات السحابية للسلع الأساسية، يمكن لتوافق Tendermint معالجة آلاف المعاملات لكل ثانيًا، مع فترات استجابة للالتزام تتراوح من ثانية إلى ثانيتين. والجدير بالذكر أن أداء ما يزيد عن ألف معاملة لكل يتم الحفاظ على الثانية حتى في ظروف الخصومة القاسية validators يعطل أو يبث أصواتًا ضارة. انظر ygur أدناه للحصول على التفاصيل.

تم تبسيط إحدى المزايا الرئيسية لخوارزمية الإجماع الخاصة بـ Tendermint أمان العميل الخفيف، مما يجعله مرشحًا مثاليًا للهواتف المحمولة و حالات استخدام إنترنت الأشياء. بينما يجب على العميل الخفيف Bitcoin المزامنة سلاسل رؤوس الكتل والسلسلة التي تحتوي على أكبر دليل على ذلك في العمل، يحتاج عملاء Tendermint Light فقط إلى مواكبة التغييرات إلى مجموعة validator، ثم تحقق من >⅔ PreCommits في أحدث كتلة لتحديد أحدث حالة. تعمل أيضًا أدلة العميل الخفيفة المقتضبة على تمكين inter-blockchain الاتصالات. لدى Tendermint إجراءات وقائية لمنع حدوث بعض الأمراض الهجمات الملحوظة، مثل عمليات الإنفاق المزدوجة بعيدة المدى التي لا تنطوي على أي شيء على المحك والرقابة. وتناقش هذه بشكل كامل في الملحق.يتم تنفيذ خوارزمية إجماع Tendermint في ملف برنامج يسمى Tendermint الأساسية. Tendermint Core هو "محرك الإجماع" الحيادي للتطبيق والذي يمكنه تشغيل أي تطبيق تطبيق الصندوق الأسود الحتمي في نسخة متماثلة موزعة blockchain. يتصل Tendermint Core بتطبيقات blockchain عبر واجهة Blockchain للتطبيق (ABCI) [17]. وبالتالي، ABCI يسمح ببرمجة تطبيقات blockchain في أي اللغة، وليس فقط لغة البرمجة التي تم الإجماع عليها تمت كتابة المحرك. بالإضافة إلى ذلك، ABCI يجعل من الممكن بسهولة قم بتبديل طبقة الإجماع لأي مكدس blockchain موجود. نرسم تشبيهًا بالعملة المشفرة المعروفة Bitcoin. Bitcoin هي عملة مشفرة blockchain حيث تحتفظ كل عقدة قاعدة بيانات لمخرجات المعاملات غير المنفقة (UTXO) المدققة بالكامل. إذا أراد أحدهم إنشاء نظام يشبه Bitcoin أعلى ABCI، سيكون Tendermint Core مسؤولاً عن مشاركة الكتل والمعاملات بين العقد إنشاء ترتيب قانوني/غير قابل للتغيير للمعاملات ( blockchain) وفي الوقت نفسه، سيكون تطبيق ABCI مسؤولاً عن ذلك صيانة قاعدة البيانات UTXO التحقق من صحة التوقيعات المشفرة للمعاملات منع المعاملات من صرف أموال غير موجودة السماح للعملاء بالاستعلام عن قاعدة البيانات UTXO Tendermint قادر على تحليل تصميم blockchain بواسطة تقديم واجهة برمجة تطبيقات بسيطة جدًا بين عملية تقديم الطلب و عملية الإجماع.
Cosmos Kiến trúc
Cosmos là mạng gồm các blockchains song song độc lập mỗi cái được hỗ trợ bởi các thuật toán đồng thuận BFT cổ điển như Bạc hà dịu dàng 1. blockchain năm đầu tiên trong mạng này sẽ là Cosmos Hub. các Cosmos Hub kết nối với nhiều blockchain (hoặc vùng) khác thông qua giao thức truyền thông liên blockchain mới. Trung tâm Cosmos theo dõi nhiều loại token và lưu giữ bản ghi tổng số số token trong mỗi vùng được kết nối. Token có thể chuyển từ vùng này sang vùng khác một cách an toàn và nhanh chóng mà không cần trao đổi chất lỏng giữa các vùng, bởi vì tất cả Chuyển tiền liên vùng đi qua Trung tâm Cosmos. Kiến trúc này giải quyết được nhiều vấn đề mà không gian blockchain phải đối mặt ngày nay, chẳng hạn như khả năng tương tác ứng dụng, khả năng mở rộng và khả năng nâng cấp liền mạch. Ví dụ: các vùng bắt nguồn từ Bitcoind, Go-Ethereum, CryptoNote, ZCash hoặc bất kỳ hệ thống blockchain nào đều có thể được cắm vào Cosmos Hub. Những vùng này cho phép Cosmos mở rộng quy mô một cách vô tận để đáp ứng nhu cầu giao dịch toàn cầu. Các khu vực cũng một yt tuyệt vời cho một sàn giao dịch phân tán, sẽ được hỗ trợ như tốt. Cosmos không chỉ là một sổ cái phân tán duy nhất và Cosmos Hub không phải là một khu vườn có tường bao quanh hay trung tâm vũ trụ của nó. Chúng tôi là thiết kế một giao thức cho một mạng lưới sổ cái phân tán mở có thể đóng vai trò là nền tảng mới cho các hệ thống tài chính trong tương lai, dựa trên các nguyên tắc mật mã, kinh tế hợp lý, sự đồng thuận lý thuyết, tính minh bạch và trách nhiệm giải trình. Trung tâm Cosmos là công khai đầu tiên blockchain trong Cosmos Mạng, được hỗ trợ bởi thuật toán đồng thuận BFT của Tendermint. các Dự án nguồn mở Tendermint ra đời vào năm 2014 nhằm giải quyết vấn đề các vấn đề về tốc độ, khả năng mở rộng và môi trường của thuật toán đồng thuận bằng chứng công việc của Bitcoin. Bằng cách sử dụng và cải tiến dựa trên những gì đã được chứng minh
BFT thuật toán được phát triển tại MIT vào năm 1988 [20], Tendermint nhóm là nhóm đầu tiên chứng minh một cách khái niệm proof-of-stake tiền điện tử giải quyết vấn đề không có gì đáng lo ngại phải chịu đựng các loại tiền điện tử thế hệ thứ nhất proof-of-stake như như NXT và BitShares1.0. Ngày nay, thực tế tất cả ví di động Bitcoin đều sử dụng máy chủ đáng tin cậy để cung cấp cho họ xác minh giao dịch. Điều này là do bằng chứng công việc đòi hỏi phải chờ nhiều sự đồng ý trước khi giao dịch có thể được coi là cam kết không thể đảo ngược. Các cuộc tấn công chi tiêu gấp đôi đã được chứng minh trên các dịch vụ như CoinBase. Không giống như các hệ thống đồng thuận blockchain khác, Tendermint cung cấp xác minh thanh toán của khách hàng di động ngay lập tức và được chứng minh là an toàn. Vì Tendermint được thiết kế để không bao giờ phân nhánh nên thiết bị di động ví có thể nhận được xác nhận giao dịch ngay lập tức, điều này làm cho thanh toán đáng tin cậy và thiết thực trở thành hiện thực trên điện thoại thông minh. Cái này có sự phân chia đáng kể cho các ứng dụng Internet of Things như tốt. Trình xác thực trong Cosmos có vai trò tương tự như công cụ khai thác Bitcoin, nhưng thay vào đó hãy sử dụng chữ ký mật mã để bỏ phiếu. Trình xác nhận là máy móc an toàn, chuyên dụng chịu trách nhiệm thực hiện khối. Những người không phảivalidator có thể ủy quyền staking token của họ (được gọi là “nguyên tử”) cho bất kỳ validator nào để kiếm một phần phí khối và nguyên tử phần thưởng, nhưng họ có nguy cơ bị trừng phạt (chém) nếu đại biểu validator bị hack hoặc vi phạm giao thức. Đã được chứng minh đảm bảo an toàn của sự đồng thuận Tendermint BFT và tài sản thế chấp tiền gửi của các bên liên quan–validators và người được ủy quyền–cung cấp bảo mật có thể chứng minh, định lượng được cho các nút và máy khách hạng nhẹ. Sổ cái công khai được phân phối phải có cấu trúc và hệ thống quản trị. Bitcoin dựa vào Bitcoin Foundation vàkhai thác để phối hợp nâng cấp, nhưng đây là một quá trình chậm. Ethereum chia thành ETH và ETC sau khi hard fork để giải quyết Vụ hackDAO, phần lớn là do không có hợp đồng xã hội trước đó cũng như cơ chế đưa ra các quyết định đó. Người xác nhận và người ủy quyền trên Trung tâm Cosmos có thể bỏ phiếu đề xuất có thể thay đổi các tham số đặt trước của hệ thống tự động (chẳng hạn như giới hạn khối gas), phối hợp nâng cấp, như cũng như bỏ phiếu về việc sửa đổi hiến pháp mà con người có thể đọc được chi phối các chính sách của Cosmos Hub. Hiến pháp cho phép sự gắn kết giữa các bên liên quan về các vấn đề như trộm cắp và lỗi (chẳng hạn như sự cố TheDAO), cho phép xử lý nhanh hơn và độ phân giải sạch hơn. Mỗi khu vực cũng có thể có hiến pháp và quản lý riêng cơ chế nữa. Ví dụ: Trung tâm Cosmos có thể có hiến pháp thực thi tính bất biến tại Hub (không quay lui, lưu lại các lỗi trong quá trình triển khai nút Trung tâm Cosmos), trong khi mỗi khu vực có thể thiết lập chính sách riêng của mình về việc khôi phục. Bằng cách cho phép khả năng tương tác giữa các vùng chính sách khác nhau, Mạng Cosmos mang đến cho người dùng sự tự do tối đa và tiềm năng thử nghiệm không được phép. Ở đây chúng tôi mô tả một mô hình mới về phân quyền và khả năng mở rộng. Cosmos là mạng gồm nhiều blockchain được cung cấp bởi Bạc hà. Trong khi các đề xuất hiện tại nhằm mục đích tạo ra một “khu vực duy nhất blockchain” với tổng số đơn đặt hàng giao dịch toàn cầu, Cosmos cho phép nhiều blockchain chạy đồng thời với nhau trong khi vẫn duy trì khả năng tương tác. Về cơ bản, Trung tâm Cosmos quản lý nhiều blockchain được gọi là "vùng" (đôi khi được gọi là "phân đoạn", trong tham chiếu đến kỹ thuật mở rộng quy mô cơ sở dữ liệu được gọi là “sharding”).
Một luồng liên tục các cam kết khối gần đây từ các khu vực được đăng trên Hub cho phép Hub theo dõi trạng thái của từng vùng. Tương tự như vậy, mỗi vùng sẽ cập nhật trạng thái của Hub (nhưng các vùng không theo kịp nhau ngoại trừ gián tiếp thông qua trung tâm). Các gói thông tin sau đó được truyền đi từ một vùng này sang vùng khác bằng cách đăng Merkle-proofs làm bằng chứng cho thấy thông tin đã được gửi và nhận. Cơ chế này được gọi là liên lạc giữa blockchain hoặc gọi tắt là IBC. Bản thân bất kỳ vùng nào cũng có thể là trung tâm để tạo thành biểu đồ không theo chu kỳ, nhưng để rõ ràng, chúng tôi sẽ chỉ mô tả những điều đơn giản tập đoàn nơi chỉ có một trung tâm và nhiều trung tâm không phải là trung tâm khu. Trung tâm Cosmos là blockchain lưu trữ nhiều nội dung sổ cái phân tán, trong đó token có thể được giữ bởi người dùng cá nhân hoặc theo từng khu vực. Những token này có thể được di chuyển từ một vùng tới gói khác trong gói IBC đặc biệt được gọi là "gói tiền xu". Trung tâm là chịu trách nhiệm bảo toàn tính bất biến toàn cục của tổng số lượng của mỗi token trên các vùng. IBC gói tiền xu giao dịch phải được cam kết bởi người gửi, trung tâm và người nhận blockchains.Vì Trung tâm Cosmos đóng vai trò là sổ cái trung tâm cho toàn bộ hệ thống, tính bảo mật của Hub là hết sức quan trọng. Trong khi mỗi vùng có thể là Tendermint blockchain được bảo mật bởi ít nhất là 4 (hoặc thậm chí ít hơn nếu không cần sự đồng thuận BFT), Hub phải được bảo mật bằng một tập hợp validator phi tập trung toàn cầu có thể chịu được các tình huống tấn công nghiêm trọng nhất, chẳng hạn như phân vùng mạng lục địa hoặc một cuộc tấn công do quốc gia tài trợ. Vùng Cosmos là blockchain độc lập trao đổi IBC tin nhắn với Hub. Từ quan điểm của Hub, một vùng là một tài khoản đa chữ ký thành viên năng động đa tài sản có thể gửi và nhận token bằng gói IBC. Giống như một tài khoản tiền điện tử, một vùng không thể chuyển nhiều hơn token giây nó có nhưng có thể nhận token từ những người khác có chúng. Một khu vực có thể được chỉ định là "nguồn" của một hoặc nhiều loại token, cấp cho nó quyền cung cấp token nguồn cung cấp đó. Các nguyên tử của Cosmos Hub có thể được đặt cọc bởi validator của một vùng được kết nối với Hub. Trong khi các cuộc tấn công chi tiêu gấp đôi vào các khu vực này sẽ dẫn đến việc cắt giảm các nguyên tử với khả năng phân chia của Tendermint, một khu vực có >⅔ quyền biểu quyết Byzantine có thể cam kết trạng thái không hợp lệ. Trung tâm Cosmos không xác minh hoặc thực hiện các giao dịch đã cam kết trên các vùng khác, do đó, trách nhiệm của người dùng là gửi token tới các vùng mà họ tin tưởng. Trong tương lai, hệ thống quản trị của Hub Cosmos có thể vượt qua Hub đề xuất cải tiến giải thích cho các lỗi vùng. cho ví dụ: chuyển khoản đi token từ một số (hoặc tất cả) khu vực có thể được điều chỉnh để cho phép ngắt mạch khẩn cấp các khu vực (tạm dừng token chuyển) khi phát hiện một cuộc tấn công. Bây giờ chúng ta xem xét cách Hub và các vùng giao tiếp với nhau khác. Ví dụ: nếu có ba blockchain, “Zone1”, “Zone2”,

và “Hub”, đồng thời chúng tôi mong muốn “Zone1” tạo ra gói tin được gửi đến cho “Zone2” đi qua “Hub”. Để di chuyển một gói từ một blockchain cho người khác, bằng chứng được đăng trên chuỗi nhận. Bằng chứng chỉ ra rằng chuỗi gửi đã xuất bản một gói cho điểm đến được cho là. Để chuỗi nhận kiểm tra bằng chứng này, nó phải có khả năng theo kịp các tiêu đề khối của người gửi. Cái này cơ chế tương tự như cơ chế được sử dụng bởi sidechains, đòi hỏi hai chuỗi tương tác để nhận biết nhau thông qua một luồng hai chiều của các gói dữ liệu chứng minh sự tồn tại (giao dịch). Giao thức IBC có thể được loại bỏ một cách tự nhiên bằng cách sử dụng hai loại giao dịch: giao dịch IBCBlockCommitTx , cho phép blockchain để chứng minh cho bất kỳ người quan sát nào về khối gần đây nhất của nó-hash, và giao dịch IBCPacketTx , cho phép blockchain chứng minh cho bất kỳ người quan sát nào rằng gói đã cho thực sự đã được xuất bản bởi ứng dụng của người gửi, thông qua Merkle-proof đến gần đây khối-hash. Bằng cách chia cơ chế IBC thành hai giao dịch riêng biệt, chúng tôi cho phép cơ chế thị trường phí gốc của chuỗi tiếp nhận xác định gói nào được cam kết (tức là đã được xác nhận), trong khi cho phép hoàn toàn tự do trong chuỗi gửi về cách thức nhiều gói gửi đi được cho phép. Trong ví dụ trên, để cập nhật block-hash của "Zone1" trên “Hub” (hoặc của “Hub” trên “Zone2”), IBCBlockCommitTxgiao dịch phải được đăng trên “Hub” với khối-hash của “Zone1” (hoặc trên "Zone2" có khối-hash của “Hub”). Xem IBCBlockCommitTx và IBCPacketTx để biết thêm thông tin trên hai loại giao dịch IBC. Theo cách tương tự, Bitcoin sẽ an toàn hơn bằng cách được phân phối, sổ cái được sao chép hàng loạt, chúng ta có thể làm cho các sàn giao dịch ít bị tấn công hơn hack bên ngoài và bên trong bằng cách chạy nó trên blockchain. Chúng tôi gọi đây là một cuộc trao đổi phân tán. Cái mà cộng đồng tiền điện tử gọi là phi tập trung Exchange ngày nay dựa trên một thứ gọi là giao dịch “chuỗi chéo nguyên tử” (AXC). Với giao dịch AXC, hai người dùng trên hai chuỗi khác nhau có thể thực hiện hai giao dịch chuyển khoản được cam kết cùng nhau trên cả hai sổ cái hoặc không có gì cả (tức là về mặt nguyên tử). Ví dụ: hai người dùng có thể giao dịch bitcoin lấy ether (hoặc bất kỳ hai token nào trên hai sổ cái khác nhau) sử dụng giao dịch AXC, mặc dù Bitcoin và Ethereum không được kết nối với nhau khác. Lợi ích của việc thực hiện trao đổi trên các giao dịch AXC là rằng cả hai người dùng đều không cần phải tin tưởng lẫn nhau hoặc việc kết hợp giao dịch dịch vụ. Nhược điểm là cả hai bên cần trực tuyến để thương mại xảy ra. Một loại sàn giao dịch phi tập trung khác là sàn giao dịch được nhân rộng hàng loạt trao đổi phân phối tự chạy blockchain. Người dùng trên loại sàn giao dịch này có thể gửi lệnh giới hạn và chuyển giao tắt máy tính và giao dịch có thể được thực hiện mà người dùng không cần phải trực tuyến. blockchain thay mặt khớp và hoàn tất giao dịch của người buôn bán.
Cosmos الهندسة المعمارية
Cosmos عبارة عن شبكة متوازية مستقلة blockchains كل منها مدعوم بخوارزميات الإجماع الكلاسيكية BFT مثل النعناع 1. سيكون blockchain الأول في هذه الشبكة هو Cosmos Hub. ال Cosmos يتصل المحور بالعديد من blockchains (أو المناطق) عبر بروتوكول اتصال جديد بين blockchain. المركز Cosmos يتتبع العديد من أنواع token ويحتفظ بسجل للمجموع عدد tokens في كل منطقة متصلة. يمكن أن تكون الرموز يتم نقلها من منطقة إلى أخرى بشكل آمن وسريع دون الحاجة إلى تبادل السوائل بين المناطق، لأن جميعها تتم عمليات تحويل العملات بين المناطق عبر مركز Cosmos. تعمل هذه البنية على حل العديد من المشكلات المتعلقة بمساحة blockchain يواجه اليوم، مثل قابلية التشغيل البيني للتطبيقات، وقابلية التوسع، و إمكانية الترقية السلسة. على سبيل المثال، المناطق المشتقة من Bitcoind، يمكنك الانتقال إلى Ethereum أو CryptoNote أو ZCash أو أي نظام blockchain يتم توصيله بمركز Cosmos. تسمح هذه المناطق لـ Cosmos بذلك التوسع بشكل لا نهائي لتلبية الطلب على المعاملات العالمية. المناطق هي أيضا يعد خيارًا رائعًا للتبادل الموزع، والذي سيتم دعمه كـ حسنا. Cosmos ليس مجرد دفتر أستاذ موزع، وCosmos Hub ليس حديقة مسورة أو مركز الكون. نحن كذلك تصميم بروتوكول لشبكة مفتوحة من دفاتر الأستاذ الموزعة والتي يمكن أن تكون بمثابة أساس جديد للأنظمة المالية المستقبلية، على أساس مبادئ التشفير والاقتصاد السليم والإجماع النظرية والشفافية والمساءلة. يعد مركز Cosmos هو المركز العام الأول blockchain في Cosmos الشبكة، مدعومة بخوارزمية الإجماع BFT الخاصة بـ Tendermint. ال تم إنشاء مشروع Tendermint مفتوح المصدر في عام 2014 لمعالجة المشكلة السرعة وقابلية التوسع والمشكلات البيئية المتعلقة بخوارزمية إجماع إثبات العمل الخاصة بـ Bitcoin. باستخدام وتحسين ما ثبت
BFT خوارزميات تم تطويرها في معهد ماساتشوستس للتكنولوجيا في عام 1988 [20]، Tendermint كان الفريق أول من قدم عرضًا مفاهيميًا لـ proof-of-stake عملة مشفرة تعالج مشكلة عدم وجود شيء على المحك عانى الجيل الأول من العملات المشفرة proof-of-stake مثل مثل NXT وBitShares1.0. اليوم، تستخدم جميع محافظ الهاتف المحمول Bitcoin تقريبًا خوادم موثوقة تزويدهم بالتحقق من المعاملة. وذلك لأن إثبات العمل يتطلب انتظار العديد من التأكيدات قبل يمكن اعتبار المعاملة ملتزمة بشكل لا رجعة فيه. لقد تم بالفعل عرض هجمات Doublespend على خدمات مثل CoinBase. على عكس أنظمة الإجماع blockchain الأخرى، تقدم Tendermint التحقق من الدفع عبر الهاتف المحمول بشكل فوري وآمن. نظرًا لأن Tendermint مصمم بحيث لا يتشعب أبدًا على الإطلاق، فهو متنقل يمكن أن تتلقى المحافظ تأكيدًا فوريًا للمعاملات، مما يجعل المدفوعات غير الموثوقة والعملية حقيقة واقعة على الهواتف الذكية. هذا له تأثيرات كبيرة على تطبيقات إنترنت الأشياء مثل حسنا. يتمتع المدققون في Cosmos بدور مماثل لعمال المناجم Bitcoin، ولكن بدلاً من ذلك استخدم التوقيعات المشفرة للتصويت. المصادقون هم آلات آمنة ومخصصة مسؤولة عن الالتزام كتل. يمكن لغير validators تفويض staking tokens (يُسمى "الذرات") إلى أي validator لكسب جزء من رسوم الكتلة والذرة المكافآت، لكنهم يتعرضون لخطر العقاب (القطع) إذا تم اختراق المندوب validator أو انتهاك البروتوكول. ثبت ضمانات سلامة Tendermint BFT الإجماع والضمانات إيداع أصحاب المصلحة – validator والمفوضين – تقديم أمان يمكن إثباته وقابل للقياس للعقد والعملاء الخفيفين. يجب أن تحتوي الدفاتر العامة الموزعة على دستور و نظام الحكم. Bitcoin يعتمد على Bitcoin الأساس والتعدين لتنسيق الترقيات، ولكن هذه عملية بطيئة. تم تقسيم Ethereum إلى ETH وETC بعد التفرع الصعب للمعالجة يعود سبب الاختراق DAO إلى حد كبير إلى عدم وجود عقد اجتماعي مسبق ولا آلية لاتخاذ مثل هذه القرارات. يمكن للمصادقين والمفوضين في Cosmos التصويت عليهم المقترحات التي يمكن أن تغير المعلمات المحددة مسبقًا للنظام تلقائيا (مثل حد الغاز كتلة)، وتنسيق الترقيات، كما وكذلك التصويت على تعديلات الدستور الذي يمكن قراءته بواسطة الإنسان التي تحكم سياسات Cosmos Hub. الدستور يسمح بالتماسك بين أصحاب المصلحة بشأن قضايا مثل السرقة والأخطاء (مثل حادثة DAO)، مما يسمح بإجراء أسرع وأسرع دقة أنظف. يمكن أن يكون لكل منطقة أيضًا دستورها ونظام حكمها الخاص آلية كذلك. على سبيل المثال، يمكن أن يحتوي المركز Cosmos على الدستور الذي يفرض الثبات في المركز (لا يوجد تراجع، حفظ الأخطاء في تنفيذ العقدة المركزية Cosmos)، بينما يمكن لكل منطقة وضع سياساتها الخاصة فيما يتعلق بالتراجع. ومن خلال تمكين إمكانية التشغيل البيني بين مناطق السياسة المختلفة، فإن تمنح شبكة Cosmos مستخدميها الحرية المطلقة والإمكانات تجريب غير مسموح به. نحن هنا نصف نموذجًا جديدًا للامركزية وقابلية التوسع. Cosmos عبارة عن شبكة تضم العديد من blockchains التي يتم تشغيلها بواسطة النعناع. بينما تهدف المقترحات الحالية إلى إنشاء "فردية". blockchain" مع إجمالي طلب المعاملات العالمية، Cosmos يسمح للعديد من blockchains بالعمل بشكل متزامن مع بعضها البعض مع الاحتفاظ بإمكانية التشغيل البيني. في الأساس، يدير Cosmos Hub العديد من المستقلين blockchains تسمى "المناطق" (يشار إليها أحيانًا باسم "الأجزاء"، في إشارة إلى تقنية قياس قاعدة البيانات المعروفة باسم "التقسيم").
دفق مستمر من عمليات الحظر الأخيرة من المناطق المنشورة عليها يسمح Hub للمركز بمواكبة حالة كل منطقة. وبالمثل، فإن كل منطقة تواكب حالة المحور (لكن المناطق لا يواكبون بعضهم البعض إلا بشكل غير مباشر من خلال المحور). ثم يتم إرسال حزم المعلومات من واحدة منطقة إلى أخرى عن طريق نشر أدلة Merkle كدليل على أن تم إرسال المعلومات واستلامها. وتسمى هذه الآلية التواصل بين blockchain، أو IBC للاختصار. يمكن لأي من المناطق أن تكون في حد ذاتها محاورًا لتكوين رسم بياني غير دوري، ولكن من أجل الوضوح سنصف فقط ما هو بسيط conyguration حيث لا يوجد سوى محور واحد، والعديد من غير المحور المناطق. مركز Cosmos هو blockchain الذي يستضيف أصولًا متعددة دفتر الأستاذ الموزع، حيث يمكن الاحتفاظ بـ tokens بواسطة مستخدمين فرديين أو حسب المناطق نفسها. يمكن نقل هذه tokens من منطقة واحدة إلى أخرى في حزمة خاصة IBC تسمى "حزمة العملات المعدنية". المحور هو مسؤولة عن الحفاظ على الثبات العالمي للمجموع مقدار كل token عبر المناطق. IBC حزمة العملات المعدنية يجب أن يتم تنفيذ المعاملات من قبل المرسل والمركز والمتلقي blockchains.نظرًا لأن Cosmos Hub يعمل بمثابة دفتر الأستاذ المركزي للكل النظام، فإن أمن المركز له أهمية قصوى. بينما قد تكون كل منطقة عبارة عن Tendermint blockchain مؤمنة بواسطة as عدد قليل يصل إلى 4 (أو حتى أقل إذا لم يكن هناك حاجة إلى إجماع BFT)، المحور يجب تأمينها من خلال مجموعة لامركزية عالميًا من validators يمكن أن تصمد أمام سيناريوهات الهجوم الأكثر خطورة، مثل تقسيم الشبكة القارية أو هجوم ترعاه الدولة القومية. منطقة Cosmos هي منطقة blockchain مستقلة تتبادل IBC الرسائل مع المحور. من وجهة نظر المحور، المنطقة هي أ حساب متعدد التوقيع للعضوية الديناميكية المتعددة الأصول يمكن إرسال واستقبال tokens باستخدام IBC الحزم. مثل أ حساب العملة المشفرة، لا يمكن للمنطقة نقل أكثر من tokens من إنه موجود بالفعل، ولكن يمكنه تلقي tokens من الآخرين الذين لديهم تلك الرسائل. منطقة قد يتم تعيينه كـ "مصدر" لواحد أو أكثر من أنواع token، ومنحها القدرة على تعزيز هذا العرض token. قد يتم تثبيت ذرات المركز Cosmos بواسطة validators في المنطقة متصل بالمحور. بينما تشن الهجمات المزدوجة الإنفاق على هذه المناطق من شأنه أن يؤدي إلى خفض الذرات مع المسؤولية الجزئية لـ Tendermint، وهي منطقة حيث يكون >⅔ من قوة التصويت يمكن للبيزنطيين ارتكاب حالة باطلة. مركز Cosmos لا يفعل ذلك التحقق من أو تنفيذ المعاملات المرتكبة في مناطق أخرى، لذلك هو عليه مسؤولية المستخدمين عن إرسال tokens إلى المناطق التي يثقون بها. في المستقبل، قد يجتاز نظام إدارة Cosmos Hub Hub مقترحات التحسين التي تفسر فشل المنطقة. ل على سبيل المثال، قد تكون عمليات النقل الصادرة token من بعض (أو جميع) المناطق يتم خنقها للسماح بقطع دائرة الطوارئ للمناطق (وقف مؤقت لعمليات نقل token) عند اكتشاف هجوم. الآن ننظر إلى كيفية تواصل المركز والمناطق مع كل منهما أخرى. على سبيل المثال، إذا كان هناك ثلاثة blockchains، "Zone1"، "Zone2"،

و"Hub"، ونتمنى أن تقوم "Zone1" بإنتاج حزمة متجهة بالنسبة لـ "Zone2" التي تمر عبر "Hub". لنقل حزمة من واحد blockchain إلى آخر، يتم نشر إثبات على سلسلة الاستلام. يشير الدليل إلى أن سلسلة الإرسال نشرت حزمة لـ الوجهة المزعومة لكي تتحقق السلسلة المتلقية من هذا الإثبات، يجب عليها يجب أن يكون قادرًا على مواكبة رؤوس كتلة المرسل. هذا الآلية مشابهة لتلك المستخدمة في السلاسل الجانبية، الأمر الذي يتطلب سلسلتين متفاعلتين لتكون على علم ببعضهما البعض عبر أ تيار ثنائي الاتجاه من مخططات بيانات إثبات الوجود (المعاملات). من الطبيعي أن يتم فك بروتوكول IBC باستخدام نوعين من المعاملات: معاملة IBCBlockCommitTx ، والتي تسمح بـ blockchain لإثبات لأي مراقب أحدث كتلة لها-hash، ومعاملة IBCPacketTx، والتي تسمح لـ blockchain بـ أثبت لأي مراقب أن الحزمة المحددة قد تم نشرها بالفعل عن طريق تطبيق المرسل، عبر خاصية Merkle-proof للأحدث كتلة-hash. من خلال تقسيم آليات IBC إلى معاملتين منفصلتين، فإننا السماح لآلية سوق الرسوم المحلية لسلسلة الاستقبال بذلك تحديد الحزم التي سيتم الالتزام بها (أي تم الاعتراف بها)، بينما السماح بالحرية الكاملة لسلسلة الإرسال فيما يتعلق بكيفية ذلك يُسمح بالعديد من الحزم الصادرة. في المثال أعلاه، من أجل تحديث الكتلة-hash الخاصة بـ "Zone1" على "Hub" (أو "Hub" في "Zone2")، IBCBlockCommitTxيجب نشر المعاملة على "المركز" مع الكتلة-hash من "Zone1" (أو على "Zone2" مع الكتلة-hash من "Hub"). راجع IBCBlockCommitTx وIBCPacketTx لمزيد من المعلومات على نوعي المعاملات IBC. بنفس الطريقة التي يكون بها Bitcoin أكثر أمانًا من خلال كونه موزعًا، يمكننا أن نجعل التبادلات أقل عرضة للخطر اختراقات خارجية وداخلية عن طريق تشغيله على blockchain. نحن نسمي هذا التبادل الموزع. ما يسميه مجتمع العملات المشفرة اللامركزية تعتمد البورصة اليوم على ما يسمى معاملات "السلسلة الذرية" (AXC). مع معاملة AXC، هناك مستخدمان قيد التشغيل يمكن لسلسلتين مختلفتين إجراء معاملتي تحويل ملتزمة معًا في كلا الدفترين، أو لا شيء على الإطلاق (أي: ذرياً). على سبيل المثال، يمكن لاثنين من المستخدمين تداول عملات البيتكوين مقابل الأثير (أو أي اثنين من tokens في دفتري أستاذ مختلفين) باستخدام معاملات AXC، على الرغم من أن Bitcoin وEthereum غير متصلين ببعضهما أخرى. إن فائدة تشغيل البورصة على معاملات AXC هي أنه لا يحتاج المستخدمون إلى الثقة ببعضهم البعض أو في مطابقة التجارة الخدمة. الجانب السلبي هو أن كلا الطرفين يجب أن يكونا متصلين بالإنترنت التجارة أن تحدث. نوع آخر من التبادل اللامركزي هو التبادل الجماعي التبادل الموزع الذي يعمل من تلقاء نفسه blockchain. المستخدمين على يمكن لهذا النوع من التبادل إرسال أمر محدد وتحويله إيقاف تشغيل الكمبيوتر، ويمكن تنفيذ التجارة دون أن يكون المستخدم موجودًا على الانترنت. يطابق blockchain ويكمل التداول نيابةً عنه من التاجر.
Ứng dụng
Một sàn giao dịch tập trung có thể tạo ra một sổ đặt hàng có giới hạn sâu đơn đặt hàng và do đó thu hút nhiều thương nhân hơn. Thanh khoản ngày càng nhiều tính thanh khoản trong thế giới trao đổi và do đó có một mạng lưới mạnh mẽ hiệu ứng (hoặc ít nhất là hiệu ứng người thắng được nhiều nhất) trong trao đổi kinh doanh. Người dẫn đầu hiện tại về trao đổi tiền điện tử là Poloniex với khối lượng giao dịch trong 24 giờ là 20 triệu USD và ở vị trí thứ hai là Bitynex với khối lượng 24 giờ là 5 triệu USD. Với mạng lưới mạnh mẽ như vậy có hiệu lực, các sàn giao dịch phi tập trung dựa trên AXC khó có thể giành được khối lượng trên các sàn giao dịch tập trung. Đối với một nền tảng phi tập trung trao đổi để cạnh tranh với một sàn giao dịch tập trung, nó sẽ cần để hỗ trợ sổ đặt hàng sâu với các đơn đặt hàng giới hạn. Chỉ có một phân phối trao đổi trên blockchain có thể cung cấp điều đó. Tendermint cung cấp thêm lợi ích cho giao dịch nhanh hơn cam kết. Bằng cách ưu tiên khả năng hoạt động nhanh chóng mà không phải hy sinh tính nhất quán, các vùng trong Cosmos có thể thúc đẩy giao dịch nhanh chóng – cho cả giao dịch đặt hàng trao đổi cũng như IBC token chuyển tới và từ các khu vực khác. Với tình trạng trao đổi tiền điện tử ngày nay, một điều tuyệt vời ứng dụng cho Cosmos là sàn giao dịch phân tán (còn gọi là Cosmos DEX). Năng lực thông lượng giao dịch cũng như độ trễ cam kết có thể tương đương với độ trễ của tập trung trao đổi. Nhà giao dịch có thể gửi lệnh giới hạn có thể được thực hiện mà không cần cả hai bên phải trực tuyến. Và với Tendermint, trung tâm Cosmos và IBC, nhà giao dịch có thể chuyển tiền vào và ra trao đổi đến và đi từ các khu vực khác với tốc độ. Vùng đặc quyền có thể đóng vai trò là nguồn của token cầu nối của một loại tiền điện tử khác. Một cây cầu tương tự như mối quan hệ giữa trung tâm và vùng Cosmos; cả hai đều phải theo kịp các khối mới nhất của khối kia để xác minh bằng chứng rằng token có chuyển từ cái này sang cái khác. "Khu vực cầu" trên Cosmos mạng theo kịp Hub cũng như các mạng khác
tiền điện tử. Việc chuyển hướng qua vùng cầu cho phép logic của Hub vẫn đơn giản và không thể tin được đối với những người khác blockchain chiến lược đồng thuận như proof-of-work của Bitcoin khai thác mỏ. Mỗi vùng cầu validator sẽ chạy một hệ thống được hỗ trợ bởi Tendermint blockchain với ứng dụng cầu nối ABCI đặc biệt nhưng cũng có nút đầy đủ của “nguồn gốc” blockchain. Khi các khối mới được khai thác ở điểm gốc, vùng cầu validators sẽ đi đến thống nhất về các khối đã cam kết bằng cách ký tên và chia sẻ quan điểm địa phương tương ứng của họ về nguồn gốc blockchain tiền boa. Khi một bridge-zone nhận được khoản thanh toán từ nguồn gốc (và sự đồng ý đầy đủ đã được đồng ý đã được nhìn thấy trong vụ án của chuỗi PoW chẳng hạn như Ethereum hoặc Bitcoin), tương ứng tài khoản được tạo trên bridge-zone với số dư đó. Trong trường hợp Ethereum, bridge-zone có thể chia sẻ tương tự validator-được đặt làm Trung tâm Cosmos. Về phía Ethereum ( Origin), một hợp đồng bắc cầu sẽ cho phép người nắm giữ ether gửi ether tới bridge-zone bằng cách gửi nó tới bridge-contract trên Ethereum. Sau khi hợp đồng cầu nối nhận được ether, không thể rút ether trừ khi có gói IBC thích hợp được nhận bởi hợp đồng cầu từ khu vực cầu. các hợp đồng cầu nối theo dõi tập hợp validator của vùng cầu, trong đó có thể giống hệt với bộ validator của Hub Cosmos. Trong trường hợp Bitcoin, khái niệm này tương tự ngoại trừ việc thay vì một hợp đồng cầu nối duy nhất, mỗi UTXO sẽ được kiểm soát bởi một ngưỡng công bố P2SH đa chữ ký. Do những hạn chế của hệ thống P2SH, người ký không thể giống với Cosmos Bộ trung tâm validator.Ether trên vùng cầu (“bridged-ether”) có thể được chuyển sang và từ Hub, sau đó bị hủy bởi một giao dịch gửi nó đến một địa chỉ rút tiền cụ thể trên Ethereum. Một IBC gói chứng minh rằng giao dịch xảy ra trên bridge-zone có thể được đăng lên hợp đồng cầu nối Ethereum để cho phép ether được rút lại. Trong trường hợp Bitcoin, hệ thống tập lệnh bị hạn chế khiến nó khó có thể phản ánh cơ chế chuyển tiền IBC. Mỗi UTXO có bản công bố độc lập riêng, vì vậy mọi UTXO đều phải được di chuyển sang UTXO mới khi có thay đổi trong tập hợp Bitcoin người ký khế ước. Một giải pháp là nén và giải nén bộ UTXO nếu cần để giữ tổng số trong số UTXO giây bị hỏng. Rủi ro của một hợp đồng bắc cầu như vậy là có thể xảy ra validator lừa đảo. ≥⅓ Quyền biểu quyết của Byzantine có thể gây ra fork, rút ether từ hợp đồng cầu trên Ethereum trong khi vẫn giữ cầu nối trên vùng cầu. Tệ hơn nữa, >⅔ Quyền biểu quyết của Byzantine có thể ăn cắp ether hoàn toàn từ những người đã gửi nó đến hợp đồng cầu nối bằng cách đi chệch khỏi logic bắc cầu ban đầu của vùng cầu. Có thể giải quyết những vấn đề này bằng cách thiết kế cây cầu phù hợp hoàn toàn chịu trách nhiệm. Ví dụ: tất cả các gói IBC, từ trung tâm và nguồn gốc, có thể yêu cầu xác nhận của bridge-zone trong theo cách mà tất cả các chuyển đổi trạng thái của vùng cầu có thể được được thách thức và xác minh một cách hiệu quả bởi trung tâm hoặc nguồn gốc hợp đồng cầu đường. Hub và nguồn gốc phải cho phép các bridgezone validator gửi tài sản thế chấp và token chuyển ra khỏi hợp đồng bắc cầu sẽ bị trì hoãn (và tài sản thế chấp sẽ được hủy bỏ khoảng thời gian đủ dài) để cho phép mọi thách thức được thực hiện bởi kiểm toán viên độc lập. Chúng tôi để lại thiết kế của thông số kỹ thuật và việc triển khai hệ thống này mở như một tương lai Cosmos
đề xuất cải tiến sẽ được Trung tâm Cosmos thông qua hệ thống quản trị. Giải quyết vấn đề mở rộng quy mô là một vấn đề mở đối với Ethereum. Hiện tại, các nút Ethereum xử lý mọi giao dịch và cũng lưu trữ tất cả các trạng thái. liên kết. Vì Tendermint có thể thực hiện các khối nhanh hơn nhiều so với Ethereum proof-of-work, EVM khu vực được hỗ trợ bởi sự đồng thuận của Tendermint và hoạt động trên bridged-ether có thể mang lại hiệu suất cao hơn cho Ethereum blockchains. Ngoài ra, mặc dù Trung tâm Cosmos và IBC cơ chế gói không cho phép logic hợp đồng tùy ý thực chất nó có thể được sử dụng để phối hợp các chuyển động token giữa Ethereum hợp đồng chạy trên các vùng khác nhau, cung cấp nền tảng cho việc mở rộng quy mô token lấy trung tâm Ethereum thông qua phân mảnh. Cosmos vùng chạy logic ứng dụng tùy ý, được xác định tại thời điểm bắt đầu vòng đời của vùng và có thể được cập nhật theo thời gian bởi sự quản lý. Tính linh hoạt như vậy cho phép các vùng Cosmos đóng vai trò là cầu nối với các loại tiền điện tử khác như Ethereum hoặc Bitcoin và nó cũng cho phép các dẫn xuất của blockchain đó, sử dụng cùng một cơ sở mã nhưng với bộ validator khác và phân phối ban đầu. Điều này cho phép nhiều loại tiền điện tử hiện có các khuôn khổ, chẳng hạn như của Ethereum, Zerocash, Bitcoin, CryptoNote, v.v., sẽ được sử dụng với Tendermint Core, một công cụ đồng thuận hiệu suất cao hơn, trên một mạng chung, mở ra cơ hội to lớn cho khả năng tương tác giữa nền tảng. Hơn nữa, với tư cách là nhiều nội dung blockchain, một giao dịch có thể chứa nhiều đầu vào và đầu ra, trong đó mỗi đầu vào có thể là bất kỳ loại token nào, cho phép Cosmos phân phát trực tiếp dưới dạng một nền tảng trao đổi phi tập trung, mặc dù các đơn đặt hàng được giả địnhđể được khớp thông qua các nền tảng khác. Ngoài ra, một vùng có thể phục vụ như một sàn giao dịch có khả năng chịu lỗi phân tán (với sổ đặt hàng), có thể là một cải tiến nghiêm ngặt so với tập trung hiện có trao đổi tiền điện tử có xu hướng bị hack theo thời gian. Các vùng cũng có thể đóng vai trò là phiên bản doanh nghiệp được blockchain hỗ trợ và các hệ thống chính phủ, nơi các phần của một dịch vụ cụ thể theo truyền thống được điều hành bởi một tổ chức hoặc một nhóm tổ chức thay vào đó được chạy dưới dạng ứng dụng ABCI trên một vùng nhất định, cho phép nó kế thừa tính bảo mật và khả năng tương tác của công chúng Cosmos mạng mà không hy sinh quyền kiểm soát cơ bản dịch vụ. Do đó, Cosmos có thể mang lại những điều tốt nhất cho cả hai thế giới các tổ chức đang tìm cách sử dụng công nghệ blockchain nhưng ai cảnh giác với việc từ bỏ hoàn toàn quyền kiểm soát cho một bên thứ ba được phân phối bữa tiệc. Một số người cho rằng vấn đề lớn với việc ủng hộ tính nhất quán các thuật toán đồng thuận như Tendermint là bất kỳ mạng nào phân vùng khiến không có phân vùng duy nhất có >⅔ quyền biểu quyết (ví dụ: ≥⅓ chuyển sang sử dụng zine) sẽ ngăn chặn hoàn toàn sự đồng thuận. Kiến trúc Cosmos có thể giúp giảm thiểu vấn đề này bằng cách sử dụng một trung tâm toàn cầu với các khu tự trị khu vực, nơi quyền biểu quyết cho mỗi khu vực được phân bổ dựa trên một địa lý chung khu vực. Ví dụ, một mô hình chung có thể dành cho cá nhân thành phố hoặc khu vực để vận hành các khu vực riêng của họ trong khi chia sẻ trung tâm chung (ví dụ: Trung tâm Cosmos), cho phép hoạt động của thành phố tồn tại trong trường hợp trung tâm tạm dừng do mạng tạm thời phân vùng. Lưu ý rằng điều này cho phép thực tế về địa chất, chính trị và các tính năng cấu trúc liên kết mạng cần được xem xét trong việc thiết kế mạnh mẽ các hệ thống có khả năng chịu lỗi liên kết.
NameCoin là một trong những blockchain đầu tiên cố gắng giải quyết vấn đề vấn đề phân giải tên bằng cách điều chỉnh Bitcoin blockchain. Thật không may, đã có một số vấn đề với cách tiếp cận này. Với Namecoin, chúng tôi có thể xác minh rằng, chẳng hạn như @satoshi đã được đăng ký với một khóa công khai cụ thể tại một thời điểm nào đó trong quá khứ, nhưng chúng tôi không biết liệu khóa công khai đã được được cập nhật gần đây trừ khi chúng tôi tải xuống tất cả các khối kể từ lần cuối cùng cập nhật tên đó. Điều này là do hạn chế của Bitcoin UTXO mô hình Merkle-ization giao dịch, trong đó chỉ có các giao dịch (nhưng không phải trạng thái ứng dụng có thể thay đổi) được Merkle-ized vào khối-hash. Điều này cho phép chúng tôi chứng minh sự tồn tại chứ không phải sự không tồn tại của các bản cập nhật sau này cho một tên. Vì vậy, chúng ta không thể biết đối với nhất định giá trị gần đây nhất của một tên mà không tin tưởng vào giá trị đầy đủ nút hoặc phát sinh chi phí đáng kể về băng thông bằng cách tải xuống toàn bộ blockchain. Ngay cả khi cây tìm kiếm được Merkle hóa đã được triển khai trong NameCoin, sự phụ thuộc của nó vào proof-of-work khiến việc xác minh ứng dụng khách trở nên dễ dàng có vấn đề. Các khách hàng nhẹ phải tải xuống bản sao hoàn chỉnh của tiêu đề cho tất cả các khối trong toàn bộ blockchain (hoặc ít nhất là tất cả tiêu đề kể từ lần cập nhật cuối cùng cho một tên). Điều này có nghĩa là yêu cầu về băng thông tỉ lệ tuyến tính với lượng thời gian [21]. Ngoài ra, việc thay đổi tên trên proof-of-work blockchain yêu cầu chờ thêm proof-of-work khối xác nhận, việc này có thể mất tới một giờ trên Bitcoin. Với Tendermint, tất cả những gì chúng ta cần là khối gần đây nhất-hash được ký bởi số đại biểu validators (theo quyền biểu quyết) và Merkle bằng chứng cho giá trị hiện tại được liên kết với tên. Điều này làm cho nó có thể có một light-client ngắn gọn, nhanh chóng và an toàn xác minh các giá trị tên. Trong Cosmos, chúng tôi có thể áp dụng khái niệm này và mở rộng nó hơn nữa. Mỗi vùng đăng ký tên trong Cosmos có thể có tên miền cấp cao nhất (TLD) được liên kết chẳng hạn như “.com” hoặc “.org” và mỗi tên-
khu vực đăng ký có thể có quản trị và đăng ký riêng quy luật.
التطبيقات
يمكن للبورصة المركزية إنشاء سجل أوامر عميق للحدود الأوامر وبالتالي جذب المزيد من المتداولين. السيولة تولد المزيد السيولة في عالم الصرف، وبالتالي هناك شبكة قوية التأثير (أو على الأقل الفائز يأخذ أكبر قدر من التأثير) في التبادل عمل. الزعيم الحالي لتبادل العملات المشفرة اليوم هو Poloniex بحجم تداول على مدار 24 ساعة بقيمة 20 مليون دولار، وفي المركز الثاني Bitynex بحجم تداول على مدار 24 ساعة بقيمة 5 ملايين دولار. ونظرا لهذه الشبكة القوية من غير المرجح أن تقوم البورصات اللامركزية القائمة على AXC بذلك الفوز بالحجم عبر البورصات المركزية. من أجل اللامركزية تبادل للتنافس مع تبادل مركزي، فإنه سوف تحتاج لدعم دفاتر الطلبات العميقة مع أوامر الحد. فقط موزعة التبادل على blockchain يمكن أن يوفر ذلك. يوفر Tendermint فوائد إضافية للمعاملات الأسرع يرتكب. من خلال إعطاء الأولوية للسرعة دون التضحية الاتساق، يمكن للمناطق الموجودة في Cosmos إجراء المعاملات بسرعة - من أجل كلاً من معاملات أوامر الصرف وكذلك IBC token التحويلات إلى ومن مناطق أخرى. بالنظر إلى حالة بورصات العملات المشفرة اليوم، يعد هذا أمرًا رائعًا تطبيق Cosmos هو التبادل الموزع (المعروف أيضًا باسم Cosmos ديكس). القدرة الإنتاجية للمعاملة كذلك يمكن أن يكون وقت استجابة الالتزام مشابهًا لتلك المركزية التبادلات. يمكن للمتداولين تقديم أوامر محددة يمكن تنفيذها دون أن يكون كلا الطرفين متصلين بالإنترنت. ومع تندرمينت، مركز Cosmos وIBC، يمكن للمتداولين نقل الأموال داخل وخارج التبادل من وإلى المناطق الأخرى بسرعة. يمكن أن تعمل المنطقة المميزة كمصدر لـ token من عملة مشفرة أخرى. الجسر يشبه العلاقة بين المركز والمنطقة Cosmos؛ كلاهما يجب أن يواكبا أحدث الكتل للآخر من أجل التحقق من الأدلة التي يمتلكها tokens انتقلت من واحدة إلى أخرى. "منطقة الجسر" على Cosmos تواكب الشبكة المحور بالإضافة إلى الآخر
عملة مشفرة. يسمح الاتجاه غير المباشر عبر منطقة الجسر منطق المحور ليظل بسيطًا ومحايدًا للآخرين blockchain إستراتيجيات الإجماع مثل Bitcoin proof-of-work التعدين. سيتم تشغيل كل منطقة جسر validator بواسطة Tendermint blockchain مع تطبيق جسر خاص ABCI، ولكن أيضًا عقدة كاملة لـ "الأصل" blockchain. عندما يتم استخراج كتل جديدة في الأصل، منطقة الجسر سوف يتوصل validators إلى اتفاق بشأن الكتل الملتزم بها من خلال التوقيع ومشاركة وجهة نظرهم المحلية الخاصة بالأصل blockchain نصيحة. عندما تتلقى منطقة الجسر الدفع على الأصل (و وقد تم الاتفاق على ما يكفي من التأكيدات في هذه القضية لسلسلة PoW مثل Ethereum أو Bitcoin)، المقابلة يتم إنشاء الحساب في منطقة الجسر بهذا الرصيد. في حالة Ethereum، يمكن لمنطقة الجسر مشاركة نفس الشيء validator-تم تعيينه كمركز Cosmos. على الجانب Ethereum ( Origin)، سيسمح عقد الجسر لحاملي الأثير بإرسال الأثير إلى منطقة الجسر عن طريق إرسالها إلى عقد الجسر Ethereum. بمجرد استلام الأثير من خلال عقد الجسر، فإن لا يمكن سحب الأثير إلا إذا كانت هناك حزمة IBC مناسبة تم استلامها بموجب عقد الجسر من منطقة الجسر. ال يتتبع عقد الجسر مجموعة validator لمنطقة الجسر، والتي قد تكون مطابقة لمجموعة Cosmos Hub validator. في حالة Bitcoin، المفهوم مشابه باستثناء أنه بدلاً من ذلك عقد جسر واحد، سيتم التحكم في كل UTXO بواسطة أ عتبة متعددة التوقيعات P2SH. بسبب القيود في نظام P2SH، لا يمكن أن يكون الموقعون متطابقين مع Cosmos المحور validator-مجموعة.يمكن نقل الأثير الموجود في منطقة الجسر ("الأثير الجسري") إلى ومن المحور، ويتم تدميرها لاحقًا بمعاملة ذلك يرسلها إلى عنوان سحب معين على Ethereum. IBC حزمة تثبت أن المعاملة حدثت في منطقة الجسر يمكن نشرها على عقد الجسر Ethereum للسماح بالأثير ليتم سحبها. في حالة Bitcoin، يقوم نظام البرمجة النصية المقيدة بذلك من الصعب عكس آلية نقل العملة IBC. كل UTXO لديه منشور مستقل خاص به، لذلك يجب أن يكون كل UTXO تم الترحيل إلى UTXO الجديد عندما يكون هناك تغيير في مجموعة Bitcoin موقعي الضمان. أحد الحلول هو الضغط و قم بفك ضغط مجموعة UTXO حسب الضرورة للحفاظ على العدد الإجمالي من UTXOs لأسفل. إن خطر مثل هذا العقد التجسيري هو مجموعة validator المارقة. ≥⅓ يمكن أن تتسبب قوة التصويت البيزنطية في حدوث شوكة وسحب الأثير من عقد الجسر على Ethereum مع الحفاظ على جسر الجسر في منطقة الجسر. والأسوأ من ذلك أن قوة التصويت البيزنطية يمكنها ذلك سرقة الأثير مباشرة من أولئك الذين أرسلوه إلى عقد الجسر بالانحراف عن منطق التجسير الأصلي لمنطقة الجسر. من الممكن معالجة هذه المشكلات من خلال تصميم الجسر مسؤولة تماما. على سبيل المثال، كافة الحزم IBC من المركز و الأصل، قد يتطلب الاعتراف من قبل منطقة الجسر في بهذه الطريقة يمكن أن تكون جميع التحولات الحكومية في منطقة الجسر يتم تحديها والتحقق منها بكفاءة سواء من خلال المركز أو الأصل عقد الجسر. يجب أن يسمح المركز والأصل لمنطقة الجسر validators بنشر الضمانات، وtoken عمليات النقل خارج يجب تأخير عقد الجسر (وفك الضمانات فترة طويلة بما فيه الكفاية) للسماح بأية تحديات مدققين مستقلين. نترك تصميم المواصفات و تنفيذ هذا النظام مفتوح كمستقبل Cosmos
مقترح التحسين، ليتم تمريره من خلال مركز Cosmos نظام الحكم. يعد حل مشكلة القياس مشكلة مفتوحة لـ Ethereum. حاليًا، تقوم عقد Ethereum بمعالجة كل معاملة و أيضا تخزين جميع الدول. وصلة. نظرًا لأن Tendermint يمكنها تنفيذ الكتل بشكل أسرع بكثير من Ethereum proof-of-work، EVM المناطق المدعومة بإجماع Tendermint و يمكن أن يوفر التشغيل على الأثير الجسري أداءً أعلى Ethereum blockchains. بالإضافة إلى ذلك، على الرغم من أن Cosmos Hub و IBC لا تسمح آليات الحزم بمنطق العقد التعسفي التنفيذ في حد ذاته، يمكن استخدامه لتنسيق حركات token بين Ethereum العقود الجاري تنفيذها في مناطق مختلفة، توفير أساس للتوسع token المتمركز حول Ethereum عبر مشاركة. تعمل مناطق Cosmos على تشغيل منطق التطبيق التعسفي، والذي تم تحديده عند بداية حياة المنطقة ويمكن تحديثها مع مرور الوقت من قبل الحكم. تسمح هذه القابلية للمناطق بـ Cosmos بمثابة جسور إلى العملات المشفرة الأخرى مثل Ethereum أو Bitcoin، كما أنه يسمح بمشتقات تلك blockchains، باستخدام نفس قاعدة التعليمات البرمجية ولكن مع مجموعة validator مختلفة و التوزيع الأولي. وهذا يسمح للعديد من العملات المشفرة الموجودة أطر العمل، مثل تلك الخاصة بـ Ethereum، وZerocash، وBitcoin، CryptoNote وما إلى ذلك، لاستخدامها مع Tendermint Core، وهو محرك توافقي عالي الأداء، على شبكة مشتركة، فتح فرصة هائلة للتشغيل البيني عبر المنصات. علاوة على ذلك، باعتباره أصلًا متعددًا blockchain، واحدًا قد تحتوي المعاملة على مدخلات ومخرجات متعددة، حيث يكون كل منها يمكن أن يكون الإدخال من أي نوع token، مما يتيح لـ Cosmos العمل مباشرةً كـ منصة للتبادل اللامركزي، على الرغم من افتراض الأوامرلتتم مطابقتها عبر منصات أخرى. بدلا من ذلك، يمكن للمنطقة أن تخدم كتبادل موزع متسامح مع الأخطاء (مع دفاتر الطلبات)، والذي يمكن أن يكون هناك تحسن صارم على المركزية الموجودة بورصات العملات المشفرة التي تميل إلى الاختراق مع مرور الوقت. يمكن أن تعمل المناطق أيضًا كإصدارات مدعومة من المؤسسة blockchain والأنظمة الحكومية، حيث أجزاء من خدمة معينة تدار تقليديا من قبل منظمة أو مجموعة من المنظمات يتم تشغيلها بدلاً من ذلك كتطبيق ABCI في منطقة معينة، والتي يسمح لها بوراثة الأمن وقابلية التشغيل البيني للجمهور Cosmos الشبكة دون التضحية بالتحكم في الشبكة الأساسية الخدمة. وبالتالي، قد يقدم Cosmos أفضل ما في العالمين المنظمات التي تتطلع إلى الاستفادة من تقنية blockchain ولكن من هي؟ الحذر من التخلي عن السيطرة بالكامل للثلث الموزع حزب. يدعي البعض أن هناك مشكلة كبيرة في تفضيل الاتساق خوارزميات الإجماع مثل Tendermint هي أن أي شبكة القسم الذي يتسبب في عدم وجود قسم واحد به >⅔ قوة التصويت (على سبيل المثال ≥⅓ الذهاب للخارج) ستوقف الإجماع تمامًا. يمكن أن تساعد بنية Cosmos في تخفيف هذه المشكلة باستخدام مركز عالمي مع مناطق الحكم الذاتي الإقليمية، حيث قوة التصويت لكل منطقة يتم توزيعها على أساس جغرافي مشترك المنطقة. على سبيل المثال، قد يكون النموذج المشترك للفرد المدن أو المناطق لتشغيل مناطقها الخاصة أثناء مشاركة أ المركز المشترك (على سبيل المثال، المركز Cosmos)، مما يتيح للنشاط البلدي تستمر في حالة توقف المحور بسبب شبكة مؤقتة التقسيم. لاحظ أن هذا يسمح بالجيولوجية والسياسية الحقيقية الميزات الطوبولوجية للشبكة التي يجب مراعاتها عند التصميم القوي الأنظمة الموحدة المتسامحة مع الأخطاء.
كانت NameCoin واحدة من أوائل blockchains التي حاولت حل مشكلة مشكلة تحليل الاسم عن طريق تكييف Bitcoin blockchain. لسوء الحظ كانت هناك العديد من المشاكل مع هذا النهج. باستخدام Namecoin، يمكننا التحقق من أن @satoshi، على سبيل المثال، كان كذلك مسجلة بمفتاح عام معين في وقت ما في الماضي، لكننا لا نعرف ما إذا كان المفتاح العام موجودًا منذ ذلك الحين تم تحديثه مؤخرًا ما لم نقم بتنزيل جميع الكتل منذ آخر مرة تحديث لهذا الاسم. ويرجع ذلك إلى القيود المفروضة على Bitcoin UTXO نموذج تحويل المعاملة Merkle، حيث فقط المعاملات (ولكن ليست حالة التطبيق القابلة للتغيير) هي من نوع Merkle في الكتلة-hash. وهذا يتيح لنا إثبات الوجود، ولكن ليس عدم وجود تحديثات لاحقة للاسم. وبالتالي، لا يمكننا أن نعرف تأكد من أحدث قيمة للاسم دون الثقة الكاملة العقدة، أو تكبد تكاليف كبيرة في النطاق الترددي عن طريق التنزيل كله blockchain. حتى لو تم تنفيذ شجرة بحث بحجم Merkle في NameCoin، اعتماده على proof-of-work يجعل عملية التحقق من العميل سهلة إشكالية. يجب على عملاء Light تنزيل نسخة كاملة من رؤوس جميع الكتل في blockchain بالكامل (أو على الأقل كل الرؤوس منذ آخر تحديث للاسم). وهذا يعني أن تتغير متطلبات عرض النطاق الترددي بشكل خطي مع مقدار الوقت [21]. بالإضافة إلى ذلك، يتغير الاسم على proof-of-work blockchain يتطلب انتظار كتل تأكيد إضافية proof-of-work، والذي يمكن أن يستغرق ما يصل إلى ساعة على Bitcoin. مع Tendermint، كل ما نحتاجه هو أحدث كتلة-hash موقعة من قبل نصاب قانوني قدره validators (بواسطة قوة التصويت)، وميركل دليل على القيمة الحالية المرتبطة بالاسم. هذا يجعلها من الممكن أن يكون لديك عميل خفيف مقتضب وسريع وآمن التحقق من قيم الاسم. في Cosmos، يمكننا أن نأخذ هذا المفهوم ونوسعه إلى أبعد من ذلك. كل يمكن أن تحتوي منطقة تسجيل الاسم في Cosmos على اسم نطاق المستوى الأعلى (TLD) مرتبط مثل ".com" أو ".org"، وكل اسم-
منطقة التسجيل يمكن أن يكون لها الإدارة والتسجيل الخاصة بها القواعد.
Quản trị và Kinh tế
Mặc dù Trung tâm Cosmos là sổ cái phân phối nhiều tài sản, nhưng có một người bản địa đặc biệt token được gọi là nguyên tử. Nguyên tử là staking duy nhất token của Trung tâm Cosmos. Nguyên tử là một giấy phép cho người nắm giữ bỏ phiếu, xác thực hoặc ủy quyền cho validators khác. Giống như của Ethereum ether, nguyên tử cũng có thể được sử dụng để thanh toán phí giao dịch cho giảm thiểu thư rác. Các nguyên tử bổ sung và giao dịch khối phí được thưởng cho validator và người được ủy quyền validator giây. Giao dịch BurnAtomTx có thể được sử dụng để khôi phục mọi số lượng tương ứng token từ nhóm dự trữ. Sự phân bổ ban đầu của nguyên tử tokens và validators trên Genesis sẽ đến tay các nhà tài trợ của Cosmos Người gây quỹ (75%), nhà tài trợ chính (5%), Cosmos Network Foundation (10%) và ALL IN BITS, Inc (10%). Từ khi hình thành trở đi, 1/3 tổng số nguyên tử sẽ được khen thưởng cho validator ngoại quan và người được ủy quyền hàng năm. Xem Kế hoạch Cosmos để biết thêm chi tiết. Không giống như Bitcoin hoặc proof-of-work blockchain khác, Tendermint blockchain trở nên chậm hơn với nhiều validator giây hơn do tăng sự phức tạp trong giao tiếp. May mắn thay, chúng tôi có thể hỗ trợ đủ validators để tạo nên sự phân phối mạnh mẽ trên toàn cầu blockchain với thời gian xác nhận giao dịch rất nhanh và băng thông,
lưu trữ và khả năng tính toán song song tăng lên, chúng ta sẽ có thể để hỗ trợ thêm validators trong tương lai. Vào ngày khởi nguồn, số lượng validator tối đa sẽ được đặt thành 100, và con số này sẽ tăng với tốc độ 13% trong 10 năm, và giải quyết ở mức 300 validator giây. Những người nắm giữ Atom chưa có thể trở thành validators bằng cách ký và gửi giao dịch BondTx. Số lượng của các nguyên tử được cung cấp làm tài sản thế chấp phải khác không. Bất cứ ai cũng có thể trở thành a validator bất cứ lúc nào, ngoại trừ khi kích thước của dòng điện Bộ validator lớn hơn số lượng tối đa validator giây được phép. Trong trường hợp đó, giao dịch chỉ có hiệu lực nếu số tiền nguyên tử lớn hơn số lượng nguyên tử hữu hiệu được giữ bởi nhỏ nhất validator, trong đó các nguyên tử hiệu quả bao gồm các nguyên tử được ủy quyền. Khi validator mới thay thế validator hiện có theo cách như vậy, validator hiện có sẽ không hoạt động và tất cả các nguyên tử và các nguyên tử được ủy quyền đi vào trạng thái không liên kết. Phải có một số hình phạt áp dụng đối với validator đối với bất kỳ cố ý hoặc vô ý đi chệch khỏi mức bị xử phạt giao thức. Một số bằng chứng được chấp nhận ngay lập tức, chẳng hạn như một ký kép ở cùng độ cao và hình tròn hoặc vi phạm Năm 0: 100 Năm 1: 113 Năm 2: 127 Năm 3: 144 Năm 4: 163 Năm 5: 184 Năm 6: 208 Năm 7: 235 Năm 8: 265 Năm 9: 300 Năm 10: 300 ...
“prevote-the-lock” (một quy tắc của giao thức đồng thuận Tendermint). Bằng chứng như vậy sẽ khiến validator mất đi vị thế tốt và các nguyên tử liên kết của nó cũng như tỷ lệ tokens trong quỹ dự trữ – được gọi chung là “cổ phần” của nó – sẽ bị cắt giảm. Đôi khi, validator sẽ không khả dụng do điều kiện khu vực gián đoạn mạng, mất điện hoặc các lý do khác. Nếu, bất cứ lúc nào điểm trong các khối ValidatorTimeoutWindow trước đây, validator's phiếu cam kết không được bao gồm trong blockchain nhiều hơn ValidatorTimeoutMaxAbsent lần, validator đó sẽ trở thành không hoạt động và mất ValidatorTimeoutPenalty (MẶC ĐỊNH 1%) trong tổng số cổ phần. Một số hành vi “có hại” không tạo ra sự khác biệt rõ ràng bằng chứng trên blockchain. Trong những trường hợp này, validator có thể phối hợp ngoài băng để buộc thời gian chờ của những kẻ độc hại này validators, nếu có sự đồng thuận của đa số. Trong trường hợp Trung tâm Cosmos dừng do liên minh ≥⅓ quyền biểu quyết sẽ thuộc về zine hoặc trong trường hợp liên minh ≥⅓ quyền biểu quyết kiểm duyệt bằng chứng về hành vi độc hại từ vào blockchain, trung tâm phải khôi phục bằng hard-fork đề xuất tái tổ chức. (Liên kết đến “Các cuộc tấn công phân nhánh và kiểm duyệt”). Cosmos Hub validator có thể chấp nhận bất kỳ loại token hoặc kết hợp nào các loại phí để xử lý một giao dịch. Mỗi validator có thể chủ quan đặt ra bất kỳ tỷ giá hối đoái nào nó muốn và chọn bất kỳ giao dịch nào họ muốn, miễn là BlockGasLimit là không vượt quá. Các khoản phí thu được, trừ đi các khoản thuế được quy định dưới đây, được phân phối lại cho các bên liên quan theo tỷ lệ các nguyên tử liên kết của chúng, mỗi ValidatorPayoutPeriod (MẶC ĐỊNH 1 giờ).Trong số phí giao dịch được thu, ReserveTax (MẶC ĐỊNH 2%) sẽ đi về phía nhóm dự trữ để tăng nhóm dự trữ và tăng tính bảo mật và giá trị của mạng Cosmos. Những cái này nguồn vốn cũng có thể được phân bổ theo các quyết định do hệ thống quản lý thực hiện. Người sở hữu Atom ủy quyền quyền biểu quyết của họ cho validators khác trả hoa hồng cho người được ủy quyền validator. Ủy ban có thể được đặt bởi mỗi validator. Tính bảo mật của Cosmos Hub là một chức năng bảo mật của validator cơ bản và sự lựa chọn ủy quyền của người được ủy quyền. Để khuyến khích việc phát hiện và báo cáo sớm các phát hiện các lỗ hổng bảo mật, Trung tâm Cosmos khuyến khích tin tặc xuất bản khai thác thành công thông qua giao dịch ReportHackTx có nội dung: “Điều này validator đã bị hack. Vui lòng gửi tiền thưởng đến địa chỉ này”. Khi việc khai thác như vậy, validator và người ủy quyền sẽ không hoạt động, HackPunishmentRatio (mặc định 5%) nguyên tử của mọi người sẽ nhận được bị chém và HackRewardRatio (mặc định 5%) nguyên tử của mọi người sẽ nhận được phần thưởng theo địa chỉ tiền thưởng của hacker. validator phải phục hồi các nguyên tử còn lại bằng cách sử dụng khóa dự phòng của chúng. Để ngăn chặn tính năng này bị lạm dụng để chuyển các nguyên tử chưa được đầu tư, phần nguyên tử được giao so với các nguyên tử chưa được đầu tư của validators và người được ủy quyền trước và sau ReportHackTx sẽ vẫn giữ nguyên và tiền thưởng của hacker sẽ bao gồm một số nguyên tử chưa đầu tư, nếu có. Trung tâm Cosmos được vận hành bởi một tổ chức phân phối đòi hỏi phải có cơ chế quản lý chặt chẽ để điều phối các thay đổi khác nhau đối với blockchain, chẳng hạn như biến
các thông số của hệ thống, cũng như nâng cấp phần mềm và sửa đổi hiến pháp. Tất cả validator đều có trách nhiệm bỏ phiếu cho tất cả đề xuất. Không thể bỏ phiếu cho một đề xuất một cách kịp thời sẽ dẫn đến validator bị vô hiệu hóa tự động trong một khoảng thời gian được gọi là Vắng mặtThời gian phạt (MẶC ĐỊNH 1 tuần). Người được ủy quyền tự động kế thừa phiếu bầu của người được ủy quyền validator. Phiếu bầu này có thể được ghi đè bằng tay. nguyên tử không liên kết không nhận được phiếu bầu. Mỗi đề xuất yêu cầu một khoản tiền gửi là Tiền gửi đề xuất tối thiểu tokens, có thể là sự kết hợp của một hoặc nhiều tokens trong đó có nguyên tử. Đối với mỗi đề xuất, cử tri có thể bỏ phiếu để thông qua tiền đặt cọc. Nếu hơn một nửa số cử tri chọn tham gia tiền gửi (ví dụ: vì đề xuất là thư rác), khoản tiền gửi sẽ chuyển đến nguồn dự trữ, ngoại trừ bất kỳ nguyên tử nào bị đốt cháy. Đối với mỗi đề xuất, cử tri có thể bỏ phiếu với các phương án sau: vâng YeaWithForce không NayVới Lực Lượng kiêng Đa số phiếu thuận hoặc YeaWithForce (hoặc Không hoặc Cần có phiếu bầu NayWithForce) để đề xuất được quyết định là được thông qua (hoặc quyết định là thất bại), nhưng 1/3+ có thể phủ quyết đa số quyết định bằng cách bỏ phiếu "có hiệu lực". Khi đa số tuyệt đối bị phủ quyết, mọi người đều bị trừng phạt bằng cách thua VetoPenaltyFeeBlocks (MẶC ĐỊNH số khối có giá trị trong 1 ngày) phí (trừ thuế sẽ không bị ảnh hưởng) và bên phủ quyết đa số
quyết định sẽ bị phạt bổ sung bằng việc mất VetoPenaltyAtoms (MẶC ĐỊNH 0,1%) số nguyên tử của nó. Bất kỳ tham số nào được mô tả ở đây đều có thể được thay đổi bằng chuyển Đề xuất thay đổi thông số . Các nguyên tử có thể được sản xuất và dự trữ quỹ dành cho thông qua Đề xuất tiền thưởng . Tất cả các đề xuất khác, chẳng hạn như đề xuất nâng cấp giao thức, sẽ được điều phối thông qua Đề xuất văn bản chung. Xem Kế hoạch. Đã có nhiều đổi mới trong blockchain sự đồng thuận và khả năng mở rộng trong vài năm qua. Phần này cung cấp một bản tóm tắt khảo sát một số lựa chọn quan trọng. Sự đồng thuận khi có sự hiện diện của những người tham gia độc hại là một vấn đề bắt đầu từ đầu những năm 1980, khi Leslie Lamport đặt ra cụm từ “Lỗi Byzantine” để chỉ hành vi xử lý tùy ý đi chệch khỏi hành vi dự định, trái ngược với “lỗi sự cố”, trong đó một quá trình chỉ đơn giản là gặp sự cố. Các giải pháp ban đầu được phát hiện đối với các mạng đồng bộ có giới hạn trênđộ trễ của tin nhắn, mặc dù việc sử dụng thực tế bị giới hạn ở mức cao môi trường được kiểm soát như bộ điều khiển máy bay và trung tâm dữ liệu được đồng bộ hóa thông qua đồng hồ nguyên tử. Mãi cho đến khi vào cuối những năm 90, Dung sai lỗi Byzantine thực tế (PBFT) [11] là được giới thiệu như một sự đồng thuận đồng bộ một phần hiệu quả thuật toán có thể chịu được tới ⅓ quy trình hoạt động tùy ý. PBFT đã trở thành thuật toán tiêu chuẩn, tạo ra nhiều thuật toán các biến thể, bao gồm cả biến thể gần đây nhất do IBM tạo ra như một phần của đóng góp của họ cho Hyperledger. Lợi ích chính của sự đồng thuận của Tendermint đối với PBFT là Tendermint có cấu trúc cơ bản được cải tiến và đơn giản hóa, một số trong đó là kết quả của việc áp dụng mô hình blockchain. Các khối Tendermint phải được thực hiện theo thứ tự, điều này ngăn cản độ phức tạp và chi phí liên lạc liên quan đến PBFT lượt xem-thay đổi. Trong Cosmos và nhiều loại tiền điện tử, không có cần cho phép khối N+i trong đó i >= 1 được cam kết, khi khối N bản thân nó vẫn chưa cam kết. Nếu băng thông là nguyên nhân khiến khối N chưa cam kết trong vùng Cosmos thì việc sử dụng sẽ không có ích gì phiếu chia sẻ băng thông cho khối N+i. Nếu một phân vùng mạng hoặc nút ofzine là lý do tại sao khối N chưa được cam kết, thì N+i dù sao cũng sẽ không cam kết. Ngoài ra, việc gộp các giao dịch thành các khối cho phép Merkle-hashing thường xuyên của trạng thái ứng dụng, thay vì các bản tóm tắt định kỳ như với sơ đồ điểm kiểm tra của PBFT. Điều này cho phép để có các cam kết giao dịch có thể chứng minh nhanh hơn dành cho khách hàng nhẹ và nhanh hơn liên lạc giữablockchain. Tendermint Core cũng bao gồm nhiều tính năng và tối ưu hóa vượt xa những gì được chỉ định trong PBFT. Ví dụ, các khối do validators đề xuất được chia thành các phần, được Merkle hóa, và buôn chuyện theo cách giúp cải thiện việc phát sóng hiệu suất (xem LibSwift [19] để biết cảm hứng). Ngoài ra, bạc hà Core không đưa ra bất kỳ giả định nào về điểm-điểm
khả năng kết nối và hoạt động miễn là mạng P2P kết nối yếu. Mặc dù không phải là năm đầu tiên triển khai proof-of-stake (PoS), BitShares1.0 [12] đóng góp đáng kể vào việc nghiên cứu và áp dụng PoS blockchains, đặc biệt là những PoS được ủy quyền. trong BitShares, người nắm giữ cổ phần bầu ra “nhân chứng”, chịu trách nhiệm ra lệnh và thực hiện các giao dịch, và các "đại biểu" chịu trách nhiệm về phối hợp cập nhật phần mềm và thay đổi thông số. BitShares2.0 nhằm mục đích đạt được hiệu suất cao (100k tx/s, 1s độ trễ) trong điều kiện lý tưởng, với mỗi khối được ký bởi một người ký và thời gian thực hiện giao dịch mất nhiều thời gian hơn một chút so với khoảng chặn. Một đặc tả kinh điển vẫn đang được phát triển. Các bên liên quan có thể loại bỏ hoặc thay thế các nhân chứng có hành vi sai trái hàng ngày, nhưng không có tài sản thế chấp đáng kể của nhân chứng hoặc các đại biểu giống như Tendermint PoS bị chém vào trường hợp tấn công chi tiêu gấp đôi thành công. Dựa trên cách tiếp cận do Ripple tiên phong, Stellar [13] đã đưa ra một mô hình Thỏa thuận Byzantine Liên bang trong đó các quy trình tham gia vào sự đồng thuận không cấu thành một yxed và trên toàn cầu tập đã biết. Đúng hơn, mỗi nút quy trình quản lý một hoặc nhiều “các lát cắt đại biểu”, mỗi lát tạo thành một tập hợp các quy trình đáng tin cậy. A “quorum” trong Stellar được coi là tập hợp các nút chứa tại ít nhất một lát đại biểu cho mỗi nút trong tập hợp, sao cho thỏa thuận có thể đạt được. Tính bảo mật của cơ chế Stellar dựa trên giả định rằng giao điểm của hai đại biểu bất kỳ không trống, trong khi tính khả dụng của một nút yêu cầu ít nhất một trong các lát cắt đại biểu của nó để bao gồm toàn bộ các nút chính xác, tạo ra sự cân bằng giữa sử dụng các lát đại biểu lớn hoặc nhỏ có thể khó cân bằng mà không áp đặt những giả định quan trọng về niềm tin. Cuối cùng,các nút bằng cách nào đó phải chọn các lát đại biểu đầy đủ để có có đủ khả năng chịu lỗi (hoặc bất kỳ "nút nguyên vẹn" nào, trong đó phần lớn kết quả của bài báo phụ thuộc vào) và duy nhất cung cấp chiến lược để đảm bảo sự kết hợp như vậy được phân cấp và tương tự như Giao thức cổng biên (BGP), được sử dụng bởi các ISP hàng đầu trên internet để thiết lập các bảng định tuyến toàn cầu và bởi được trình duyệt sử dụng để quản lý chứng chỉ TLS; cả hai đều khét tiếng vì sự bất an của họ. Những lời chỉ trích trong bài báo Stellar về hệ thống bằng chứng cổ phần dựa trên Tendermint được giảm nhẹ nhờ chiến lược token được mô tả ở đây, trong đó một loại token mới được gọi là nguyên tử được phát hành thể hiện các yêu cầu đối với các phần phí và phần thưởng trong tương lai. các thì lợi thế của proof-of-stake dựa trên Tendermint là tương đối của nó đơn giản, trong khi vẫn cung cấp đủ mức độ bảo mật và có thể chứng minh được sự đảm bảo. BitcoinNG là cải tiến được đề xuất cho Bitcoin sẽ cho phép dành cho các dạng khả năng mở rộng theo chiều dọc, chẳng hạn như tăng kích thước khối, không có những hậu quả kinh tế tiêu cực thường liên quan đến với sự thay đổi như vậy, chẳng hạn như tác động lớn không tương xứng trên các thợ mỏ nhỏ. Sự cải thiện này đạt được bằng cách tách bầu cử lãnh đạo từ phát sóng giao dịch: lãnh đạo là người đầu tiên được bầu chọn bởi proof-of-work trong “khối vi mô” và sau đó có thể các giao dịch quảng bá sẽ được cam kết cho đến khi có một khối vi mô mới được tìm thấy. Điều này làm giảm các yêu cầu về băng thông cần thiết để giành chiến thắng trong cuộc đua PoW, cho phép các thợ mỏ nhỏ cạnh tranh công bằng hơn, và cho phép các giao dịch được thực hiện thường xuyên hơn bởi thợ mỏ cuối cùng tìm được một khối vi mô. Casper [16] là thuật toán đồng thuận proof-of-stake được đề xuất cho Ethereum. Phương thức hoạt động chính của nó là “đồng thuận bằng cách đặt cược”. Bởi để validator đặt cược lặp đi lặp lại vào khối mà họ tin rằng sẽ
cam kết tham gia blockchain dựa trên các cược khác mà họ đã thấy cho đến nay, cuối cùng thì tính đồng bộ có thể đạt được. liên kết. Đây là một lĩnh vực nghiên cứu tích cực của nhóm Casper. các thách thức là xây dựng một cơ chế cá cược có thể đã được chứng minh là một chiến lược ổn định về mặt tiến hóa. Lợi ích chính của Casper so với Tendermint có thể cung cấp “tính khả dụng quá nhất quán” – sự đồng thuận không yêu cầu >⅔ số đại biểu quyền biểu quyết - có lẽ phải trả giá bằng tốc độ cam kết hoặc độ phức tạp thực hiện. Giao thức Interledger [14] không hẳn là một giải pháp có khả năng mở rộng. Nó cung cấp sự tương tác đặc biệt giữa các sổ cái khác nhau hệ thống thông qua mạng lưới quan hệ song phương được kết nối lỏng lẻo. Giống như Lightning Network, mục đích của ILP là tạo điều kiện thuận lợi thanh toán, nhưng nó đặc biệt tập trung vào các khoản thanh toán khác nhau các loại sổ cái và mở rộng cơ chế giao dịch nguyên tử sang bao gồm không chỉ hash-khóa mà còn bao gồm số đại biểu công chứng viên (được gọi là Giao thức vận chuyển nguyên tử). Cơ chế sau cho thực thi tính nguyên tử trong các giao dịch giữa các sổ cái tương tự như Cơ chế SPV máy khách nhẹ của Tendermint, do đó minh họa về sự khác biệt giữa ILP và Cosmos/IBC được đảm bảo và được cung cấp dưới đây. 1. Công chứng viên kết nối trong ILP không hỗ trợ tư cách thành viên thay đổi và không cho phép trọng số linh hoạt giữa công chứng viên. Mặt khác, IBC được thiết kế đặc biệt cho blockchains, trong đó validators có thể có trọng số khác nhau và nơi tư cách thành viên có thể thay đổi trong quá trình blockchain. 2. Giống như trong Lightning Network, người nhận thanh toán trong ILP phải trực tuyến để gửi xác nhận lại cho người gửi. trong mộttoken chuyển qua IBC, bộ validator của máy thu blockchain chịu trách nhiệm cung cấp xác nhận chứ không phải người dùng nhận. 3. Điểm khác biệt nổi bật nhất là đầu nối của ILP không chịu trách nhiệm hoặc giữ thẩm quyền về các khoản thanh toán, trong khi ở Cosmos, validator của trung tâm là thẩm quyền của trạng thái IBC token chuyển giao cũng như thẩm quyền của số lượng token được giữ bởi mỗi vùng (nhưng không phải số lượng token được nắm giữ bởi mỗi tài khoản trong một vùng). Đây là sự đổi mới cơ bản cho phép đảm bảo tính bất đối xứng chuyển token từ vùng này sang vùng khác; tương tự như ILP trình kết nối trong Cosmos là một kết nối ổn định và an toàn tối đa sổ cái blockchain, trung tâm Cosmos. 4. Các khoản thanh toán liên sổ cái trong ILP cần được hỗ trợ bởi một sổ đặt hàng trao đổi, vì không có sự chuyển giao bất đối xứng của tiền từ sổ cái này sang sổ cái khác, chỉ chuyển giá trị hoặc tương đương trên thị trường. Chuỗi bên [15] là cơ chế được đề xuất để mở rộng quy mô Bitcoin mạng thông qua các blockchain thay thế được “chốt hai chiều” với Bitcoin blockchain. (Chốt hai chiều tương đương với bắc cầu. Trong Cosmos chúng tôi nói "bắc cầu" để phân biệt với định vị thị trường). Sidechains cho phép bitcoin di chuyển một cách hiệu quả từ Bitcoin blockchain vào sidechain và ngược lại, đồng thời cho phép thử nghiệm các tính năng mới trên sidechain. Như trong Cosmos Hub, sidechain và Bitcoin đóng vai trò là khách hàng nhẹ của lẫn nhau, sử dụng bằng chứng SPV để xác định khi nào các đồng xu sẽ được được chuyển sang sidechain và ngược lại. Tất nhiên, vì Bitcoin sử dụng proof-of-work, các chuỗi bên xoay quanh Bitcoin bị ảnh hưởng khỏi nhiều vấn đề và rủi ro của proof-of-work như một cơ chế đồng thuận Hơn nữa, đây là một người theo chủ nghĩa tối đa Bitcoin giải pháp vốn không hỗ trợ nhiều loại token và
cấu trúc liên kết mạng liên vùng như Cosmos. Điều đó nói lên rằng, cốt lõi cơ chế của chốt hai chiều về nguyên tắc giống như cơ chế đó được sử dụng bởi mạng Cosmos. Ethereum hiện đang nghiên cứu một số chiến lược khác nhau để phân chia trạng thái của Ethereum blockchain để giải quyết nhu cầu về khả năng mở rộng. Những nỗ lực này nhằm mục đích duy trì lớp trừu tượng được cung cấp bởi Máy ảo Ethereum hiện tại trên không gian trạng thái được chia sẻ. Nhiều nỗ lực nghiên cứu đang đang được tiến hành vào thời điểm này. [18][22] Cosmos và Ethereum 2.0 Màu hoa cà [22] có các mục tiêu thiết kế khác nhau. Cosmos đặc biệt là khoảng tokens. Mauve là về việc mở rộng quy mô tính toán tổng quát. Cosmos không bị ràng buộc với EVM, do đó, ngay cả các máy ảo khác nhau cũng có thể tương tác. Cosmos cho phép người tạo vùng xác định ai xác thực khu. Bất kỳ ai cũng có thể bắt đầu một khu vực mới trong Cosmos (trừ khi quản trị quyết định khác). Hub cách ly các lỗi vùng nên các bất biến token toàn cầu được được bảo tồn. Mạng Lightning là mạng chuyển giao token được đề xuất hoạt động ở lớp phía trên Bitcoin blockchain (và lớp công cộng khác blockchains), cho phép cải thiện nhiều cấp độ lớn trong thông lượng giao dịch bằng cách di chuyển phần lớn các giao dịch ngoài sổ cái đồng thuận vào cái gọi là “kênh thanh toán”.Điều này được thực hiện nhờ các tập lệnh tiền điện tử trên chuỗi, cho phép các bên ký kết các hợp đồng nhà nước song phương trong đó trạng thái có thể được cập nhật bằng cách chia sẻ chữ ký số và hợp đồng có thể bị đóng bằng cách xuất bản bằng chứng đồng thời lên blockchain, một cơ chế lần đầu tiên được phổ biến rộng rãi nhờ sự hoán đổi nguyên tử xuyên chuỗi. Bởi mở kênh thanh toán với nhiều bên, người tham gia Lightning Network có thể trở thành điểm tập trung cho việc định tuyến thanh toán của người khác, dẫn đến một kênh thanh toán được kết nối đầy đủ mạng, với chi phí vốn bị ràng buộc trên các kênh thanh toán. Mặc dù Lightning Network cũng có thể dễ dàng mở rộng khắp nhiều blockchain độc lập để cho phép chuyển giá trị thông qua thị trường trao đổi, nó không thể được sử dụng để chuyển token từ blockchain này sang blockchain khác. Lợi ích chính của mạng Cosmos được mô tả ở đây là kích hoạt trực tiếp như vậy token chuyển khoản. Điều đó nói lên rằng, chúng tôi kỳ vọng các kênh thanh toán và Lightning Network sẽ được áp dụng rộng rãi cùng với token cơ chế chuyển giao, vì lý do tiết kiệm chi phí và bảo mật. Segregated Witness là một liên kết đề xuất cải tiến Bitcoin nhằm mục đích tăng thông lượng giao dịch trên mỗi khối lên gấp 2 lần hoặc 3 lần, đồng thời làm cho việc đồng bộ hóa khối nhanh hơn cho các nút mới. Điểm sáng chói của giải pháp này nằm ở cách nó hoạt động trong hạn chế của giao thức hiện tại của Bitcoin và cho phép phân nhánh mềm nâng cấp (tức là các máy khách có phiên bản phần mềm cũ hơn sẽ tiếp tục hoạt động sau khi nâng cấp). Tendermint, là một sản phẩm mới giao thức, không có hạn chế về thiết kế, vì vậy nó có tỷ lệ khác những ưu tiên. Về cơ bản, Tendermint sử dụng thuật toán quay vòng BFT dựa trên chữ ký mật mã thay vì khai thác, một cách tầm thường cho phép chia tỷ lệ theo chiều ngang thông qua nhiều song song blockchains, trong khi các cam kết khối thường xuyên hơn, thường xuyên hơn cho phép cũng có thể chia tỷ lệ theo chiều dọc.
الحكم والاقتصاد
في حين أن Cosmos Hub عبارة عن دفتر أستاذ موزع متعدد الأصول، إلا أنه يوجد أصل خاص token يسمى الذرة. الذرات هي staking الوحيدة token للمركز Cosmos. الذرات هي رخصة لحاملها التصويت أو التحقق من الصحة أو التفويض إلى validators أخرى. مثل Ethereum الأثير، يمكن أيضًا استخدام الذرات لدفع رسوم المعاملات تخفيف البريد العشوائي. ذرات إنزاتيوناري إضافية ومعاملة كتلة تتم مكافأة الرسوم إلى validator والمفوضين الذين يفوضون ذلك validators. ويمكن استخدام معاملة BurnAtomTx لاسترداد أي منها مبلغ متناسب من tokens من المجمع الاحتياطي. التوزيع الأولي للذرة tokens و validators في سفر التكوين سيذهب إلى الجهات المانحة لجمع التبرعات Cosmos (75%)، الجهات المانحة الرئيسية (5%)، Cosmos مؤسسة الشبكة (10%)، وALL IN BITS, Inc (10%). ومن لحظة التكوين فصاعدًا، سوف يصبح ثلث إجمالي كمية الذرات سيتم مكافأتك للمستعبدين validator والمفوضين كل عام. راجع خطة Cosmos للحصول على تفاصيل إضافية. على عكس Bitcoin أو غيره من proof-of-work blockchains، فإن Tendermint blockchain يصبح أبطأ مع المزيد من validators بسبب الزيادة تعقيد الاتصالات. ولحسن الحظ، يمكننا دعم ما يكفي validators لإنشاء blockchain قوي وموزع عالميًا مع أوقات تأكيد المعاملات السريعة جدًا، وعرض النطاق الترددي،
التخزين، وزيادة سعة الحوسبة الموازية، سنكون قادرين لدعم المزيد من validators في المستقبل. في يوم التكوين، سيتم تعيين الحد الأقصى لعدد validators إلى 100، وسيزداد هذا العدد بمعدل 13% لمدة 10 سنوات، و استقر عند 300 validators. يمكن لحاملي الذرة الذين ليسوا بالفعل أن يصبحوا validators بحلول التوقيع على معاملة BondTx وإرسالها. كمية الذرات المقدمة كضمان يجب أن تكون غير صفرية. يمكن لأي شخص أن يصبح validator في أي وقت، إلا عندما يكون حجم التيار مجموعة validator أكبر من الحد الأقصى لعدد validators مسموح به. في هذه الحالة، تكون المعاملة صالحة فقط إذا كان المبلغ الذرات أكبر من كمية الذرات الفعالة التي يحتفظ بها الأصغر validator، حيث تشمل الذرات الفعالة الذرات المفوضة. عندما يحل validator الجديد محل validator الحالي بهذه الطريقة، validator الموجود يصبح غير نشط وجميع الذرات و تدخل الذرات المفوضة إلى حالة فك الارتباط. يجب أن يتم فرض بعض العقوبات على validators لأي منها الانحراف المقصود أو غير المقصود عن العقوبة البروتوكول. يتم قبول بعض الأدلة على الفور، مثل أ علامة مزدوجة على نفس الارتفاع والدائرية، أو انتهاكا السنة 0: 100 السنة الأولى: 113 السنة الثانية: 127 السنة 3: 144 السنة الرابعة: 163 السنة 5: 184 السنة 6: 208 السنة 7: 235 السنة 8: 265 السنة 9: 300 السنة 10: 300 ...
"prevote-the-lock" (قاعدة من بروتوكول إجماع Tendermint). سيؤدي مثل هذا الدليل إلى فقدان validator لوضعه الجيد وذراتها المرتبطة بالإضافة إلى حصتها التناسبية البالغة tokens في سيتم تخفيض مجموع الاحتياطي - الذي يطلق عليه مجتمعًا "حصته" -. في بعض الأحيان، لن يكون validators متاحًا، إما بسبب المنطقة انقطاع الشبكة أو انقطاع التيار الكهربائي أو لأسباب أخرى. إذا، في أي نقطة في كتل ValidatorTimeoutWindow السابقة، validator لم يتم تضمين التصويت الالتزام في blockchain أكثر من مرات ValidatorTimeoutMaxAbsent، سيصبح validator غير نشط، وتفقد ValidatorTimeoutPenalty (الافتراضي 1%) من قيمته حصة. بعض السلوكيات "الخبيثة" لا يمكن تمييزها بشكل واضح الأدلة على blockchain. في هذه الحالات، يمكن لـ validators التنسيق خارج النطاق لفرض انتهاء مهلة هذه البرامج الضارة validators، إذا كان هناك إجماع بأغلبية ساحقة. في المواقف التي يتوقف فيها Cosmos Hub بسبب تحالف ≥⅓ من تختفي قوة التصويت، أو في الحالات التي يكون فيها ائتلاف ≥⅓ دليل رقابي على قوة التصويت على السلوك الخبيث من عند إدخال blockchain، يجب أن يتعافى المحور باستخدام شوكة صلبة اقتراح إعادة التنظيم. (رابط إلى "هجمات الشوكات والرقابة"). Cosmos يمكن للمحور validators قبول أي نوع أو مجموعة token أنواعها كرسوم معالجة معاملة. كل validator يمكن قم بتعيين سعر الصرف الذي تريده بشكل شخصي، ثم اختر مهما كانت المعاملات التي تريدها، طالما أن BlockGasLimit هو كذلك لم يتم تجاوزها. الرسوم المحصلة، ناقص أي ضرائب محددة أدناه، يتم إعادة توزيعها على أصحاب المصلحة المستعبدين بما يتناسب مع ذراتها المرتبطة، كل ValidatorPayoutPeriod (الافتراضي 1 ساعة).من بين رسوم المعاملات المحصلة، سيتم تطبيق ReserveTax (الافتراضي 2%) اذهب نحو تجمع الاحتياطي لزيادة تجمع الاحتياطي و زيادة أمان وقيمة شبكة Cosmos. هذه ويمكن أيضًا توزيع الأموال وفقًا للقرارات صنعها نظام الحكم. أصحاب الذرة الذين يفوضون سلطة التصويت الخاصة بهم إلى validators آخرين دفع عمولة للمفوض validator. يمكن للجنة يتم تعيينها بواسطة كل validator. يعد أمان Cosmos Hub إحدى وظائف أمان validators واختيار التفويض من قبل المفوضين. من أجل تشجيع الاكتشاف والإبلاغ المبكر عما تم العثور عليه الثغرات الأمنية، يشجع مركز Cosmos المتسللين على النشر عمليات استغلال ناجحة عبر معاملة ReportHackTx التي تنص على أن "هذا تم اختراق validator. من فضلك أرسل المكافأة إلى هذا العنوان". على مثل هذا الاستغلال، سيصبح validator والمفوضون غير نشطين، HackPunishmentRatio (الافتراضي 5%) من ذرات الجميع سيحصلون عليها مقطوعة، و HackRewardRatio (افتراضي 5%) من ذرات الجميع سوف تحصل على مكافأة على عنوان مكافأة المتسلل. validator يجب استعادة الذرات المتبقية باستخدام مفتاح النسخ الاحتياطي الخاص بهم. من أجل منع إساءة استخدام هذه الميزة للنقل الذرات غير المكتسبة، جزء من الذرات المكتسبة مقابل الذرات غير المكتسبة validators والمفوضون قبل وبعد ReportHackTx سوف تظل كما هي، وستتضمن مكافأة الهاكر بعضًا منها الذرات غير المستثمرة، إن وجدت. يتم تشغيل مركز Cosmos بواسطة مؤسسة موزعة يتطلب آلية حوكمة جيدة التصميم من أجل تنسيق التغييرات المختلفة على blockchain، مثل المتغير
معلمات النظام، بالإضافة إلى ترقيات البرامج و التعديلات الدستورية. جميع validator مسؤولون عن التصويت على جميع المقترحات. الفشل في سيؤدي التصويت على الاقتراح في الوقت المناسب إلى validator يتم إلغاء التنشيط تلقائيًا لفترة من الوقت تسمى عقوبة الغياب (أسبوع واحد افتراضيًا). يرث المفوضون صوت المفوض تلقائيًا validator. قد يتم تجاوز هذا التصويت يدويًا. الذرات غير المرتبطة لا تحصل على أي تصويت. يتطلب كل اقتراح إيداع مبلغ MinimumProposalDeposit tokens، والتي قد تكون مزيجًا من واحد أو أكثر من tokens بما في ذلك الذرات. بالنسبة لكل اقتراح، يجوز للناخبين التصويت لاتخاذه الوديعة. إذا اختار أكثر من نصف الناخبين التصويت الإيداع (على سبيل المثال، لأن الاقتراح كان غير مرغوب فيه)، يذهب الإيداع إلى المجمع الاحتياطي، باستثناء أي ذرات يتم حرقها. لكل مقترح، يمكن للناخبين التصويت بالخيارات التالية: نعم نعم مع القوة كلا NayWithForce امتنع عن التصويت أغلبية صارمة من أصوات نعم أو YeaWithForce (أو لا أو أصوات NayWithForce) مطلوبة حتى يتم تحديد الاقتراح تم إقراره (أو تقرر فشله)، ولكن يمكن لـ 1/3+ استخدام حق النقض ضد الأغلبية القرار بالتصويت "بالقوة". عندما يتم نقض الأغلبية الصارمة، تتم معاقبة الجميع بخسارة VetoPenaltyFeeBlocks (قيمة افتراضية للكتل ليوم واحد) بقيمة الرسوم (باستثناء الضرائب والتي لن تتأثر)، والحزب الذي اعترض على الأغلبية
ستتم معاقبة القرار أيضًا بخسارة VetoPenaltyAtoms (الافتراضي 0.1%) من ذراته. يمكن تغيير أي من المعلمات المحددة هنا باستخدام تمرير ParameterChangeProposal. يمكن تجميد الذرات واحتجاز أموال المجمع التي يتم إنفاقها باستخدام تمرير اقتراح المكافأة. جميع المقترحات الأخرى، مثل اقتراح ترقية البروتوكول، سيتم تنسيقه عبر TextProposal العام. انظر الخطة. لقد كان هناك العديد من الابتكارات في إجماع blockchain و قابلية التوسع في العامين الماضيين. يقدم هذا القسم نبذة مختصرة مسح لعدد مختار من المهم. الإجماع في وجود مشاركين خبيثين يمثل مشكلة يعود تاريخها إلى أوائل الثمانينيات، عندما صاغ ليزلي لامبورت عبارة "خطأ بيزنطي" للإشارة إلى سلوك العملية التعسفية ينحرف عن السلوك المقصود، على عكس "خطأ التصادم"، حيث تتعطل العملية ببساطة. تم اكتشاف الحلول المبكرة للشبكات المتزامنة حيث يوجد حد أعلىزمن وصول الرسالة، على الرغم من أن الاستخدام العملي كان يقتصر على درجة عالية البيئات الخاضعة للرقابة مثل وحدات التحكم في الطائرات و مراكز البيانات متزامنة عبر الساعات الذرية. ولم يكن حتى أواخر التسعينيات أن التسامح مع الخطأ البيزنطي العملي (PBFT) [11] كان تم تقديمه كإجماع متزامن فعال جزئيًا خوارزمية قادرة على تحمل ما يصل إلى ثلث العمليات التي تتصرف تعسفا. أصبحت PBFT هي الخوارزمية القياسية، مما أدى إلى ظهور العديد منها الاختلافات، بما في ذلك أحدثها التي تم إنشاؤها بواسطة IBM كجزء من مساهمتهم في Hyperledger. الميزة الرئيسية لإجماع Tendermint على PBFT هي ذلك يحتوي Tendermint على بنية أساسية محسنة ومبسطة، بعضها نتيجة لتبني نموذج blockchain. يجب أن تلتزم كتل Tendermint بالترتيب، مما يتجنب التعقيد وحمل الاتصالات المرتبط بـ PBFT تغييرات العرض. في Cosmos والعديد من العملات المشفرة، لا يوجد بحاجة إلى السماح للكتلة N+i حيث i >= 1 بالالتزام، عند الكتلة N نفسها لم تلتزم بعد. إذا كان عرض النطاق الترددي هو السبب وراء حظر N لم يتم الالتزام به في منطقة Cosmos، فلا يساعد في الاستخدام أصوات مشاركة النطاق الترددي للكتل N+i. إذا كان قسم الشبكة أو عقد ofzine هي السبب وراء عدم التزام الكتلة N N + لن ألتزم على أي حال. بالإضافة إلى ذلك، فإن تجميع المعاملات في كتل يسمح بذلك Merkle-hashing العادي لحالة التطبيق، بدلاً من الملخصات الدورية كما هو الحال مع مخطط نقاط التفتيش PBFT. هذا يسمح من أجل تنفيذ معاملات أسرع يمكن إثباتها للعملاء الخفيفين وبشكل أسرع التواصل بين blockchain. يتضمن Tendermint Core أيضًا العديد من التحسينات والميزات التي تتجاوز ما هو محدد في PBFT. على سبيل المثال، يتم تقسيم الكتل المقترحة بواسطة validators إلى أجزاء، بحجم Merkle، والنميمة بطريقة تعمل على تحسين البث الأداء (راجع LibSwift [19] للإلهام). أيضا، تندرمينت لا يقدم Core أي افتراضات حول نقطة إلى نقطة
الاتصال والوظائف طالما أن شبكة P2P موجودة متصلة بشكل ضعيف. على الرغم من أنها ليست أول من نشر proof-of-stake (PoS)، إلا أن BitShares1.0 [12] ساهم بشكل كبير في البحث واعتماد إثبات الحصة (PoS). blockchains، وخاصة تلك المعروفة باسم نقاط البيع "المفوضة". في BitShares، أصحاب المصلحة ينتخبون "الشهود"، المسؤولين عن الطلب وارتكاب المعاملات و"المندوبين" المسؤولين عنها تنسيق تحديثات البرامج وتغييرات المعلمات. يهدف BitShares2.0 إلى تحقيق أداء عالي (100k tx/s, 1s الكمون) في ظروف مثالية، مع كل كتلة موقعة من قبل واحد المُوقع، وتستغرق عملية المعاملة وقتًا أطول قليلاً من الفاصل الزمني للكتلة. لا تزال المواصفات الأساسية قيد التطوير. يمكن لأصحاب المصلحة إزالة أو استبدال الشهود الذين يسيئون التصرف على بشكل يومي، ولكن لا يوجد ضمانات هامة من الشهود أو المندوبون على غرار Tendermint PoS الذين تم اقتطاعهم حالة نجاح هجوم الإنفاق المزدوج. بناءً على النهج الذي ابتكرته شركة Ripple، Stellar [13] رينيد أ نموذج للاتفاقية البيزنطية الموحدة حيث تتم العمليات المشاركة في الإجماع لا تشكل yxed وعالميا مجموعة معروفة. بدلاً من ذلك، تقوم كل عقدة عملية برعاية واحدة أو أكثر "شرائح النصاب"، يشكل كل منها مجموعة من العمليات الموثوقة. أ "النصاب القانوني" في Stellar مصمم ليكون مجموعة من العقد التي تحتوي على شريحة نصاب واحدة على الأقل لكل عقدة في المجموعة، بحيث يمكن التوصل إلى اتفاق. يعتمد أمان آلية Stellar على الافتراض أن تقاطع أي نصابين غير فارغ، في حين أن يتطلب توفر العقدة شريحة واحدة على الأقل من شرائح النصاب القانوني الخاصة بها تتكون بالكامل من العقد الصحيحة، مما يخلق مفاضلة بين استخدام شرائح النصاب الكبيرة أو الصغيرة التي قد يكون من الصعب تحقيق التوازن فيها دون فرض افتراضات هامة حول الثقة. أخيرًا،يجب أن تختار العقد بطريقة أو بأخرى شرائح النصاب القانوني المناسبة لذلك أن يكون كافيًا للتسامح مع الأخطاء (أو أي "عقد سليمة" على الإطلاق، منها الكثير من نتائج الورقة تعتمد على)، والوحيد الإستراتيجية المقدمة لضمان مثل هذا التكوين هي تسلسل هرمي وهو مشابه لبروتوكول بوابة الحدود (BGP)، الذي يستخدمه مزودو خدمة الإنترنت من الدرجة الأولى على الإنترنت لإنشاء جداول التوجيه العالمية، ومن خلال التي تستخدمها المتصفحات لإدارة شهادات TLS؛ كلاهما سيئ السمعة لانعدام الأمن لديهم. تم تخفيف الانتقادات الواردة في ورقة Stellar الخاصة بأنظمة إثبات الملكية القائمة على Tendermint من خلال استراتيجية token الموضحة هنا، حيث يتم إصدار نوع جديد من token يسمى الذرة تمثل المطالبات بالأجزاء المستقبلية من الرسوم والمكافآت. ال إن ميزة proof-of-stake المستندة إلى Tendermint هي قريبها البساطة، مع الاستمرار في توفير الأمان الكافي والقابل للإثبات الضمانات. BitcoinNG هو تحسين مقترح لـ Bitcoin من شأنه أن يسمح لأشكال قابلية التوسع الرأسي، مثل زيادة حجم الكتلة، دون العواقب الاقتصادية السلبية المرتبطة عادة مع مثل هذا التغيير، مثل التأثير الكبير بشكل غير متناسب على عمال المناجم الصغيرة. ويتحقق هذا التحسن عن طريق الانفصال انتخاب القائد من بث المعاملات: القادة هم الأولون تم انتخابه بواسطة proof-of-work في "الكتل الصغيرة"، ثم أصبح قادرًا على ذلك يجب الالتزام بمعاملات البث حتى يتم إنشاء كتلة صغيرة جديدة تم العثور عليه. وهذا يقلل من متطلبات عرض النطاق الترددي اللازمة ل الفوز بسباق إثبات العمل (PoW)، مما يسمح لصغار عمال المناجم بالمنافسة بشكل أكثر عدالة، والسماح بإجراء المعاملات بشكل أكثر انتظامًا بواسطة آخر عامل منجم يعثر على كتلة صغيرة. Casper [16] عبارة عن خوارزمية إجماع proof-of-stake مقترحة لـ Ethereum. أسلوب عملها الأساسي هو "الإجماع على الرهان". بواسطة السماح لـ validators بالمراهنة بشكل متكرر على الكتلة التي يعتقدون أنها ستفعل
تصبح ملتزمًا بـ blockchain بناءً على الرهانات الأخرى كما رأوه حتى الآن، يمكن تحقيق النزعة الجنسية في نهاية المطاف. وصلة. يعد هذا مجال بحث نشط بواسطة فريق Casper. ال التحدي يكمن في بناء آلية الرهان التي يمكن أن تكون ثبت أنها استراتيجية مستقرة تطوريا. الفائدة الرئيسية من قد يكون Casper مقارنةً بـ Tendermint في تقديم "التوافر". "على الاتساق" - لا يتطلب الإجماع أكثر من ⅔ النصاب القانوني قوة التصويت - ربما على حساب سرعة الالتزام أو تعقيد التنفيذ. لا يعد بروتوكول Interledger [14] حلاً قابلاً للتوسع بشكل صارم. ذلك يوفر التشغيل البيني المخصص بين دفاتر الأستاذ المختلفة الأنظمة من خلال شبكة علاقات ثنائية مترابطة بشكل فضفاض. مثل شبكة Lightning Network، فإن الغرض من ILP هو التسهيل المدفوعات، لكنه يركز بشكل خاص على المدفوعات عبر متباينة أنواع دفتر الأستاذ، وتمتد آلية المعاملات الذرية إلى لا تتضمن فقط hash-الأقفال، ولكن أيضًا النصاب القانوني لكتاب العدل (يسمى بروتوكول النقل الذري). الآلية الأخيرة ل إن فرض الذرية في المعاملات بين دفاتر الأستاذ يشبه آلية SPV العميلة الخفيفة الخاصة بـ Tendermint، مثال توضيحي لـ التمييز بين ILP و Cosmos/IBC أمر مضمون، و المنصوص عليها أدناه. 1. لا يدعم كتاب العدل للموصل في ILP العضوية التغييرات، ولا تسمح بالترجيح بين كتاب العدل. من ناحية أخرى، تم تصميم IBC خصيصًا لـ blockchains، حيث يمكن أن يكون لـ validators أوزان مختلفة، و حيث يمكن أن تتغير العضوية على مدار blockchain. 2. كما هو الحال في Lightning Network، متلقي الدفع في ILP يجب أن يكون متصلاً بالإنترنت لإرسال رسالة تأكيد إلى المرسل. في أtoken نقل عبر IBC، مجموعة validator لجهاز الاستقبال blockchain هو المسؤول عن توفير التأكيد، وليس استقبال المستخدم. 3. الفرق الأكثر لفتًا للانتباه هو أن موصلات ILP ليست كذلك مسؤولاً أو يحتفظ بحالة موثوقة بشأن المدفوعات، بينما في Cosmos، validators للمحور هي سلطة حالة IBC token عمليات النقل بالإضافة إلى سلطة كمية tokens التي تحتفظ بها كل منطقة (ولكن ليس مقدار tokens التي يحتفظ بها كل حساب داخل المنطقة). هذا هو الابتكار الأساسي الذي يسمح بأمان غير متماثل نقل tokens من منطقة إلى أخرى؛ التناظرية لـ ILP الموصل في Cosmos هو موصل ثابت وآمن إلى أقصى حد blockchain دفتر الأستاذ، مركز Cosmos. 4. يجب أن تكون المدفوعات بين دفاتر الأستاذ في ILP مدعومة بـ دفتر أوامر الصرف، حيث لا يوجد نقل غير متماثل لـ عملات معدنية من دفتر أستاذ إلى آخر، فقط نقل القيمة أو معادلات السوق. السلاسل الجانبية [15] هي آلية مقترحة لتوسيع نطاق Bitcoin الشبكة عبر blockchains البديلة "المرتبطة في اتجاهين". Bitcoin blockchain. (الربط في اتجاهين يعادل التجسير. في Cosmos نقول "جسر" للتمييز عن ربط السوق). تسمح السلاسل الجانبية لعملات البيتكوين بالانتقال بشكل فعال من Bitcoin blockchain إلى السلسلة الجانبية والظهر، والسماح بـ تجربة الميزات الجديدة على السلسلة الجانبية. كما في Cosmos Hub والسلسلة الجانبية وBitcoin بمثابة عملاء خفيفين لـ بعضها البعض، باستخدام أدلة SPV لتحديد متى يجب أن تكون العملات المعدنية نقل إلى Sidechain والعودة. بالطبع منذ Bitcoin الاستخدامات proof-of-work، تعاني السلاسل الجانبية المتمركزة حول Bitcoin من مشاكل ومخاطر proof-of-work العديدة كما أ آلية الإجماع. علاوة على ذلك، هذا هو الحد الأقصى Bitcoin الحل الذي لا يدعم أصلاً مجموعة متنوعة من tokens و
طوبولوجيا الشبكة بين المناطق كما يفعل Cosmos. وقيل: جوهر آلية الربط في الاتجاهين هي من حيث المبدأ نفس تلك الآلية يعمل لدى شبكة Cosmos. يقوم Ethereum حاليًا بالبحث في عدد من الاستراتيجيات المختلفة لتقسيم حالة Ethereum blockchain لمعالجة احتياجات قابلية التوسع. وتهدف هذه الجهود إلى الحفاظ على طبقة التجريد التي تقدمها الآلة الافتراضية Ethereum الحالية عبر مساحة الدولة المشتركة. الجهود البحثية المتعددة هي الجارية في هذا الوقت. [18][22] Cosmos وEthereum 2.0 بنفسجي [22] لهما أهداف تصميمية مختلفة. Cosmos يتعلق بشكل خاص بـ tokens. البنفسجي يدور حول القياس الحساب العام. Cosmos غير مرتبط بـ EVM، لذلك يمكن حتى للأجهزة الافتراضية المختلفة التفاعل. Cosmos يتيح لمنشئ المنطقة تحديد من يقوم بالتحقق من صحة المنطقة. يمكن لأي شخص أن يبدأ منطقة جديدة في Cosmos (ما لم تكن الإدارة يقرر خلاف ذلك). يقوم المحور بعزل حالات فشل المنطقة بحيث تكون الثوابت العالمية token كذلك محفوظ. الشبكة المسرّعة هي شبكة نقل مقترحة token تعمل في طبقة أعلى Bitcoin blockchain (وغيرها من الطبقات العامة blockchains)، مما يتيح تحسين العديد من أوامر الحجم في إنتاجية المعاملات عن طريق نقل غالبية المعاملات خارج دفتر الأستاذ الإجماعي إلى ما يسمى "قنوات الدفع".أصبح هذا ممكنًا بفضل البرامج النصية للعملات المشفرة الموجودة على السلسلة، والتي تمكين الأطراف من الدخول في عقود ثنائية الحالة حيث يمكن تحديث الحالة من خلال مشاركة التوقيعات الرقمية والعقود يمكن إغلاقه عن طريق نشر الأدلة بشكل صريح على blockchain، أ الآلية التي تم نشرها لأول مرة عن طريق المقايضة الذرية عبر السلسلة. بواسطة فتح قنوات الدفع مع العديد من الأطراف والمشاركين في يمكن أن تصبح الشبكة المسرّعة نقاطًا محورية لتوجيه الشبكة مدفوعات الآخرين، مما يؤدي إلى قناة دفع متصلة بالكامل الشبكة، على حساب رأس المال الذي يتم ربطه بقنوات الدفع. بينما يمكن للشبكة المسرّعة أيضًا أن تمتد بسهولة عبرها عدة blockchains مستقلة للسماح بنقل القيمة عبر سوق الصرف، لا يمكن استخدامه بشكل غير متماثل نقل tokens من blockchain إلى آخر. الفائدة الرئيسية الغرض من شبكة Cosmos الموصوفة هنا هو تمكين هذا التوجيه المباشر token التحويلات. ومع ذلك، فإننا نتوقع قنوات الدفع و سيتم اعتماد شبكة Lightning Network على نطاق واسع جنبًا إلى جنب مع شبكتنا token آلية النقل، لتوفير التكاليف ولأسباب تتعلق بالخصوصية. الشاهد المنفصل هو رابط مقترح تحسين Bitcoin يهدف إلى زيادة إنتاجية المعاملات لكل كتلة 2X أو 3X، مع جعل مزامنة الكتلة أسرع للعقد الجديدة في نفس الوقت. يكمن تألق هذا الحل في كيفية عمله داخل قيود بروتوكول Bitcoin الحالي وتسمح بالشوكة الناعمة الترقية (أي أن العملاء الذين لديهم إصدارات أقدم من البرنامج سوف يقومون بذلك الاستمرار في العمل بعد الترقية). تندرمينت، كونها جديدة البروتوكول ليس له قيود على التصميم، لذلك له مقياس مختلف الأولويات. في المقام الأول، يستخدم Tendermint خوارزمية BFT المستديرة على أساس التوقيعات التشفير بدلا من التعدين، والتي يسمح بشكل تافه بالتحجيم الأفقي من خلال التوازي المتعدد blockchains، بينما تسمح عمليات الحظر المنتظمة والمتكررة بذلك التحجيم العمودي كذلك.
Sự đồng thuận và chi tiết kỹ thuật
Một giao thức đồng thuận được thiết kế tốt sẽ cung cấp một số đảm bảo trong trường hợp vượt quá khả năng chịu đựng và sự đồng thuận không thành công. Điều này đặc biệt cần thiết trong nền kinh tế các hệ thống, nơi hành vi của Byzantine có thể có tác động tài chính đáng kể phần thưởng. Sự đảm bảo quan trọng nhất như vậy là một hình thức phân tách trách nhiệm, trong đó các quy trình tạo ra sự đồng thuận thất bại (tức là khiến các máy khách của giao thức chấp nhận các giá trị khác nhau - a nĩa) có thể bị xác định và trừng phạt theo quy định của giao thức, hoặc có thể là hệ thống pháp luật. Khi hệ thống pháp luật được không đáng tin cậy hoặc quá tốn kém để gọi, validators có thể buộc phải đặt cọc tiền bảo đảm để tham gia, và những tiền gửi có thể bị thu hồi hoặc bị cắt giảm khi có hành vi nguy hiểm đã phát hiện [10]. Lưu ý rằng điều này không giống như Bitcoin, trong đó việc phân nhánh là chuyện thường xuyên xảy ra do mạng không đồng bộ và tính chất xác suất của kết quả hash va chạm một phần. Vì trong nhiều trường hợp một fork độc hại có thể không thể phân biệt được với ngã ba do không đồng bộ, Bitcoin không thể thực hiện một cách đáng tin cậy trách nhiệm giải trình của ngã ba, ngoại trừ ngầm định chi phí cơ hội mà thợ mỏ phải trả khi khai thác một khối mồ côi. Chúng tôi gọi giai đoạn bỏ phiếu là PreVote và PreCommit. Một cuộc bỏ phiếu có thể dành cho một khối cụ thể hoặc cho Nil. Chúng tôi gọi một tập hợp >⅔ Phiếu bầu trước cho một khối trong cùng một vòng, một Polka và một bộ sưu tập >⅔ Cam kết trước cho một khối trong cùng một vòng Cam kết. Nếu >⅔ Cam kết trước cho Nil trong cùng một vòng, họ sẽ chuyển sang vòng tiếp theo tròn. Lưu ý rằng tính xác định nghiêm ngặt trong giao thức phát sinh một điểm yếu giả định đồng bộ là các nhà lãnh đạo bị lỗi phải được phát hiện và
bỏ qua. Vì vậy, validator hãy đợi một khoảng thời gian, Hết thời gianĐề xuất, trước khi họ bỏ phiếu trước cho con số không và giá trị của Thời gian chờĐề xuất tăng theo mỗi vòng. Tiến triển thông qua phần còn lại của vòng hoàn toàn không đồng bộ, trong tiến trình đó chỉ có được thực hiện khi validator nghe được từ >⅔ mạng. Trong thực tế, phải có một đối thủ cực kỳ mạnh mới có thể ngăn cản được giả định về tính đồng bộ yếu (làm cho sự đồng thuận không thành công) từng thực hiện một khối) và làm như vậy có thể còn được thực hiện nhiều hơn khó khăn bằng cách sử dụng các giá trị ngẫu nhiên của TimeoutPropose trên mỗi validator. Một tập hợp các ràng buộc bổ sung, hoặc Quy tắc khóa, đảm bảo rằng mạng cuối cùng sẽ chỉ cam kết một khối ở mỗi độ cao. bất kỳ nỗ lực ác ý nhằm thực hiện nhiều hơn một khối ở một độ cao nhất định có thể được xác định. Đầu tiên, PreCommit cho một khối phải đi kèm với sự biện minh, dưới dạng Polka cho khối đó. Nếu validator đã PreCommit một khối ở vòng R_1, chúng tôi nói rằng họ bị khóa ở khu nhà đó và Polka dùng để biện minh cho việc đó PreCommit mới ở vòng R_2 phải có trong vòng R_polka trong đó R_1 < R_polka <= R_2. Thứ hai, validators phải Đề xuất và/hoặc Bỏ phiếu trước cho khối mà họ đang bị khóa. Cùng với nhau, những điều này điều kiện đảm bảo rằng validator không PreCommit mà không có có đủ bằng chứng để biện minh và validator có PreCommit đã không thể đóng góp bằng chứng cho PreCommit một cái gì đó khác. Điều này đảm bảo cả sự an toàn và sự sống động của thuật toán đồng thuận. Các chi tiết đầy đủ của giao thức được mô tả ở đây. Nhu cầu đồng bộ hóa tất cả các tiêu đề khối bị loại bỏ trong TendermintPoS vì sự tồn tại của một chuỗi thay thế (một nhánh) có nghĩa là ≥⅓ của cổ phần ngoại quan có thể được cắt giảm. Tất nhiên, vì việc chém đòi hỏi rằng ai đó chia sẻ bằng chứng về một fork, light client nên lưu trữ bất kỳ khối-hash nào cam kết rằng nó nhìn thấy. Ngoài ra, các client nhẹcó thể được đồng bộ hóa định kỳ với các thay đổi đối với bộ validator, trong để tránh các cuộc tấn công tầm xa (nhưng các giải pháp khác có thể). Với tinh thần tương tự Ethereum, Tendermint cho phép các ứng dụng nhúng gốc Merkle toàn cầu hash vào mỗi khối, cho phép dễ dàng truy vấn trạng thái có thể kiểm chứng được về những thứ như số dư tài khoản, giá trị được lưu trữ trong hợp đồng hoặc sự tồn tại của một giao dịch chưa được chi tiêu đầu ra, tùy thuộc vào tính chất của ứng dụng. Giả sử một tập hợp các mạng phát sóng có đủ khả năng phục hồi và một bộ validator tĩnh, bất kỳ phân nhánh nào trong blockchain đều có thể bị phát hiện và số tiền gửi của validator vi phạm bị cắt giảm. Cái này sự đổi mới, được đề xuất lần đầu tiên bởi Vitalik Buterin vào đầu năm 2014, giải quyết vấn đề không có gì đáng lo ngại của proof-of-stake khác tiền điện tử (xem Công việc liên quan). Tuy nhiên, vì validator đặt phải có khả năng thay đổi, trong một khoảng thời gian dài, bản gốc validator đều có thể không được liên kết và do đó có thể tự do tạo một chuỗi mới từ khối gốc, không phát sinh chi phí như họ không còn tiền gửi bị khóa nữa. Cuộc tấn công này đã xảy ra được gọi là Tấn công tầm xa (LRA), trái ngược với Tấn công ngắn Tấn công tầm xa, trong đó validator hiện đang được liên kết gây ra fork và do đó có thể bị trừng phạt (giả sử một fork chịu trách nhiệm BFT thuật toán như sự đồng thuận của Tendermint). Tấn công tầm xa là thường được cho là đòn chí mạng đối với proof-of-stake. May mắn thay, LRA có thể được giảm nhẹ như sau. Đầu tiên, đối với một validator hủy trái phiếu (do đó lấy lại tiền ký quỹ của họ và không còn kiếm được phí để tham gia vào sự đồng thuận), tiền gửi phải được đặt ở mức không thể chuyển nhượng trong một khoảng thời gian được gọi là “thời kỳ không liên kết”, có thể theo thứ tự tuần hoặc tháng. Thứ hai, để một khách hàng hạng nhẹ được an toàn, lần đầu tiên khi kết nối với mạng, nó phải xác minh khối gần đây-hash chống lại một nguồn đáng tin cậy, hoặc tốt nhất là nhiều nguồn. Cái này
điều kiện đôi khi được coi là “tính chủ quan yếu”. Cuối cùng, để duy trì tính bảo mật, nó phải đồng bộ hóa với validator mới nhất được đặt tại ít nhất là thường xuyên như độ dài của thời kỳ không liên kết. Cái này đảm bảo rằng ứng dụng khách nhẹ biết về những thay đổi đối với validator được đặt trước validator có vốn không bị ràng buộc và do đó không còn đang bị đe dọa, điều này sẽ cho phép nó đánh lừa khách hàng bằng cách thực hiện một cuộc tấn công tầm xa bằng cách tạo các khối mới bắt đầu từ chiều cao nơi nó được liên kết (giả sử nó có đủ khả năng kiểm soát nhiều khóa riêng đầu tiên). Lưu ý rằng việc khắc phục LRA theo cách này đòi hỏi phải xem xét lại mô hình bảo mật ban đầu của proof-of-work. Trong PoW, đó là giả sử rằng một máy khách nhẹ có thể đồng bộ hóa với chiều cao hiện tại từ khối gốc đáng tin cậy bất cứ lúc nào chỉ bằng cách xử lý bằng chứng công việc trong mỗi tiêu đề khối. Tuy nhiên, để khắc phục LRA, chúng tôi yêu cầu một khách hàng nhỏ phải lên mạng thường xuyên để theo dõi các thay đổi trong bộ validator và lần đầu tiên chúng khi trực tuyến họ phải đặc biệt cẩn thận để xác thực những gì họ nghe được từ mạng so với các nguồn đáng tin cậy. của Tất nhiên, yêu cầu sau này tương tự như yêu cầu của Bitcoin, trong đó giao thức và phần mềm cũng phải được lấy từ một cơ quan đáng tin cậy nguồn. Phương pháp ngăn chặn LRA ở trên rất phù hợp với validators và các nút đầy đủ của blockchain được hỗ trợ bởi Tendermint vì những nút này các nút có nghĩa là vẫn được kết nối với mạng. các Phương pháp này cũng phù hợp với những khách hàng nhẹ nhàng có thể mong đợi đồng bộ với mạng thường xuyên. Tuy nhiên, đối với những khách hàng nhẹ thì dự kiến sẽ không có quyền truy cập thường xuyên vào internet hoặc các blockchain mạng, nhưng có thể sử dụng một giải pháp khác để khắc phục LRA. Những người không thuộc validator token chủ sở hữu có thể đăng token của họ dưới dạng tài sản thế chấp có thời hạn không ràng buộc rất dài (ví dụ: dài hơn nhiều hơn khoảng thời gian không liên kết trong validator giây) và phục vụ các khách hàng nhẹ bằng phương pháp thứ cấp để chứng thực tính hợp lệ của thông tin hiện hành và khối quá khứ-hashes. Mặc dù những token này không được tính vào bảo mật cho sự đồng thuận của blockchain, tuy nhiên họ có thểcung cấp sự đảm bảo mạnh mẽ cho các khách hàng nhẹ. Nếu khối lịch sử-hash truy vấn được hỗ trợ trong Ethereum, bất kỳ ai cũng có thể liên kết token trong smart contract được thiết kế đặc biệt và cung cấp dịch vụ chứng thực được trả tiền, tạo ra một thị trường hiệu quả cho bảo mật LRA của khách hàng nhẹ. Do sự từ chối của cam kết khối, bất kỳ liên minh ≥⅓ nào của quyền biểu quyết có thể tạm dừng blockchain bằng cách tắt zine hoặc không phát sóng phiếu bầu của họ. Một liên minh như vậy cũng có thể kiểm duyệt các giao dịch cụ thể bằng cách từ chối các khối bao gồm những giao dịch này giao dịch, mặc dù điều này sẽ dẫn đến một tỷ lệ đáng kể số đề xuất chặn bị từ chối, điều này sẽ làm chậm tốc độ cam kết khối của blockchain, làm giảm tiện ích và giá trị của nó. Liên minh độc hại cũng có thể phát tán phiếu bầu một cách nhỏ giọt nên để nghiền nát khối blockchain cam kết gần như dừng lại hoặc tham gia vào bất kỳ sự kết hợp nào của các cuộc tấn công này. Cuối cùng, nó có thể gây ra blockchain phân nhánh, bằng cách ký hai lần hoặc vi phạm khóa quy luật. Nếu một đối thủ hoạt động toàn cầu cũng tham gia, nó có thể phân chia mạng theo cách mà có thể có vẻ như sai tập hợp con validator là nguyên nhân gây ra tình trạng chậm lại. Đây không phải là chỉ là một hạn chế của Tendermint, mà đúng hơn là một hạn chế của tất cả các giao thức đồng thuận có mạng lưới có khả năng được kiểm soát bởi một đối thủ tích cực. Đối với những kiểu tấn công này, một tập hợp con của validator sẽ phối hợp thông qua các phương tiện bên ngoài để ký một đề xuất tái tổ chức chọn một ngã ba (và bất kỳ bằng chứng nào về nó) và tập hợp con ban đầu của validator có chữ ký của họ. Những người xác thực ký một đề xuất tái tổ chức như vậy sẽ từ bỏ tài sản thế chấp của họ trên tất cả các nhánh khác. Khách hàng nên xác minh các chữ ký trong đề xuất tái tổ chức, xác minh mọi bằng chứng, và đưa ra phán quyết hoặc nhắc nhở người dùng cuối đưa ra quyết định. cho Ví dụ: ứng dụng ví điện thoại có thể nhắc người dùng về bảo mật
cảnh báo, trong khi tủ lạnh có thể chấp nhận bất kỳ đề xuất tái tổ chức nào được ký bởi +½ trong số validator ban đầu theo quyền biểu quyết. Không có thuật toán chịu lỗi Byzantine không đồng bộ nào có thể xảy ra đạt được sự đồng thuận khi ≥⅓ quyền biểu quyết là không trung thực, nhưng vẫn có một fork giả định rằng ≥⅓ quyền biểu quyết đã không trung thực bởi ký hai lần hoặc thay đổi khóa mà không có lý do chính đáng. Vì vậy, việc ký kết đề xuất tái tổ chức là một vấn đề phối hợp không thể giải quyết được được giải quyết bằng bất kỳ giao thức không đồng bộ nào (tức là tự động và mà không đưa ra giả định về độ tin cậy của mạng cơ bản). Hiện tại, chúng tôi để vấn đề phối hợp đề xuất tổ chức lại cho sự phối hợp của con người thông qua sự đồng thuận xã hội. trên phương tiện truyền thông internet. Người xác nhận phải cẩn thận để đảm bảo rằng có không có phân vùng mạng nào còn lại trước khi ký một đề xuất tái tổ chức, để tránh tình huống hai đề xuất tái tổ chức xung đột được ký kết. Giả sử rằng phương tiện và giao thức phối hợp bên ngoài là mạnh mẽ, theo đó việc phân nhánh ít được quan tâm hơn việc kiểm duyệt các cuộc tấn công. Ngoài fork và kiểm duyệt, yêu cầu ≥⅓ Byzantine quyền biểu quyết, một liên minh có >⅔ quyền biểu quyết có thể vi phạm trạng thái tùy ý, không hợp lệ. Đây là đặc điểm của bất kỳ (BFT) nào hệ thống đồng thuận. Không giống như ký kép, tạo ra các nhánh với bằng chứng dễ dàng xác minh, phát hiện sự cam kết của một trạng thái không hợp lệ yêu cầu các đồng nghiệp không xác thực phải xác minh toàn bộ khối, ngụ ý rằng họ giữ một bản sao cục bộ của trạng thái và thực thi mỗi giao dịch, tính toán gốc trạng thái một cách độc lập cho chính họ. Một khi đã được phát hiện, cách duy nhất để xử lý lỗi đó là là thông qua sự đồng thuận xã hội. Ví dụ: trong các tình huống Bitcoin đã thất bại, cho dù việc phân nhánh do lỗi phần mềm (như vào tháng 3 2013), hoặc phạm phải trạng thái không hợp lệ do hành vi của Byzantine thợ mỏ (như vào tháng 7 năm 2015), cộng đồng được kết nối tốt của doanh nghiệp, nhà phát triển, thợ mỏ và các tổ chức khác đã thiết lập sự đồng thuận xã hội về những hành động thủ công nào được thực hiệnđược yêu cầu bởi những người tham gia để chữa lành mạng. Hơn nữa, kể từ khi validators của Tendermint blockchain có thể được mong đợi có thể xác định được, cam kết của một trạng thái không hợp lệ thậm chí có thể có thể bị trừng phạt bởi luật pháp hoặc một số luật lệ bên ngoài, nếu muốn. ABCI bao gồm 3 loại tin nhắn chính được gửi từ cốt lõi của ứng dụng. Ứng dụng trả lời bằng tin nhắn phản hồi tương ứng. Thông báo AppendTx là công cụ chính của ứng dụng. Mỗi giao dịch trong blockchain được gửi cùng với thông báo này. các ứng dụng cần xác thực từng giao dịch nhận được bằng Thông báo AppendTx dựa vào trạng thái hiện tại, giao thức ứng dụng, và thông tin xác thực mật mã của giao dịch. Đã được xác thực giao dịch sau đó cần cập nhật trạng thái ứng dụng - bằng cách liên kết một giá trị vào kho lưu trữ giá trị khóa hoặc bằng cách cập nhật UTXO cơ sở dữ liệu. Thông báo CheckTx tương tự như AppendTx nhưng chỉ dành cho xác thực các giao dịch. Lần kiểm tra mempool đầu tiên của Tendermint Core tính hợp lệ của giao dịch với CheckTx và chỉ chuyển tiếp hợp lệ giao dịch với các đồng nghiệp của nó. Các ứng dụng có thể kiểm tra mức tăng dần nonce trong giao dịch và trả về lỗi khi CheckTx nếu nonce đã cũ. Thông báo Cam kết được dùng để tính toán mật mã cam kết với trạng thái ứng dụng hiện tại, được đưa vào tiêu đề khối tiếp theo. Điều này có một số thuộc tính tiện dụng. Sự không nhất quán trong việc cập nhật trạng thái đó bây giờ sẽ xuất hiện dưới dạng blockchain nhánh giúp nắm bắt cả lớp lập trình lỗi. Điều này cũng đơn giản hóa sự phát triển của an toàn nhẹ khách hàng, vì bằng chứng Merkle-hash có thể được xác minh bằng cách kiểm tra khối-hash và khối-hash được ký bởi số đại biểu validators (theo quyền biểu quyết).
Thông báo ABCI bổ sung cho phép ứng dụng theo dõi và thay đổi bộ validator và để ứng dụng nhận được chặn thông tin, chẳng hạn như chiều cao và phiếu bầu cam kết. ABCI yêu cầu/phản hồi là các tin nhắn Protobuf đơn giản. Kiểm tra ra lược đồ yle. Lập luận: Dữ liệu ([]byte): Các byte giao dịch yêu cầu Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Byte kết quả, nếu có Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Nối và chạy một giao dịch. Nếu giao dịch hợp lệ, trả về CodeType.OK Lập luận: Dữ liệu ([]byte): Các byte giao dịch yêu cầu Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Byte kết quả, nếu có Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Xác thực một giao dịch. Thông báo này không được làm thay đổi trạng thái. Giao dịch lần đầu tiên được thực hiện thông qua CheckTx trước phát sóng tới các đồng nghiệp trong lớp mempool. Bạn có thể làm CheckTx bán trạng thái và xóa trạng thái khi Cam kết hoặc BeginBlock , để cho phép các chuỗi giao dịch phụ thuộc trong cùng một khối.
Trả về: Dữ liệu ([]byte): Gốc Merkle hash Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Trả về gốc Merkle hash của trạng thái ứng dụng. Lập luận: Dữ liệu ([]byte): Các byte yêu cầu truy vấn Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Các byte phản hồi truy vấn Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Xóa hàng đợi phản hồi. Các ứng dụng thực hiện loại. Ứng dụng không cần triển khai thông báo này - đó là do dự án xử lý. Trả về: Dữ liệu ([]byte): Các byte thông tin Cách sử dụng:
Trả về thông tin về trạng thái ứng dụng. ứng dụng cụ thể. Lập luận: Khóa (chuỗi): Khóa để đặt
Giá trị (chuỗi): Giá trị cần đặt cho khóa Trả về: Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Đặt tùy chọn ứng dụng. Ví dụ. Key=“mode”, Value=“mempool” cho kết nối mempool hoặc Key=“mode”, Value=“consensus” cho một kết nối đồng thuận. Các tùy chọn khác là ứng dụng cụ thể. Lập luận: Trình xác thực ([]Trình xác thực): Nguồn gốc ban đầu-validators Cách sử dụng:
Được gọi một lần khi có nguồn gốc Lập luận: Chiều cao (uint64): Chiều cao khối bắt đầu Cách sử dụng:
Báo hiệu sự bắt đầu của một khối mới. Được gọi trước bất kỳ Nối thêm Tx. Lập luận: Chiều cao (uint64): Chiều cao khối kết thúc Trả về: Trình xác thực ([]Trình xác thực): Đã thay đổi validator bằng mới quyền biểu quyết (0 để loại bỏ) Cách sử dụng:
Báo hiệu sự kết thúc của một khối. Được gọi trước mỗi lần Commit giao dịch Xem kho lưu trữ ABCI để biết thêm chi tiết.Có một số lý do tại sao người gửi có thể muốn xác nhận việc gửi gói tin của chuỗi nhận. Ví dụ, người gửi có thể không biết trạng thái của chuỗi đích nếu nó được cho là có lỗi. Hoặc người gửi có thể muốn áp đặt thời gian chờ cho gói (với MaxHeight gói tin), trong khi bất kỳ chuỗi đích nào cũng có thể bị tấn công từ chối dịch vụ với sự gia tăng đột ngột về số lượng gói tin đến. gói. Trong những trường hợp này, người gửi có thể yêu cầu xác nhận việc gửi bằng cách đặt trạng thái gói ban đầu thành Đang chờ xử lý . Sau đó, nó là trách nhiệm của chuỗi nhận hàng trong việc đồng ý giao hàng bằng cách bao gồm một viết tắt IBCPacket trong ứng dụng Merkle hash. Đầu tiên, _IBCBlockCommit và IBCPacketTx được đăng trên “Hub” điều đó chứng tỏ sự tồn tại của _IBCGói trên “Vùng 1”. Nói thế IBCPacketTx có giá trị sau: FromChainID : “Khu vực1” FromBlockHeight : 100 (nói) Gói: một IBCGói:
Tiêu đề : một IBCPacketHeader :
SrcChainID: “Vùng 1”
DstChainID : “Khu vực2”
Số: 200 (giả sử)
Trạng thái: Đang chờ xử lý
Loại: “đồng xu”
MaxHeight : 350 (giả sử “Hub” hiện ở độ cao 300)
Tải trọng:
Tiếp theo, _IBCBlockCommit và IBCPacketTx được đăng trên “Zone2”
điều đó chứng tỏ sự tồn tại của _IBCGói trên “Hub”. Nói thế
IBCPacketTx có giá trị sau:
FromChainID : “Trung tâm”
TừBlockHeight : 300
Gói: một IBCGói:
Tiêu đề : một IBCPacketHeader :
SrcChainID: “Vùng 1”
DstChainID : “Khu vực2”
Số lượng: 200
Trạng thái: Đang chờ xử lý
Loại: “đồng xu”
Chiều cao tối đa: 350
Tải trọng:
FromBlockHeight : 400 (giả sử)
Gói: một IBCGói:
Tiêu đề : một IBCPacketHeader :
SrcChainID: “Vùng 1”
DstChainID : “Khu vực2”
Số lượng: 200
Trạng thái: Đã xác nhận
Loại: “đồng xu”
Chiều cao tối đa: 350
PayloadHash :
trạng thái từ “Zone2” theo khối 350, nó sẽ đặt trạng thái tự động chuyển sang Hết giờ . Bằng chứng về thời gian chờ này có thể nhận được được đăng lại trên “Zone1” và mọi tokens đều có thể được trả lại. Có hai loại Merkle tree được hỗ trợ trong Hệ sinh thái Tendermint/Cosmos: Cây đơn giản và IAVL+ Cây. Cây đơn giản là Merkle tree cho danh sách các phần tử tĩnh. Nếu số lượng vật phẩm không phải là lũy thừa của hai, một số lá sẽ ở mức mức độ khác nhau. Cây đơn giản cố gắng giữ cả hai mặt của cây cùng chiều cao nhưng bên trái có thể lớn hơn một đơn vị. Merkle tree này là được sử dụng để Merkle-ize các giao dịch của một khối và mức cao nhất các phần tử của trạng thái gốc của ứng dụng.Mục đích của cấu trúc dữ liệu IAVL+ là cung cấp khả năng liên tục lưu trữ các cặp khóa-giá trị ở trạng thái ứng dụng sao cho Căn cứ Merkle xác định hash có thể được tính toán một cách hiệu quả. các cây được cân bằng bằng cách sử dụng một biến thể của thuật toán AVL và tất cả hoạt động là O(log(n)). Trong cây AVL, chiều cao của hai cây con con của bất kỳ nút nào khác nhau nhiều nhất là một. Bất cứ khi nào điều kiện này bị vi phạm cập nhật, cây được cân bằng lại bằng cách tạo các nút mới O(log(n)) trỏ đến các nút chưa được sửa đổi của cây cũ. Trong AVL gốc thuật toán, các nút bên trong cũng có thể chứa các cặp khóa-giá trị. AVL+ thuật toán (lưu ý dấu cộng) sửa đổi thuật toán AVL để giữ tất cả giá trị trên các nút lá, trong khi chỉ sử dụng các nút nhánh để lưu trữ khóa. Điều này giúp đơn giản hóa thuật toán trong khi vẫn giữ dấu vết hash ngắn. Cây AVL+ tương tự như nỗ lực của Patricia của Ethereum. có sự đánh đổi. Khóa không cần phải hashed trước khi chèn vào Cây IAVL+, do đó, điều này mang lại phép lặp có thứ tự nhanh hơn trong khóa không gian có thể mang lại lợi ích cho một số ứng dụng. Logic đơn giản hơn để thực hiện, chỉ yêu cầu hai loại nút – các nút bên trong và các nút lá. Bằng chứng Merkle trung bình ngắn hơn, là một * / \ / \ / \ / \ * * / \ //\ / \ / \ / \ // \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 Một SimpleTree có 7 phần tử
cây nhị phân cân bằng. Mặt khác, gốc Merkle của một Cây IAVL+ phụ thuộc vào thứ tự cập nhật. Chúng tôi sẽ hỗ trợ thêm Merkle trees hiệu quả, chẳng hạn như Ethereum Patricia Trie khi biến thể nhị phân trở thành có sẵn. Trong quá trình triển khai chuẩn, các giao dịch được truyền trực tiếp đến Ứng dụng trung tâm Cosmos qua giao diện ABCI. Trung tâm Cosmos sẽ chấp nhận một số giao dịch chính các loại, bao gồm SendTx , BondTx , UnbondTx , ReportHackTx , SlashTx , BurnAtomTx , ProposalCreateTx và ProposalVoteTx , khá dễ hiểu và sẽ được ghi lại trong một sửa đổi trong tương lai của bài viết này. Ở đây chúng tôi ghi lại hai vấn đề chính loại giao dịch cho IBC: IBCBlockCommitTx và IBCPacketTx . Giao dịch IBCBlockCommitTx bao gồm: ChainID (chuỗi): ID của blockchain BlockHash ([]byte): Các byte block-hash, gốc Merkle bao gồm ứng dụng-hash BlockPartsHeader (PartSetHeader): Tiêu đề tập hợp phần khối byte, chỉ cần thiết để xác minh chữ ký biểu quyết BlockHeight (int): Chiều cao của cam kết BlockRound (int) : Vòng cam kết Cam kết ([]Bỏ phiếu) : >⅔ Phiếu cam kết trước Tendermint rằng bao gồm một cam kết khối Trình xác thựcHash ([]byte): Gốc cây Merkle hash của cái mới validator đã đặt
Trình xác thựcHashProof (SimpleProof): Bằng chứng Merkleproof của SimpleTree để chứng minh Trình xác thựcHash so với BlockHash
AppHash ([]byte): Gốc cây Merkle IAVLtree hash của
trạng thái ứng dụng
AppHashProof (SimpleProof): Bằng chứng Merkle SimpleTree dành cho
chứng minh AppHash chống lại BlockHash
Một _IBCGói bao gồm:
Tiêu đề (IBCPacketHeader): Tiêu đề gói
Tải trọng ([]byte): Các byte của tải trọng gói. Tùy chọn
PayloadHash ([]byte) : hash cho byte của gói.
Tùy chọn
Phải có một trong Payload hoặc PayloadHash . hash
của IBCGói là gốc Merkle đơn giản của hai mục, Tiêu đề
và Tải trọng . Một _IBCGói không có tải trọng đầy đủ được gọi là
gói rút gọn.
Một _IBCPacketHeader bao gồm:
SrcChainID (chuỗi) : ID nguồn blockchain
DstChainID (chuỗi): ID đích blockchain
Số (int): Một số duy nhất cho tất cả các gói
Trạng thái (enum): Có thể là một trong số AckPending , AckSent ,
Đã nhận, Không cóAck hoặc Hết thời gian chờ
Loại (chuỗi) : Các loại phụ thuộc vào ứng dụng. Cosmos
dự trữ loại gói "đồng xu"
MaxHeight (int) : Nếu trạng thái không phải là NoAckWanted hoặc AckReceived
ở độ cao này, trạng thái sẽ trở thành Timeout . Tùy chọn
Giao dịch IBCPacketTx bao gồm:FromChainID (string) : ID của blockchain là
cung cấp gói này; không nhất thiết phải là nguồn
FromBlockHeight (int) : Chiều cao blockchain trong đó
gói sau được bao gồm (Merkle-ized) trong khối-hash của
chuỗi nguồn
Gói (IBCPacket): Một gói dữ liệu có trạng thái có thể là một
trong số AckPending , AckSent , AckReceived , NoAck hoặc Timeout
PacketProof (IAVLProof): Bằng chứng Merkle IAVLTree để chứng minh
hash của gói đối với AppHash của chuỗi nguồn tại
chiều cao nhất định
Trình tự gửi gói tin từ “Zone1” đến “Zone2”
thông qua "Hub" được mô tả trong {Hình X}. Đầu tiên, _IBCPacketTx
chứng minh cho "Hub" rằng gói được đưa vào trạng thái ứng dụng của
“Khu 1”. Sau đó, _IBCPacketTx khác chứng minh cho “Zone2” rằng
gói được bao gồm trong trạng thái ứng dụng của “Hub”. Trong thời gian này
quy trình, các trường IBCPacket giống hệt nhau: SrcChainID là
luôn là “Zone1” và DstChainID luôn là "Zone2".
PacketProof phải có đường dẫn chống Merkle chính xác, vì
sau:
Khi “Zone1” muốn gửi gói đến “Zone2” thông qua “Hub”,
dữ liệu _IBCGói giống hệt nhau cho dù gói được Merkleized trên “Zone1”, “Hub” hay “Zone2”. Yeld có thể thay đổi duy nhất là
Trạng thái theo dõi quá trình phân phối.
Chúng tôi xin cảm ơn bạn bè và đồng nghiệp đã hỗ trợ trong việc hình thành ý tưởng,
xem xét và cung cấp hỗ trợ cho công việc của chúng tôi với Tendermint
và Cosmos.
IBC/
Zaki Manian của SkuChain đã cung cấp nhiều trợ giúp về định dạng và cách diễn đạt, đặc biệt là trong phần ABCI Jehan Tremback của Althea và Dustin Byington đã giúp đỡ lần lặp ban đầu Andrew Miller của Honey Badger đã đưa ra phản hồi về sự đồng thuận Greg Slepak đã đưa ra phản hồi về sự đồng thuận và cách diễn đạt Cũng xin cảm ơn Bill Gleim và Seunghwan Han vì nhiều đóng góp. Tên và tổ chức của bạn ở đây để đóng góp 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Nhân chứng tách biệt: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Mạng Lightning: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 Cây bạc hà dịu dàng: https://github.com/tendermint/tendermint/wiki 9 FLP Không thể thực hiện được: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Kẻ Chém: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 lượt chia sẻ bit: https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Sổ cái xen kẽ: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 chuỗi bên: https://blockstream.com/sidechains.pdf 16 Casper: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Phân mảnh: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysisOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 Bảo mật máy khách mỏng: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Giấy màu hoa cà: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
¥ è
الإجماع والتفاصيل الفنية
ينبغي لبروتوكول الإجماع المصمم جيدًا أن يوفر بعضًا من ذلك الضمانات في حالة تجاوز قدرة التسامح ويفشل الإجماع. وهذا ضروري بشكل خاص في المجال الاقتصادي الأنظمة، حيث يمكن أن يكون للسلوك البيزنطي قدر كبير من المال مكافأة. وأهم هذه الضمانات هو شكل من أشكال المساءلة، حيث تتم العمليات التي تسببت في الإجماع الفشل (أي جعل عملاء البروتوكول يقبلون قيمًا مختلفة - أ fork) يمكن تحديد هويته ومعاقبته وفقًا لقواعد البروتوكول، أو ربما النظام القانوني. عندما يكون النظام القانوني يمكن أن يكون استدعاء validators غير موثوق به أو باهظ التكلفة اضطروا إلى تقديم ودائع ضمان من أجل المشاركة، وهؤلاء يمكن إلغاء الودائع أو تخفيضها عند حدوث سلوك ضار تم اكتشاف [10]. لاحظ أن هذا يختلف عن Bitcoin، حيث يكون التفرع حدثًا منتظمًا بسبب عدم تزامن الشبكة والطبيعة الاحتمالية للنهاية الاصطدامات الجزئية hash. نظرًا لأنه في كثير من الحالات يكون هناك شوكة ضارة لا يمكن تمييزه عن الشوكة بسبب عدم التزامن، Bitcoin لا يمكن تنفيذ مسؤولية الشوكة بشكل موثوق، بخلاف الضمنية تكلفة الفرصة البديلة التي يدفعها عمال المناجم لتعدين كتلة معزولة. نحن نطلق على مرحلتي التصويت PreVote وPreCommit. يمكن التصويت ل كتلة معينة أو لا شيء. نحن نطلق على مجموعة من >⅔ الأصوات المسبقة لكتلة واحدة في نفس الجولة رقصة البولكا، ومجموعة من >⅔ الالتزام المسبق لكتلة واحدة في نفس جولة الالتزام. إذا> ⅔ الالتزام المسبق لـ Nil في نفس الجولة، ينتقلون إلى الجولة التالية جولة. لاحظ أن الحتمية الصارمة في البروتوكول تنطوي على ضعف يجب اكتشاف افتراض التزامن كقادة خاطئين
تم تخطيه. ومن ثم، ينتظر validators بعض الوقت، TimeoutPropose، قبل أن يصوتوا على Nil، وقيمة TimeoutPropose يزيد مع كل جولة. التقدم من خلال بقية الجولة غير متزامنة تمامًا، في هذا التقدم فقط يتم إجراؤه بمجرد سماع validator من >⅔ الشبكة. في الممارسة العملية، سوف يتطلب الأمر وجود خصم قوي للغاية لإحباطه إلى أجل غير مسمى افتراض التزامن الضعيف (مما يتسبب في فشل الإجماع من أي وقت مضى ارتكاب كتلة)، والقيام بذلك يمكن أن يتم أكثر من ذلك من الصعب استخدام القيم العشوائية لـ TimeoutPropose في كل منها validator. هناك مجموعة إضافية من القيود، أو قواعد القفل، تضمن أن ستلتزم الشبكة في النهاية بكتلة واحدة فقط عند كل ارتفاع. أي محاولة خبيثة للتسبب في ارتكاب أكثر من كتلة واحدة على ارتفاع معين يمكن تحديدها. أولاً، الالتزام المسبق للكتلة يجب أن يأتي مع مبرر، في شكل رقصة البولكا لتلك الكتلة. إذا كان validator قد قام بالفعل بتنفيذ كتلة في الجولة R_1، فإننا ويقول أنهم مقفلون على تلك الكتلة، ويستخدم رقصة البولكا لتبرير يجب أن يأتي الالتزام المسبق الجديد في الجولة R_2 في جولة R_polka حيث R_1 < R_polka <= R_2. ثانيًا، يجب أن يقترح validators و/أو قم بالتصويت المسبق على الكتلة التي تم قفلها عليها. معا، هؤلاء تضمن الشروط أن validator لا يتم الالتزام المسبق بدونه أدلة كافية لتبرير ذلك، وأن validators التي لديها بالفعل لا يمكن لـ PreCommit المساهمة في الأدلة المقدمة إلى PreCommit شيء آخر. وهذا يضمن سلامة وحيوية الجسم خوارزمية الإجماع. يتم وصف التفاصيل الكاملة للبروتوكول هنا. يتم التخلص من الحاجة إلى مزامنة جميع رؤوس الكتل في TendermintPoS حيث أن وجود سلسلة بديلة (شوكة) يعني ≥⅓ من يمكن خفض الحصة المستعبدة. بالطبع، لأن القطع يتطلب أن يشارك شخص ما دليلاً على الشوكة، يجب على العملاء الخفيفين تخزينها أي كتلة-hash ترتكب ما تراه. بالإضافة إلى العملاء الخفيفينيمكن أن تظل متزامنة بشكل دوري مع التغييرات التي يتم إجراؤها على مجموعة validator، في لتجنب الهجمات بعيدة المدى (ولكن الحلول الأخرى هي ممكن). بروح مشابهة لـ Ethereum، يتيح Tendermint للتطبيقات القيام بذلك قم بتضمين جذر Merkle العالمي hash في كل كتلة، مما يسمح بذلك بسهولة استعلامات حالة يمكن التحقق منها لأشياء مثل أرصدة الحسابات، والقيمة المخزنة في العقد، أو وجود معاملة غير منفقة الإخراج، اعتمادا على طبيعة التطبيق. بافتراض وجود مجموعة مرنة بما فيه الكفاية من شبكات البث ومجموعة validator ثابتة، أي شوكة في blockchain يمكن أن تكون تم اكتشافها وخفض رواسب validators المخالفة. هذا الابتكار، الذي اقترحه فيتاليك بوتيرين لأول مرة في أوائل عام 2014، يحل المشكلة مشكلة عدم وجود شيء على المحك للآخرين proof-of-stake العملات المشفرة (انظر الأعمال ذات الصلة). ومع ذلك، منذ validator مجموعات يجب أن تكون قادرة على تغيير الأصل، على مدى فترة طويلة من الزمن قد يصبح جميع validators غير مقيدين، وبالتالي سيكونون أحرارًا في ذلك إنشاء سلسلة جديدة من كتلة التكوين، دون تحمل أي تكلفة لم يعد لديهم ودائع مقفلة. وجاء هذا الهجوم ليكون المعروف باسم الهجوم بعيد المدى (LRA)، على عكس الهجوم القصير هجوم النطاق، حيث يتسبب validators المرتبطين حاليًا في حدوث أ شوكة ومن ثم يعاقب عليها (بافتراض وجود شوكة مسؤولة BFT خوارزمية مثل إجماع Tendermint). الهجمات بعيدة المدى هي غالبًا ما يُعتقد أنها بمثابة ضربة حاسمة لـ proof-of-stake. ولحسن الحظ، يمكن التخفيف من حدة جيش الرب للمقاومة على النحو التالي. أولا بالنسبة ل validator لإلغاء الارتباط (وبالتالي استرداد وديعة الضمان الخاصة بهم ولم يعد يكسب رسوم المشاركة في الإجماع). يجب أن تكون الوديعة غير قابلة للتحويل لفترة من الوقت المعروفة باسم "فترة التفكيك"، والتي قد تكون في حدود أسابيع أو أشهر. ثانيًا، لكي يكون العميل الخفيف آمنًا، الأول عند اتصاله بالشبكة، يجب عليه التحقق من الحظر الأخير-hash ضد مصدر موثوق به، أو يفضل عدة مصادر. هذا
يُشار إلى الحالة أحيانًا باسم "الذاتية الضعيفة". وأخيرا، لكي يظل آمنًا، يجب أن تتم مزامنته مع أحدث validator المعين في على الأقل بشكل متكرر مثل طول فترة فك الارتباط. هذا يضمن أن العميل الخفيف يعرف التغييرات التي تم إجراؤها على validator تم تعيينه قبل validator وقد تم إلغاء رأس ماله وبالتالي لم يعد كذلك على المحك، مما يسمح لها بخداع العميل بتنفيذها هجوم بعيد المدى عن طريق إنشاء كتل جديدة تبدأ من مرة أخرى الارتفاع حيث تم ربطه (بافتراض أنه يتحكم بشكل كافٍ العديد من المفاتيح الخاصة المبكرة). لاحظ أن التغلب على جيش الرب للمقاومة بهذه الطريقة يتطلب إصلاحًا شاملاً نموذج الأمان الأصلي لـ proof-of-work. في إثبات العمل، هو كذلك من المفترض أن العميل الخفيف يمكنه المزامنة مع الارتفاع الحالي من كتلة التكوين الموثوق بها في أي وقت ببساطة عن طريق معالجة إثبات العمل في كل رأس كتلة. ولكن للتغلب على جيش الرب للمقاومة، علينا تتطلب أن يأتي العميل الخفيف عبر الإنترنت مع بعض الانتظام تتبع التغييرات في مجموعة validator، وذلك في المرة الأولى التي يتم فيها ذلك متصلين بالإنترنت ويجب عليهم أن يكونوا حريصين بشكل خاص على المصادقة ما يسمعونه من الشبكة ضد مصادر موثوقة. من بالطبع، هذا المتطلب الأخير مشابه لمتطلب Bitcoin، حيث ويجب أيضًا الحصول على البروتوكول والبرمجيات من جهة موثوقة المصدر. الطريقة المذكورة أعلاه لمنع جيش الرب للمقاومة مناسبة تمامًا لـ validators والعقد الكاملة لـ blockchain التي تعمل بنظام Tendermint لأن هذه من المفترض أن تظل العقد متصلة بالشبكة. ال الطريقة مناسبة أيضًا للعملاء الخفيفين الذين يمكن توقعهم المزامنة مع الشبكة بشكل متكرر. ومع ذلك، بالنسبة للعملاء الخفيفين ليس من المتوقع أن يكون لديك إمكانية الوصول المتكرر إلى الإنترنت أو blockchain الشبكة، ولكن يمكن استخدام حل آخر للتغلب عليها جيش الرب للمقاومة. يمكن لحاملي غير validator token نشر tokens باسمهم الضمانات ذات فترة فك الارتباط طويلة جدًا (على سبيل المثال، أطول بكثير من فترة إلغاء الارتباط لـ validators) وخدمة العملاء الخفيفين مع طريقة ثانوية لإثبات صحة التيار و الكتلة الماضية-hashes. في حين أن هذه tokens لا يتم احتسابها ضمن أمان إجماع blockchain، ومع ذلك يمكنهم ذلكتقديم ضمانات قوية للعملاء الخفيفين. إذا كانت الكتلة التاريخية-hash تم دعم الاستعلام في Ethereum، ويمكن لأي شخص ربطه tokens في smart contract المصممة خصيصًا وتقديمها خدمات التصديق مقابل الأجر، مما يؤدي بشكل فعال إلى إنشاء سوق لأمن LRA من عملاء Lightclient. نظرًا لتعريف التزام الكتلة، فإن أي ≥⅓ تحالف من يمكن لقوة التصويت أن توقف blockchain بالذهاب إلى الخارج أم لا بث أصواتهم يمكن لمثل هذا التحالف أيضًا فرض الرقابة معاملات معينة عن طريق رفض الكتل التي تتضمن هذه المعاملات المعاملات، على الرغم من أن هذا من شأنه أن يؤدي إلى نسبة كبيرة من مقترحات الكتلة التي سيتم رفضها، الأمر الذي من شأنه أن يبطئ المعدل من عمليات تنفيذ الحظر لـ blockchain، مما يقلل من فائدته وقيمته. قد يقوم التحالف الخبيث أيضًا ببث الأصوات بشكل متقطع كما أن طحن كتلة blockchain تلتزم بالتوقف القريب أو الانخراط أي مزيج من هذه الهجمات. وأخيرا، يمكن أن يسبب blockchain إلى الشوكة، بالتوقيع المزدوج أو انتهاك القفل القواعد. وإذا شارك أيضًا خصم نشط عالميًا، فيمكنه التقسيم الشبكة بطريقة قد تبدو خاطئة كانت مجموعة فرعية من validators مسؤولة عن التباطؤ. هذا ليس كذلك مجرد قيود على Tendermint، بل هي قيود على الجميع بروتوكولات الإجماع التي من المحتمل أن يتم التحكم في شبكتها بواسطة الخصم النشط. بالنسبة لهذه الأنواع من الهجمات، ينبغي لمجموعة فرعية من validators التنسيق من خلال وسائل خارجية للتوقيع على مقترح إعادة التنظيم يختار شوكة (وأي دليل على ذلك) والمجموعة الفرعية الأولية من validators مع توقيعاتهم. يتخلى المصادقون الذين يوقعون على مقترح إعادة التنظيم هذا عن ضماناتهم على جميع الشوكات الأخرى. يجب على العملاء التحقق من التوقيعات على مقترح إعادة التنظيم، والتحقق من أي دليل، وإصدار حكم أو مطالبة المستخدم النهائي باتخاذ قرار. ل على سبيل المثال، قد يطلب تطبيق محفظة الهاتف من المستخدم توفير الأمان
تحذير، في حين أن الثلاجة قد تقبل أي اقتراح لإعادة التنظيم موقعة من +½ من أصل validators بقوة التصويت. لا يمكن أن تأتي خوارزمية بيزنطية غير متزامنة متسامحة مع الأخطاء إلى الإجماع عندما يكون ≥⅓ من قوة التصويت غير شريفة، ومع ذلك فهو شوكة يفترض أن ≥⅓ من قوة التصويت كانت غير شريفة بالفعل التوقيع المزدوج أو تغيير القفل دون مبرر. لذلك، التوقيع إن اقتراح إعادة التنظيم يمثل مشكلة تنسيق لا يمكن حلها يتم حلها بواسطة أي بروتوكول غير متزامن (أي تلقائيًا، و دون وضع افتراضات حول موثوقية الشبكة الأساسية). في الوقت الحالي، نترك مشكلة تنسيق إعادة التنظيم للتنسيق البشري من خلال الإجماع الاجتماعي على وسائل الإعلام عبر الإنترنت. يجب على المصادقين الحرص على التأكد من ذلك لا توجد أقسام شبكة متبقية قبل التوقيع على اقتراح إعادة التنظيم، لتجنب المواقف التي يتم فيها التوقيع على اقتراحين متعارضين لإعادة التنظيم. على افتراض أن وسيلة التنسيق الخارجي والبروتوكول قوية، ويترتب على ذلك أن الشوكات أقل إثارة للقلق من الرقابة الهجمات. بالإضافة إلى الشوكة والرقابة التي تتطلب ≥⅓ البيزنطية قوة التصويت، قد يلتزم ائتلاف من >⅔ قوة التصويت حالة تعسفية وغير صالحة. وهذه هي سمة أي (BFT) نظام الإجماع. على عكس التوقيع المزدوج الذي يخلق الشوكات بأدلة يمكن التحقق منها بسهولة، والكشف عن ارتكاب جريمة ما تتطلب الحالة غير الصالحة أن يقوم أقران لم يتم التحقق من صحتهم بالتحقق من الكتل بأكملها، مما يعني أنهم يحتفظون بنسخة محلية من الدولة وينفذونها كل معاملة، وحساب جذر الدولة بشكل مستقل ل أنفسهم. وبمجرد الكشف عنها، فإن الطريقة الوحيدة للتعامل مع مثل هذا الفشل يتم عن طريق الإجماع الاجتماعي. على سبيل المثال، في المواقف التي يكون فيها Bitcoin قد فشل، سواء كان التفرع بسبب أخطاء برمجية (كما في مارس 2013)، أو ارتكاب حالة باطلة بسبب السلوك البيزنطي عمال المناجم (كما في يوليو 2015)، مجتمع متصل جيدًا بـ الشركات والمطورين وعمال المناجم وغيرها من المنظمات أنشأ إجماعًا اجتماعيًا حول ماهية الإجراءات اليدويةالمطلوبة من قبل المشاركين لشفاء الشبكة. وعلاوة على ذلك، منذ من المتوقع أن يكون validators من النعناع blockchain يمكن تحديدها، بل قد يكون التزام دولة غير صالحة يعاقب عليها القانون أو بعض الاجتهادات القضائية الخارجية، إذا رغبت في ذلك. ABCI يتكون من 3 أنواع رسائل أساسية يتم تسليمها منها جوهر التطبيق. التطبيق يجيب ب رسائل الرد المقابلة. تعتبر رسالة AppendTx بمثابة العمود الفقري للتطبيق. كل يتم تسليم المعاملة في blockchain مع هذه الرسالة. ال يحتاج التطبيق إلى التحقق من صحة كل المعاملات الواردة مع رسالة AppendTx مقابل الحالة الحالية، وبروتوكول التطبيق، وبيانات اعتماد التشفير للمعاملة. تم التحقق من صحتها تحتاج المعاملة بعد ذلك إلى تحديث حالة التطبيق — بواسطة ربط قيمة في مخزن القيم الأساسية، أو عن طريق تحديث UTXO قاعدة البيانات. تشبه رسالة CheckTx رسالة AppendTx، ولكنها مخصصة فقط لـ التحقق من صحة المعاملات. الشيكات الأولى لذاكرة Tendermint Core صلاحية المعاملة مع CheckTx، والمرحلات صالحة فقط المعاملات لأقرانها. قد تحقق التطبيقات زيادة nonce في المعاملة وإرجاع خطأ عند CheckTx إذا كان nonce قديم. يتم استخدام رسالة Commit لحساب التشفير الالتزام بحالة التطبيق الحالية، ليتم وضعها في رأس الكتلة التالي. هذا له بعض الخصائص المفيدة. ستظهر الآن التناقضات في تحديث تلك الحالة blockchain شوكات تلتقط فئة كاملة من البرمجة أخطاء. وهذا أيضًا يبسط عملية تطوير آمنة وخفيفة الوزن العملاء، حيث يمكن التحقق من أدلة Merkle-hash عن طريق التحقق منها الكتلة-hash، والكتلة-hash تم توقيعها بنصاب قانوني validators (حسب قوة التصويت).
تسمح رسائل ABCI الإضافية للتطبيق بتتبعها وقم بتغيير مجموعة validator، ولكي يحصل التطبيق على معلومات الحظر، مثل الارتفاع وأصوات الالتزام. ABCI الطلبات/الردود هي رسائل Protobuf بسيطة. تحقق خارج المخطط. الحجج: البيانات ([]بايت): بايتات معاملة الطلب العوائد: الرمز (uint32): رمز الاستجابة البيانات ([]بايت): بايتات النتيجة، إن وجدت السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
إلحاق المعاملة وتشغيلها. إذا كانت الصفقة صحيحة ترجع CodeType.OK الحجج: البيانات ([]بايت): بايتات معاملة الطلب العوائد: الرمز (uint32): رمز الاستجابة البيانات ([]بايت): بايتات النتيجة، إن وجدت السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
التحقق من صحة المعاملة. لا ينبغي أن تتحور هذه الرسالة الدولة. يتم تشغيل المعاملات لأول مرة من خلال CheckTx من قبل البث إلى أقرانهم في طبقة mempool. يمكنك صنع CheckTx شبه حالة ومسح الحالة عند الالتزام أو BeginBlock، للسماح بتسلسلات المعاملات التابعة في نفس الكتلة.
العوائد: البيانات ([]بايت): جذر Merkle hash السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
قم بإرجاع جذر Merkle hash لحالة التطبيق. الحجج: البيانات ([]بايت): بايتات طلب الاستعلام العوائد: الرمز (uint32): رمز الاستجابة البيانات ([]بايت): بايت استجابة الاستعلام السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
مسح قائمة انتظار الاستجابة. التطبيقات التي تنفذ أنواع.لا يحتاج التطبيق إلى تنفيذ هذه الرسالة - إنه كذلك يعالجها المشروع. العوائد: البيانات ([]بايت): بايت المعلومات الاستخدام:
إرجاع معلومات حول حالة التطبيق. التطبيق com.speciyc. الحجج: المفتاح (سلسلة): مفتاح للضبط
القيمة (سلسلة): القيمة المطلوب تعيينها للمفتاح العوائد: السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
ضبط خيارات التطبيق. على سبيل المثال. المفتاح = "الوضع"، القيمة = "mempool" لـ اتصال mempool، أو المفتاح = "الوضع"، القيمة = "الإجماع" لـ اتصال توافقي. الخيارات الأخرى هي تطبيق محدد. الحجج: أدوات التحقق من الصحة ([] أداة التحقق من الصحة): التكوين الأولي-validators الاستخدام:
دعا مرة واحدة في سفر التكوين الحجج: الارتفاع (uint64) : ارتفاع الكتلة الذي يبدأ الاستخدام:
يشير إلى بداية كتلة جديدة. دعا قبل أي إلحاقTxs. الحجج: الارتفاع (uint64) : ارتفاع الكتلة الذي انتهى العوائد: أدوات التحقق ([]أداة التحقق) : تم تغيير validators بأخرى جديدة صلاحيات التصويت (0 لإزالة) الاستخدام:
إشارات نهاية الكتلة. تم الاتصال به قبل كل التزام بعد كل شيء المعاملات راجع مستودع ABCI لمزيد من التفاصيل.هناك عدة أسباب وراء رغبة المرسل في الحصول على إقرار بتسليم الحزمة من خلال سلسلة الاستقبال. على سبيل المثال، قد لا يعرف المرسل حالة الملف سلسلة الوجهة، إذا كان من المتوقع أن تكون معيبة. أو يجوز للمرسل تريد فرض مهلة على الحزمة (باستخدام MaxHeight packet yeld)، في حين أن أي سلسلة وجهة قد تعاني من هجوم رفض الخدمة مع ارتفاع مفاجئ في عدد الرسائل الواردة الحزم. في هذه الحالات، يمكن للمرسل أن يطلب إقرار التسليم من خلال تعيين حالة الحزمة الأولية على AckPending. ثم، هو مسؤولية سلسلة الاستلام عن التسليم عن طريق تضمين يُختصر IBCPacket في تطبيق Merkle hash. أولاً، تم نشر IBCBlockCommit و IBCPacketTx على "Hub" مما يثبت وجود IBCPacket على "Zone1". قل ذلك IBCPacketTx له القيمة التالية: من معرف السلسلة: "المنطقة 1" من بلوك الارتفاع: 100 (على سبيل المثال) الحزمة : IBC الحزمة :
الرأس: IBCرأس الحزمة: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" الرقم: 200 (قل) الحالة: قيد الانتظار النوع: "عملة" MaxHeight : 350 (قل "Hub" حاليًا على ارتفاع 300) الحمولة: <بايتات الحمولة "العملة"> بعد ذلك، يتم نشر IBCBlockCommit و IBCPacketTx على "Zone2" مما يثبت وجود IBCPacket على "Hub". قل ذلك IBCPacketTx له القيمة التالية: FromChainID: "المركز" من ارتفاع الكتلة: 300 الحزمة : IBC الحزمة : الرأس: IBCPacketHeader: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" العدد : 200 الحالة: قيد الانتظار النوع: "عملة" أقصى ارتفاع: 350 الحمولة: <نفس وحدات البايت لحمولة "العملة"> بعد ذلك، يجب أن تتضمن "Zone2" في تطبيقها-hash حزمة مختصرة الذي يوضح الحالة الجديدة لـ AckSent. IBCBlockCommit و IBCPacketTx تم نشرها مرة أخرى على "Hub" مما يثبت وجودها من IBCPacket المختصرة في "Zone2". قل ذلك IBCPacketTx له القيمة التالية: من معرف السلسلة: "المنطقة 2"
من بلوك الارتفاع: 400 (على سبيل المثال) الحزمة : IBC الحزمة : الرأس: IBCرأس الحزمة: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" العدد : 200 الحالة: تم الإرسال النوع: "عملة" أقصى ارتفاع: 350 PayloadHash : <البايتات hash من نفس الحمولة النافعة "للعملة"> وأخيرًا، يجب على "Hub" تحديث حالة الحزمة من "AckPending" إلى "AckReceived". دليل على هذا الوضع الجديد ynalized يجب أن يعود إلى "المنطقة 2". لنفترض أن IBCPacketTx يحتوي على ما يلي القيمة: FromChainID: "المركز" من ارتفاع الكتلة: 301 الحزمة : IBC الحزمة : الرأس: IBCرأس الحزمة: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" العدد : 200 الحالة: تم الاستلام النوع: "عملة" أقصى ارتفاع: 350 PayloadHash : <البايتات hash من نفس الحمولة النافعة "للعملة"> وفي الوقت نفسه، قد تفترض "المنطقة 1" بشكل متفائل التسليم الناجح حزمة "النقود المعدنية" ما لم يثبت خلاف ذلك "المحور". في المثال أعلاه، إذا لم يتلق "Hub" رسالة AckSent
الحالة من "المنطقة 2" بواسطة الكتلة 350، كانت ستحدد الحالة تلقائيًا إلى المهلة. يمكن الحصول على هذا الدليل على المهلة تم نشرها مرة أخرى على "Zone1"، ويمكن إرجاع أي tokens. هناك نوعان من Merkle trees مدعومان في النظام البيئي Tendermint/Cosmos: الشجرة البسيطة وIAVL+ شجرة. الشجرة البسيطة هي Merkle tree لقائمة ثابتة من العناصر. إذا عدد العناصر ليس قوة اثنين، وبعض الأوراق ستكون في مستويات مختلفة. تحاول Simple Tree الحفاظ على جانبي الشجرة نفس الارتفاع، ولكن اليسار قد يكون أكبر من ذلك. هذا Merkle tree هو يستخدم لـ Merkle-ize معاملات الكتلة والمستوى الأعلى عناصر جذر حالة التطبيق.الغرض من بنية بيانات IAVL+ هو توفير الدعم المستمر تخزين أزواج القيمة الرئيسية في حالة التطبيق بحيث يكون أ يمكن حساب جذر Merkle الحتمي hash بكفاءة. ال تتم موازنة الشجرة باستخدام البديل من خوارزمية AVL، وجميع العمليات هي O(log(n)). في شجرة AVL، ارتفاعات الشجرتين الفرعيتين لأي عقدة تختلف بواحدة على الأكثر. كلما تم انتهاك هذا الشرط على التحديث، يتم إعادة توازن الشجرة عن طريق إنشاء العقد الجديدة O(log(n)) التي أشر إلى العقد غير المعدلة من الشجرة القديمة. في AVL الأصلي الخوارزمية، يمكن للعقد الداخلية أيضًا الاحتفاظ بأزواج القيمة الرئيسية. ايه في ال+ الخوارزمية (لاحظ الزائد) تقوم بتعديل خوارزمية AVL للاحتفاظ بكل شيء القيم على العقد الطرفية، مع استخدام العقد الفرعية فقط لتخزين المفاتيح. يؤدي هذا إلى تبسيط الخوارزمية مع الحفاظ على مسار Merkle hash قصيرة. تشبه شجرة AVL+ محاولات باتريشيا Ethereum. هناك المقايضات. لا يلزم أن تكون المفاتيح hashed قبل إدراجها أشجار IAVL+، مما يوفر تكرارًا مرتبًا بشكل أسرع في المفتاح المساحة التي قد تفيد بعض التطبيقات. المنطق هو أبسط ل تنفيذ، يتطلب نوعين فقط من العقد - العقد الداخلية و العقد الورقية. إن برهان ميركل أقصر في المتوسط، كونه أ * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 شجرة بسيطة تحتوي على 7 عناصر
شجرة ثنائية متوازنة من ناحية أخرى، جذر ميركل ل تعتمد شجرة IAVL+ على ترتيب التحديثات. سوف ندعم المزيد من Merkle trees، مثل Ethereum باتريشيا تري عندما يصبح المتغير الثنائي متاح. في التنفيذ الأساسي، يتم تدفق المعاملات إلى Cosmos تطبيق المحور عبر واجهة ABCI. سيقبل Cosmos Hub عددًا من المعاملات الأساسية الأنواع، بما في ذلك SendTx ، BondTx ، UnbondTx ، ReportHackTx ، SlashTx، وBurnAtomTx، وProposalCreateTx، وProposalVoteTx، والتي لا تحتاج إلى شرح إلى حد ما وسيتم توثيقها في ملف المراجعة المستقبلية لهذه الورقة. هنا نقوم بتوثيق الأمرين الأساسيين أنواع المعاملات لـ IBC: IBCBlockCommitTx و IBCPacketTx . تتكون معاملة IBCBlockCommitTx من: ChainID (سلسلة): معرف blockchain BlockHash ([]بايت): الكتلة-hash بايت، جذر Merkle والذي يتضمن التطبيق-hash BlockPartsHeader (PartSetHeader): رأس مجموعة أجزاء الكتلة البايتات، مطلوبة فقط للتحقق من توقيعات التصويت BlockHeight (int) : ارتفاع الالتزام BlockRound (int): جولة الالتزام الالتزام ([]تصويت) : يصوت >⅔ Tendermint Precommit على ذلك تتضمن التزامًا بالكتلة ValidatorsHash ([]بايت): جذر شجرة ميركل hash للجديد validator مجموعة
ValidatorsHashProof (SimpleProof): SimpleTree Merkleproof لإثبات ValidatorsHash مقابل BlockHash
AppHash ([]بايت): جذر شجرة IAVLTree Merkle hash لـ
حالة التطبيق
AppHashProof (SimpleProof): أداة SimpleTree Merkle-proof لـ
إثبات AppHash مقابل BlockHash
تتكون الحزمة IBCPacket من:
Header (IBCPacketHeader): رأس الحزمة
الحمولة ([]بايت): بايتات حمولة الحزمة. اختياري
PayloadHash ([]بايت): hash لبايتات الحزمة.
اختياري
يجب أن يكون أي من Payload أو PayloadHash موجودًا. hash
IBCPacket هو جذر Merkle البسيط للعنصرين، الرأس
و الحمولة. يُطلق على IBCPacket بدون الحمولة الكاملة اسم
الحزمة المختصرة.
يتكون IBCPacketHeader من:
SrcChainID (سلسلة): معرف المصدر blockchain
DstChainID (سلسلة): معرف الوجهة blockchain
الرقم (int) : رقم فريد لجميع الحزم
الحالة (التعداد): يمكن أن تكون واحدة من AckPending أو AckSent أو
AckReceived أو NoAck أو Timeout
النوع (سلسلة): تعتمد الأنواع على التطبيق. Cosmos
يحتفظ بنوع الحزمة "العملة المعدنية".
MaxHeight (int) : إذا كانت الحالة ليست NoAckWanted أو AckReceived
وبهذا الارتفاع، تصبح الحالة Timeout . اختياري
تتكون معاملة IBCPacketTx من:FromChainID (سلسلة): معرف blockchain وهو
توفير هذه الحزمة؛ ليس بالضرورة المصدر
FromBlockHeight (int) : الارتفاع blockchain الذي يوجد فيه
تم تضمين الحزمة التالية (بحجم Merkle) في الكتلة-hash من
سلسلة المصدر
الحزمة (IBCPacket): حزمة من البيانات، قد تكون حالتها واحدة
AckPending أو AckSent أو AckReceived أو NoAck أو Timeout
PacketProof (IAVLProof): IAVLTree Merkle-proof للإثبات
الحزمة hash مقابل AppHash لسلسلة المصدر في
ارتفاع معين
تسلسل إرسال الحزمة من "Zone1" إلى "Zone2"
من خلال "المحور" كما هو موضح في {الشكل X}. أولاً، IBCPacketTx
يثبت لـ "Hub" أن الحزمة مضمنة في حالة التطبيق
"المنطقة 1". بعد ذلك، يثبت IBCPacketTx آخر لـ "Zone2" أن
يتم تضمين الحزمة في حالة التطبيق "Hub". خلال هذا
الإجراء، تكون حقول IBCPacket متطابقة: SrcChainID هو
دائمًا "Zone1"، ويكون DstChainID دائمًا "Zone2".
يجب أن يشتمل PacketProof على المسار الصحيح لـ Merkle-proof، مثل
يلي:
عندما يريد "Zone1" إرسال حزمة إلى "Zone2" من خلال "Hub"،
تكون بيانات IBCPacket متطابقة سواء كانت الحزمة Merkleized على "Zone1" أو "Hub" أو "Zone2". الحقل الوحيد القابل للتغيير هو
الحالة لتتبع التسليم.
ونشكر أصدقائنا وزملائنا الذين ساعدونا في وضع المفهوم،
مراجعة وتقديم الدعم لعملنا مع Tendermint
و Cosmos.
IBC/
قدم زكي مانيان من SkuChain الكثير من المساعدة في التنسيق والتنسيق الصياغة، خاصة ضمن القسم ABCI جيهان تريمباك من ألثيا وداستن بينجتون للمساعدة التكرارات الأولية أندرو ميلر من Honey Badger للحصول على تعليقات حول الإجماع جريج سليباك للحصول على تعليقات بشأن الإجماع والصياغة شكرًا أيضًا لبيل جليم وسيونغهوان هان على جهودهما المتنوعة المساهمات. اسمك ومنظمتك هنا لمساهمتك 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 زيرو كاش: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4 DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 الشاهد المنفصل: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 شبكة البرق: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 النعناع: https://github.com/tendermint/tendermint/wiki 9 استحالة FLP: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 المشرح: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 فBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 بت: https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 دفتر الأستاذ: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 سلسلة جانبية: https://blockstream.com/sidechains.pdf 16 كاسبر: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum المشاركة: https://github.com/ethereum/EIPs/issues/53 19 ليب سويفت: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysOfLibswift.pdf 20 دي إل إس: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 أمان العميل الرقيق: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 ورق بنفسجي: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
Ó ه