Cosmos: شبكة من دفاتر الأستاذ الموزعة
介绍
开源生态系统的共同成功, 去中心化的yle共享,公共加密货币已经 激发了人们对去中心化互联网协议的理解 可用于从根本上改善社会经济基础设施。 我们已经看到了专门的 blockchain 应用程序,例如 Bitcoin [1] ( 加密货币)、Zerocash [2](一种保护隐私的加密货币)以及 通用 smart contract 平台,例如 Ethereum [3], 以太坊虚拟的无数分布式应用程序 机器(EVM),例如 Augur(预测市场)和 TheDAO [4](投资俱乐部)。 然而,迄今为止,这些 blockchain 已经遭受了许多问题的困扰。 的缺点,包括其总体能源效率低下、贫穷或 绩效有限,治理机制不成熟。 扩大 Bitcoin 交易吞吐量的建议,例如 隔离见证 [5] 和 BitcoinNG [6],是垂直缩放 解决方案仍然受到单个物理容量的限制 机,以保证性能的完全可审核性。 闪电网络 [7] 可以帮助扩展 Bitcoin 交易
通过将一些交易完全从分类账中删除来增加交易量, 非常适合小额支付和隐私保护 支付轨道,但可能不适合更普遍的情况 扩展需求。 理想的解决方案是允许多个并行 blockchain 互操作,同时保留其安全属性。这有 事实证明,对于 proof-of-work 来说,即使不是不可能,也是很困难的。合并 例如,采矿可以确保父母的安全 链可以在子链上重用,但交易仍然必须 按顺序由每个节点进行验证,并合并挖掘 blockchain 如果 hashing 上的大部分功率都容易受到攻击 父级没有积极地对子级进行合并挖掘。学术评论 提供了替代的 blockchain 网络架构 其他背景,我们提供其他提案的摘要 以及它们在相关工作中的缺点。 在这里,我们介绍 Cosmos,一种新颖的 blockchain 网络架构 解决所有这些问题。 Cosmos 是一个由许多人组成的网络 独立的 blockchain,称为区域。这些区域的动力来自 Tendermint Core [8],提供高性能、 一致、安全的类似 PBFT 的共识引擎,其中严格的责任保证可以抑制恶意行为 演员。 Tendermint Core 的 BFT 共识算法非常适合 用于缩放 public proof-of-stake blockchains。 Cosmos 上的第一个区域称为 Cosmos 中心。 Cosmos Hub 是一种多资产 proof-of-stake 加密货币,具有简单的 使网络能够适应和适应的治理机制 升级。此外,Cosmos 集线器可以通过以下方式扩展: 连接其他区域。 Cosmos 网络的集线器和区域与 彼此通过 blockchain 间通信 (IBC) 协议, blockchains 的一种虚拟 UDP 或 TCP。代币可以是 安全、快速地从一个区域转移到另一个区域无需在区域之间交换流动性。相反, 所有区域间 token 传输均通过 Cosmos 中心,该中心 跟踪每个区域持有的 token 总量。的 集线器将每个区域与其他区域的故障隔离开来。因为 任何人都可以将新区域连接到 Cosmos 集线器,区域允许 为了与新的 blockchain 创新未来兼容。 在本节中,我们将描述 Tendermint 共识协议 以及用于构建应用程序的接口。了解更多 详情见附录。 在经典拜占庭容错 (BFT) 算法中,每个节点 具有相同的重量。在 Tendermint 中,节点具有非负数 投票权的大小以及投票赞成的节点 电源称为 validators。验证者参与 通过广播加密签名达成共识协议,或者 投票,就下一个区块达成一致。 验证者的投票权是在创世时决定的,或者是 由 blockchain 确定性地更改,具体取决于 应用程序。例如,在 proof-of-stake 应用程序中,例如 Cosmos Hub,投票权可以由 作为抵押品的 staking token 数量。 注:像 ⅔ 和 ⅓ 这样的分数是指总投票数的分数 功率,绝不是 validator 的总数,除非所有 validator 都 具有相同的权重。 >⅔表示“超过⅔”,≥⅓表示“至少 ⅓”。 Tendermint 是一个部分同步的 BFT 共识协议 源自 DLS 共识算法 [20]。嫩薄荷是
以其简单性、性能和分叉责任而闻名。 该协议需要一组已知的 validator,其中每个 validator 由其公钥识别。验证者试图 一次就一个区块达成共识,其中一个区块就是一个列表 的交易。对区块进行投票以达成共识 回合。每轮都有一位轮次领导者或提议者,他们 提出一个区块。然后 validator 分阶段投票决定是否 接受提议的区块或进入下一轮。的 一轮的提议者是从有序的中确定性地选择的 validator 列表,按其投票权比例。 此处描述了该协议的完整细节。 Tendermint 的安全性源自其对最佳拜占庭式的使用 通过绝对多数 (>⅔) 投票和锁定实现容错 机制。他们共同确保: ≥⅓ 投票权必须是拜占庭式的才会导致违反 安全,承诺两个以上的价值观。 如果任何一组 validator 曾经成功违反安全性,甚至 尝试这样做时,它们可以被协议识别。这个 包括对冲突区块的投票和广播 不公正的选票。 尽管有强有力的保证,Tendermint 仍提供卓越的服务 性能。在分布在 7 个节点的 64 个节点的基准测试中 数据中心遍布五大洲,位于商品云实例上, Tendermint 共识可以处理数千笔交易 其次,提交延迟约为一到两秒。 值得注意的是,每笔交易的性能远远超过一千笔 即使在恶劣的对抗条件下,第二个也能保持, validators 崩溃或广播恶意制作的投票。参见 详情请参见下图。

Tendermint 共识算法的一个主要好处是简化 轻客户端安全性,使其成为移动和 物联网用例。虽然 Bitcoin 轻客户端必须同步 区块头链,并找到拥有最多证明的区块头链 工作,Tendermint 轻客户端只需要跟上变化 到 validator 集,然后验证 >⅔ PreCommits 最新块来确定最新状态。 简洁的轻客户端证明还可以实现blockchain之间的交互 沟通。 Tendermint 有保护措施来防止某些 值得注意的攻击,例如远程无利害关系双花 和审查制度。这些在附录中进行了更全面的讨论。Tendermint 共识算法是在 名为 Tendermint Core 的程序。 Tendermint 核心是 与应用程序无关的“共识引擎”,可以改变任何 将确定性黑盒应用程序转化为分布式复制 blockchain。 Tendermint Core 连接到 blockchain 应用程序 通过应用程序区块链接口 (ABCI) [17]。因此,ABCI 允许 blockchain 应用程序在任何 语言,而不仅仅是达成共识的编程语言 引擎被写入。此外,ABCI 可以轻松地 交换任何现有 blockchain 堆栈的共识层。 我们用著名的加密货币Bitcoin进行类比。 Bitcoin 是每个节点维护的加密货币 blockchain 经过全面审核的未花费交易输出 (UTXO) 数据库。如果 有人想在 ABCI 之上创建一个类似 Bitcoin 的系统, Tendermint Core 将负责 节点之间共享区块和交易 建立规范/不可变的交易顺序( blockchain) 同时,ABCI 应用程序将负责 维护 UTXO 数据库 验证交易的加密签名 防止交易花费不存在的资金 允许客户端查询 UTXO 数据库 Tendermint 能够通过以下方式分解 blockchain 设计: 在应用程序进程和 共识过程。
مقدمة
النجاح المشترك للنظام البيئي مفتوح المصدر، المشاركة اللامركزية، والعملات المشفرة العامة ألهمت فهم بروتوكولات الإنترنت اللامركزية يمكن استخدامها لتحسين البنية التحتية الاجتماعية والاقتصادية بشكل جذري. لقد رأينا تطبيقات 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 架构
Cosmos 是一个独立并行 blockchain 的网络,它们是 每个都由经典的 BFT 共识算法提供支持,例如 嫩薄荷 1. 该网络中的第一个 blockchain 将是 Cosmos 中心。的 Cosmos 集线器通过一个连接到许多其他 blockchain(或区域) 新颖的blockchain间通信协议。 Cosmos 中心 跟踪众多 token 类型并记录总数 每个连接区域中的 token 数量。代币可以是 安全、快速地从一个区域转移到另一个区域 无需在区域之间进行液体交换,因为所有 区域间硬币转账通过 Cosmos 中心。 该架构解决了 blockchain 空间的许多问题 今天面临的问题,例如应用程序互操作性、可扩展性和 无缝升级能力。例如,从 Bitcoind 派生的区域, Go-Ethereum、CryptoNote、ZCash 或任何 blockchain 系统都可以 插入 Cosmos 集线器。这些区域允许 Cosmos 无限扩展以满足全球交易需求。区域还有 对于分布式交换来说,这是一个很棒的 yt,它将得到以下支持: 好吧。 Cosmos 不仅仅是一个分布式账本,而且 Cosmos Hub 不是一个有围墙的花园,也不是宇宙的中心。我们是 为分布式账本的开放网络设计协议 可以作为未来金融系统的新基础, 基于密码学原理、健全的经济学、共识 理论、透明度和问责制。 Cosmos 中心是 Cosmos 中的第一个公共 blockchain 网络,由 Tendermint 的 BFT 共识算法提供支持。的 Tendermint 开源项目诞生于 2014 年,旨在解决 Bitcoin 的工作量证明共识算法的速度、可扩展性和环境问题。通过使用和改进经过验证的
BFT 于 1988 年在 MIT 开发的算法 [20],Tendermint 团队是第一个概念性地演示 proof-of-stake 解决无利害关系问题的加密货币 遭受第一代 proof-of-stake 加密货币的困扰,例如 如 NXT 和 BitShares1.0。 如今,几乎所有 Bitcoin 移动钱包都使用可信服务器来 为他们提供交易验证。这是因为工作量证明需要在执行之前等待许多确认。 事务可以被视为不可逆转地提交。双花攻击已经在诸如 币库。 与其他 blockchain 共识系统不同,Tendermint 提供 即时且可证明安全的移动客户端支付验证。 由于 Tendermint 被设计为根本不会分叉,因此移动 钱包可以接收即时交易确认,这使得 无需信任且实用的支付在智能手机上成为现实。这个 对物联网应用具有重大影响,如 好吧。 Cosmos 中的验证者与 Bitcoin 矿工具有类似的角色,但是 而是使用加密签名进行投票。验证器是 负责提交的安全、专用机器 块。非 validator 可以委托其 staking token(称为 “atoms”)到任何 validator 以赚取部分区块费用和atom 奖励,但如果 委托 validator 被黑客攻击或违反协议。经证实的 Tendermint BFT 共识的安全保证以及抵押品 利益相关者的押金 –validators 和委托人 – 提供 节点和轻客户端的可证明、可量化的安全性。 分布式公共账本应该有一个章程和一个 治理体系。 Bitcoin 依赖于 Bitcoin 基金会并且挖矿来协调升级,但这是一个缓慢的过程。 Ethereum 硬分叉后分裂为 ETH 和 ETC 以解决 DAO 黑客攻击,很大程度上是因为没有事先的社会契约 也没有做出此类决定的机制。 Cosmos Hub 上的验证者和委托者可以投票 可以更改系统预设参数的建议 自动(例如区块gas limit),坐标升级,如 并对人类可读的宪法修正案进行投票 管理 Cosmos 中心的政策。宪法 允许利益相关者在以下问题上保持凝聚力: 盗窃和错误(例如TheDAO事件),允许更快和 更清晰的分辨率。 每个区域也可以有自己的宪法和治理 机制也是如此。例如,Cosmos 集线器可能有一个 强制中心不变性的宪法(无回滚, 保存 Cosmos Hub 节点实现的错误),同时 每个区域都可以设置自己的回滚策略。 通过实现不同政策区域之间的互操作性, Cosmos 网络为其用户提供最终的自由和潜力 未经许可的实验。 在这里,我们描述了一种去中心化和可扩展性的新颖模型。 Cosmos 是一个由许多 blockchain 组成的网络,由 嫩薄荷。虽然现有提案旨在创建“单一 blockchain”,全局交易排序总额为 Cosmos 允许许多 blockchain 彼此同时运行 同时保留互操作性。 在此基础上,Cosmos Hub 管理着许多独立的 blockchain 称为“区域”(有时称为“分片”,在 参考称为“分片”的数据库扩展技术)。
来自发布的区域的最近块提交的持续流 Hub 允许 Hub 跟上每个区域的状态。 同样,每个区域都与集线器的状态保持同步(但区域 除非间接通过 枢纽)。然后,信息包从一个 通过发布默克尔证明作为证据,将区域转移到另一个区域 信息已发送和接收。这种机制被称为 blockchain 间通信,简称 IBC。 任何区域本身都可以成为形成非循环图的中心, 但为了清楚起见,我们只描述简单的 只有一个集线器和许多非集线器的配置 区。 Cosmos 中心是托管多资产的 blockchain 分布式账本,其中 token 可以由个人用户持有或 由区域本身。这些 token 可以从一个区域移动 到另一个特殊的 IBC 数据包中,称为“硬币数据包”。枢纽是 负责保持总的全局不变性 跨区域的每个 token 的数量。 IBC 硬币包 交易必须由发送者、集线器和接收者提交 blockchains。由于 Cosmos Hub 充当整个系统的中央分类账 系统中,Hub 的安全至关重要。同时 每个区域都可以是 Tendermint blockchain,由 as 保护 少至 4 个(如果不需要 BFT 共识,甚至更少),Hub 必须由一组全球分散的 validator 来保证安全 可以承受最严重的攻击场景,例如 大陆网络分区或民族国家发起的攻击。 Cosmos 区域是一个独立的 blockchain,可交换 IBC 与 Hub 的消息。从 Hub 的角度来看,一个区域就是一个 多资产动态会员多重签名账户 可以使用 IBC 数据包发送和接收 tokens。就像一个 加密货币账户,一个区域不能传输超过 tokens 它有,但可以从拥有它们的其他人那里接收 token。 A区 可以被指定为一种或多种 token 类型的“源”, 授予其启动 token 电源的权力。 Cosmos 中心的原子可以由区域的 validator 质押 连接到集线器。虽然对这些区域进行双花攻击 将导致 Tendermint 的 forkaccountability 中的原子被削减,在该区域中,>⅔ 的投票权是 拜占庭可以提交无效状态。 Cosmos 集线器不 验证或执行在其他区域提交的交易,因此 用户有责任将 token 发送到他们信任的区域。 未来Cosmos Hub的治理体系可能会通过Hub 解决区域故障的改进建议。对于 例如,从某些(或所有)区域出站 token 传输可能会 被限制以允许区域紧急断路 (暂时停止 token 传输)当检测到攻击时。 现在我们看看中心和区域如何相互通信 其他。例如,如果有三个blockchain,“Zone1”,“Zone2”,

和“Hub”,我们希望“Zone1”生成一个数据包 “Zone2”穿过“Hub”。从一个数据包中移动一个数据包 blockchain 到另一个,一个证明被发布在接收链上。 该证明表明发送链发布了一个数据包 所谓的目的地。为了让接收链检查这个证明,它 必须能够跟上发送者的块头。这个 机制与侧链使用的机制类似,需要 两个相互作用的链通过 存在性数据报的双向流 (交易)。 IBC 协议自然可以使用两种类型来定义 交易:一个 IBCBlockCommitTx 交易,它允许 blockchain 向任何观察者证明其最新区块-hash, 和一个 IBCPacketTx 交易,它允许 blockchain 向任何观察者证明给定的数据包确实已发布 通过发送者的应用程序,通过对最近的 Merkle 证明 块-hash。 通过将 IBC 机制拆分为两个单独的事务,我们 允许接收链的原生费用市场机制 确定哪些数据包被提交(即确认),同时 允许发送链上完全自由地决定如何 允许许多出站数据包。 上例中,为了更新“Zone1”的块-hash 在“Hub”(或“Zone2”上的“Hub”)上,一个 IBCBlockCommitTx交易必须发布在“Hub”上,区块为hash “Zone1”(或在“Zone2”上,具有“Hub”的块hash)。 有关更多信息,请参阅 IBCBlockCommitTx 和 IBCPacketTx 关于两种 IBC 交易类型。 同样,Bitcoin 通过分布式更安全, 大规模复制的账本,我们可以使交易所不易受到 通过在 blockchain 上运行它来进行外部和内部黑客攻击。我们 称之为分布式交换。 加密货币社区所谓的去中心化 今天的交易所基于所谓的“原子跨链”(AXC)交易。通过 AXC 交易,两个用户 两条不同的链可以进行两笔转账交易 在两个分类账上一起承诺,或者根本没有承诺(即 原子地)。例如,两个用户可以用比特币交换以太币(或 两个不同分类账上的任意两个 token)使用 AXC 交易, 即使 Bitcoin 和 Ethereum 没有连接到每个 其他。在 AXC 交易上运行交易所的好处是 用户不需要互相信任或交易匹配 服务。缺点是双方都需要在线 交易发生。 另一种类型的去中心化交易所是大规模复制的 自行运行的分布式交换 blockchain。用户在 这种交易所可以提交限价订单并将其转为 计算机关闭,无需用户操作即可执行交易 在线。 blockchain 代表匹配并完成交易 交易者的。
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 ويكمل التداول نيابةً عنه من التاجر.
应用领域
中心化交易所可以创建深度限价订单簿 订单,从而吸引更多的交易者。流动性产生更多 交易所世界的流动性,因此有强大的网络 交换中的效应(或至少是赢家通吃的效应) 业务。当今加密货币交易所的当前领导者 Poloniex 的 24 小时交易量为 2000 万美元,位居第二的是 Bitynex 24 小时交易量为 500 万美元。鉴于如此强大的网络 影响,基于 AXC 的去中心化交易所不太可能 赢得中心化交易所的交易量。对于去中心化的 交易所要与中心化交易所竞争,需要 支持带有限价订单的深度订单簿。只有一个分布式 blockchain 上的交换可以提供这一点。 Tendermint 提供更快交易的额外好处 承诺。通过优先考虑快速性而不牺牲 一致性,Cosmos 中的区域可以快速分析事务 – 用于 交换订单交易以及 IBC token 转账至 以及来自其他区域的。 鉴于当今加密货币交易所的状况,一个伟大的 Cosmos 的应用程序是分布式交换(又名 Cosmos DEX)。交易吞吐能力以及 提交延迟可以与集中式的延迟相媲美 交流。交易者可以提交可以执行的限价订单 无需双方都在线。和 Tendermint 一起, 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 一侧( 起源),桥接合约将允许以太币持有者发送以太币 通过将其发送到桥接合约来发送到桥接区 Ethereum。一旦桥接合约收到以太币, 除非有适当的 IBC 数据包,否则无法提取以太币 由桥接合同从桥接区接收。的 桥接合约跟踪桥接区域的 validator 集,其中 可能与 Cosmos 集线器的 validator 集相同。 在 Bitcoin 的情况下,概念类似,只不过不是 一个桥梁合约,每个 UTXO 将由 阈值多重签名 P2SH pubscript。由于限制 P2SH 系统中,签名者不能与 Cosmos 相同 轮毂 validator-套。桥接区域上的以太币(“桥接以太币”)可以转移到 并从中心,然后通过交易销毁 将其发送到 Ethereum 上的特定提款地址。 IBC 证明事务发生在桥接区域的数据包 可以发布到 Ethereum 桥接合约以允许以太币 被撤回。 在 Bitcoin 的情况下,受限脚本系统使其 很难反映 IBC 硬币转移机制。每个 UTXO 有自己独立的pubscript,因此每个 UTXO 必须是 当集合发生变化时迁移到新的 UTXO Bitcoin 托管签名者。一种解决方案是压缩并 根据需要解压 UTXO-set 以保留总数 UTXO 秒下降。 这种桥接合约的风险是流氓 validator 集。 ≥⅓ 拜占庭投票权可能会导致分叉,提取以太币 来自 Ethereum 的桥接合约,同时将桥接以太币保持在桥接区域。更糟糕的是,>⅔ 拜占庭投票权可以 从发送到桥接合约的人那里直接窃取以太币 偏离了桥接区的原始桥接逻辑。 可以通过设计桥梁来解决这些问题 完全负责。例如,来自集线器的所有 IBC 数据包和 起源,可能需要桥接区的确认 这样桥区的所有状态转换都可以 受到枢纽或始发地的有效挑战和验证 过桥合同。中心和来源应允许桥区 validators 发布抵押品,并且 token 转出 过渡合同应该被推迟(并且抵押品解绑 足够长的时间)以允许提出任何挑战 独立审计师。我们留下规格的设计和 该系统的实施作为未来开放 Cosmos
改进提案,由 Cosmos 中心通过 治理体系。 解决缩放问题是 Ethereum 的一个悬而未决的问题。 目前,Ethereum 节点处理每笔交易并 还存储所有状态。关联。 由于 Tendermint 提交区块的速度比 Ethereum 快得多 proof-of-work、EVM 由 Tendermint 共识支持的区域和 在桥接以太网上运行可以提供更高的性能 Ethereum blockchains。此外,虽然 Cosmos 集线器和 IBC 数据包机制不允许任意合约逻辑 执行本身,它可用于协调 token 运动 在不同区域运行的 Ethereum 合约之间, 为以 token 为中心的 Ethereum 扩展提供基础 分片。 Cosmos 区域运行任意应用程序逻辑,其定义为 该区域生命的开始,并且有可能更新 随着时间的推移,通过治理。这种灵活性允许 Cosmos 区域 充当其他加密货币的桥梁,例如 Ethereum 或 Bitcoin,并且它还允许这些 blockchain 的衍生物, 使用相同的代码库但具有不同的 validator 集并且 初始分布。这使得许多现有的加密货币 框架,例如 Ethereum、Zerocash、Bitcoin 的框架, CryptoNote 等,与 Tendermint Core 一起使用, 在公共网络上更高性能的共识引擎, 为跨领域的互操作性提供了巨大的机会 平台。此外,作为多资产 blockchain,单一资产 交易可能包含多个输入和输出,其中每个 输入可以是任何 token 类型,使 Cosmos 能够直接用作 去中心化交易平台,但假设有订单通过其他平台进行匹配。或者,区域可以服务 作为分布式容错交易所(带有订单簿), 可以是对现有集中式的严格改进 随着时间的推移,加密货币交易所往往会遭到黑客攻击。 区域还可以用作 blockchain 支持的企业版本 和政府系统,其中特定服务的各个部分 传统上由一个组织或一组组织运营 相反,它们作为 ABCI 应用程序在某个区域上运行, 让它继承大众的安全性和互操作性 Cosmos 网络而不牺牲对底层的控制 服务。因此,Cosmos 可能会提供两全其美的方案: 希望利用 blockchain 技术但谁是的组织 警惕将控制权完全交给分布式第三方 聚会。 一些人声称,有利于一致性的一个主要问题是 像 Tendermint 这样的共识算法是任何网络 分区导致不存在 >⅔ 的单个分区 投票权(例如≥⅓)将完全停止共识。 Cosmos 架构可以通过使用来帮助缓解这个问题 拥有区域自治区的全球中心,拥有投票权 每个区域都根据共同的地理分布 地区。例如,一个共同的范式可能适用于个人 城市或地区在共享资源的同时运营自己的区域 公共中心(例如 Cosmos 中心),使市政活动能够 在集线器由于临时网络而停止的情况下继续存在 分区。请注意,这允许真实的地质、政治和 设计鲁棒性时要考虑的网络拓扑特征 联合容错系统。
NameCoin 是第一个尝试解决这个问题的 blockchain 之一 通过调整 Bitcoin blockchain 来解决名称解析问题。 不幸的是,这种方法存在几个问题。 通过 Namecoin,我们可以验证,例如,@satoshi 是 在过去的某个时刻使用特定的公钥注册, 但我们不知道公钥是否已经被 最近更新,除非我们下载自上次以来的所有块 该名称的更新。这是由于 Bitcoin 的限制 UTXO 交易默克尔化模型,其中只有 交易(但不是可变的应用程序状态)是 Merkle 化的 进入块-hash。这让我们可以证明名称的存在,但不能证明名称的后续更新不存在。因此,我们无法得知 确定名称的最新值而不信任完整的 节点,或者通过下载产生大量带宽成本 整个blockchain。 即使在 NameCoin 中实现了 Merkle 化的搜索树, 它对 proof-of-work 的依赖使得轻客户端验证 有问题的。轻客户端必须下载完整的副本 整个 blockchain 中所有块的标头(或者至少是所有 自上次更新名称以来的标题)。这意味着 带宽需求随时间量线性变化 [21]。此外,proof-of-work blockchain 上的名称更改 需要等待额外的 proof-of-work 确认块, Bitcoin 上最多可能需要一个小时。 对于 Tendermint,我们只需要最新的区块 -hash 由 validator 的法定人数(通过投票权)和 Merkle 签署 证明与该名称关联的当前值。这使得 可以拥有一个简洁、快速、安全的轻客户端 名称值的验证。 在Cosmos中,我们可以采用这个概念并进一步扩展它。每个 Cosmos 中的名称注册区域可以有一个关联的顶级域 (TLD) 名称,例如“.com”或“.org”,并且每个名称-
注册区可以有自己的治理和注册 规则。
التطبيقات
يمكن للبورصة المركزية إنشاء سجل أوامر عميق للحدود الأوامر وبالتالي جذب المزيد من المتداولين. السيولة تولد المزيد السيولة في عالم الصرف، وبالتالي هناك شبكة قوية التأثير (أو على الأقل الفائز يأخذ أكبر قدر من التأثير) في التبادل عمل. الزعيم الحالي لتبادل العملات المشفرة اليوم هو 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"، وكل اسم-
منطقة التسجيل يمكن أن يكون لها الإدارة والتسجيل الخاصة بها القواعد.
治理与经济
虽然 Cosmos Hub 是一个多资产分布式账本,但 一个特殊的原生 token 称为原子。原子是唯一的 staking Cosmos 中心的 token。原子是持有者的许可证 投票、验证或委托给其他 validator。就像 Ethereum 的 以太,原子也可以用来支付交易费用 减少垃圾邮件。额外的信息原子和区块交易 费用奖励给 validator 和委托给的委托人 validators。 BurnAtomTx 交易可用于恢复任何 从储备池中按比例分配 token。 Genesis 上原子 tokens 和 validators 的初始分布 将捐给 Cosmos 筹款活动的捐助者 (75%),主要捐助者 (5%)、Cosmos 网络基金会 (10%) 和 ALL IN BITS, Inc (10%)。从创世开始,原子总数的 1/3 将 每年都会奖励给绑定的 validator 和委托人。 有关更多详细信息,请参阅 Cosmos 计划。 与 Bitcoin 或其他 proof-of-work blockchain 不同,Tendermint 由于 validator 的数量增加,blockchain 会变慢 通信复杂性。幸运的是,我们可以支持足够多的人 validators 打造强大的全球分布式 blockchain 具有非常快的交易确认时间和带宽,
存储和并行计算能力的增加,我们将能够 将来支持更多 validator。 在创世日,validator 的最大数量将设置为 100,并且这个数字将在10年内以13%的速度增长,并且 稳定在 300 validators。 尚未成为 validators 的 Atom 持有者可以通过以下方式成为 validators: 签署并提交 BondTx 交易。金额 作为抵押品提供的原子必须非零。任何人都可以成为 a validator 在任何时候,除非当前的大小 validator 设置大于 validator 的最大数量 允许。在这种情况下,交易仅在金额达到 原子数大于所持有的有效原子数 最小的 validator,其中有效原子包括委托原子。 当新的 validator 以这种方式替换现有的 validator 时, 现有的 validator 变得不活跃,所有原子和 委托原子进入脱键状态。 必须对 validator 处以任何处罚 有意或无意偏离制裁规定 协议。有些证据可以立即采纳,例如 在相同的高度和轮次处进行双重签名,或者违反 第 0 年:100 第一年:113 第二年:127 第三年:144 第四年:163 5 年:184 第六年:208 7 年:235 8 年:265 9 年:300 10 年:300 ...
“prevote-the-lock”(Tendermint 共识协议的规则)。 此类证据将导致 validator 失去良好信誉 及其键合原子以及 tokens 的比例份额 储备池——统称为“股份”——将被削减。 有时,由于区域原因,validators 将不可用 网络中断、电源故障或其他原因。如果,在任何 在过去的 ValidatorTimeoutWindow 块中,validator 的点 提交投票未包含在 blockchain 中超过 ValidatorTimeoutMaxAbsent 次,validator 将变为 不活动,并失去其 ValidatorTimeoutPenalty(默认 1%) 股份。 一些“恶意”行为不会产生明显可辨别的结果 blockchain 上的证据。在这些情况下,validator 可以 带外协调以强制这些恶意软件超时 validators,如果达成绝大多数共识。 在 Cosmos 集线器因 ≥⅓ 联盟而停止的情况下 投票权消失,或者在 ≥⅓ 联盟的情况下 投票权审查的恶意行为证据 进入blockchain,集线器必须通过硬分叉恢复 重组提案。 (链接至“分叉和审查攻击”)。 Cosmos 集线器 validators 可接受任何 token 类型或组合 作为处理交易的费用的类型。每个 validator 可以 主观设定想要的汇率,然后选择 无论它想要什么交易,只要 BlockGasLimit 是 没有超过。收取的费用减去下面指定的任何税费, 按比例重新分配给担保利益相关者 他们的键合原子,每个 ValidatorPayoutPeriod (默认 1 小时)。在收取的交易费用中,保留税(默认 2%)将 前往储备池增加储备池并 提高 Cosmos 网络的安全性和价值。这些 资金也可以根据决定进行分配 由治理体系制定。 将投票权委托给其他 validator 的 Atom 持有者 向受委托人 validator 支付佣金。委员会可以 由每个 validator 设置。 Cosmos 集线器的安全性取决于 底层 validator 以及委托人的委托选择。 为了鼓励发现并及早报告所发现的 漏洞,Cosmos 中心鼓励黑客发布 通过 ReportHackTx 交易成功利用该交易,该交易表示:“这 validator 被黑了。请将赏金发送至此地址”。之上 这样的漏洞,validator 和委托人将变得不活跃, 每个人的原子都会受到 HackPunishmentRatio(默认 5%) 削减,以及每个人原子的 HackRewardRatio(默认 5%) 将获得奖励至黑客的赏金地址。 validator 必须使用其备份密钥恢复剩余的原子。 为了防止该功能被滥用进行转账 未归属原子,已归属原子与未归属原子的部分 ReportHackTx 之前和之后的 validators 和委托人将 保持不变,黑客赏金将包括一些 未归属的原子,如果有的话。 Cosmos 中心由一个分布式组织运营,该组织 需要一个明确的治理机制 协调对 blockchain 的各种更改,例如变量
系统参数,以及软件升级和 宪法修正案。 所有 validator 负责对所有提案进行投票。未能 及时对提案进行投票将产生 validator 自动停用一段时间,称为 缺勤处罚期(默认 1 周)。 委托人自动继承被委托人的投票权 validator。该投票可能会被手动覆盖。未键合的原子 没有投票权。 每个提案都需要缴纳最低提案存款 (MinimumProposalDeposit) tokens,可以是一个或多个tokens的组合 包括原子。对于每项提案,选民可以投票通过 押金。如果超过半数选民选择投票 存款(例如,因为该提案是垃圾邮件),存款将转到 储备池,除了被燃烧的任何原子。 对于每项提案,选民可以对以下选项进行投票: 是啊 力挺 不 强行反对 弃权 绝对多数赞成票或 YeaWithForce 票(或反对票或反对票) NayWithForce 投票)需要提案被决定为 通过(或判定失败),但 1/3+ 可以否决多数 通过“强力”投票做出决定。当绝对多数被否决时, 每个人都会因失去 VetoPenaltyFeeBlocks 而受到惩罚 (默认 1 天的区块)价值的费用(税费除外) 不会受到影响),以及否决多数票的一方
决定将受到失去 VetoPenaltyAtoms 的额外惩罚 (默认 0.1%)其原子。 此处定义的任何参数都可以通过以下命令更改 传递 ParameterChangeProposal。 原子可以被注入,储备池资金可以用在 通过赏金提案。 所有其他提案,例如升级协议的提案, 将通过通用的 TextProposal 进行协调。 参见计划。 blockchain 共识有很多创新, 过去几年的可扩展性。本节提供了一个简短的 对选定的一些重要问题进行的调查。 存在恶意参与者的共识是一个问题 可以追溯到 20 世纪 80 年代初,当时 Leslie Lamport 创造了 短语“拜占庭错误”指的是任意进程行为 与“崩溃故障”相比,偏离了预期的行为, 其中一个进程简单地崩溃了。发现了早期的解决方案 对于有上限的同步网络消息延迟,尽管实际使用仅限于高度 受控环境,例如飞机控制器和 通过原子钟同步的数据中心。直到 90 年代末,实用拜占庭容错 (PBFT) [11] 作为有效的部分同步共识引入 算法能够容忍多达 ⅓ 的进程行为 任意地。 PBFT 成为标准算法,催生了许多 变体,包括 IBM 最近创建的一个变体,作为 他们对超级账本的贡献。 Tendermint 共识对 PBFT 的主要好处是 Tendermint 具有改进和简化的底层结构, 其中一些是采用 blockchain 范式的结果。 Tendermint 区块必须按顺序提交,这可以避免 与 PBFT 相关的复杂性和通信开销 视图更改。在 Cosmos 和许多加密货币中,没有 需要允许块 N+i(其中 i >= 1)提交,当块 N 本身还没有承诺。如果带宽是阻止 N 的原因 尚未在 Cosmos 区域中提交,那么使用它无济于事 N+i 块的带宽共享投票。如果网络分区或 ofzine节点是区块N没有提交的原因,那么 无论如何,N+i 都不会承诺。 此外,将交易分批放入区块允许 应用程序状态的常规 Merkle-hashing,而不是 与 PBFT 的检查点方案一样的定期摘要。这允许 为轻客户端提供更快的可证明事务提交,并且速度更快 blockchain 之间的通信。 Tendermint Core 还包括许多优化和功能 超出 PBFT 中指定的范围。例如, validators 提出的区块被分成几个部分,默克尔化, 并以改善广播的方式传播八卦 性能(请参阅 LibSwift [19] 以获取灵感)。还有,嫩薄荷 Core 不做任何关于点对点的假设
只要 P2P 网络存在,连接性和功能就一直存在 弱连接。 虽然不是第一次部署 proof-of-stake (PoS),但 BitShares1.0 [12] 为 PoS 的研究和采用做出了巨大贡献 blockchains,特别是那些被称为“委托”PoS 的。在 比特股,利益相关者选举“见证人”,负责排序 并提交交易,以及“代表”,负责 协调软件更新和参数更改。 BitShares2.0旨在实现高性能(100k tx/s,1s 延迟)在理想条件下,每个块由单个签名 签名者和交易 ynality 花费的时间比 块间隔。规范规范仍在开发中。 利益相关者可以删除或更换行为不端的证人 每日进行,但没有重要的证人或证据 Tendermint PoS 中的委托人被削减 成功的双花攻击的情况。 基于 Ripple 首创的方法,Stellar [13] 雷尼德 联邦拜占庭协议模型,其中的过程 参与共识并不构成yxed和全球性的 已知集。相反,每个流程节点都会策划一个或多个 “仲裁切片”,每个切片构成一组可信进程。一个 Stellar 中的“quorum”被定义为包含以下内容的一组节点: 集合中的每个节点至少有一个仲裁片,这样 可以达成协议。 Stellar 机制的安全性依赖于以下假设 任意两个法定人数的交集非空,而 节点的可用性至少需要其仲裁片之一 完全由正确的节点组成,在之间创建一个权衡 使用可能难以平衡的大或小的仲裁片 无需对信任强加重大假设。最终,节点必须以某种方式选择足够的仲裁片 具有足够的容错能力(或任何“完整节点”,其中 论文的大部分结果取决于),并且唯一的 提供了确保这种配置是分层的策略 类似于边界网关协议 (BGP),互联网上的顶级 ISP 使用它来建立全球路由表,并且 浏览器用来管理 TLS 证书;都臭名昭著 因为他们的不安全感。 Stellar 论文中对基于 Tendermint 的权益证明系统的批评通过所描述的 token 策略得到了缓解 这里,发出了一种称为原子的新类型 token 代表对未来部分费用和奖励的要求。的 那么,基于 Tendermint 的 proof-of-stake 的优势是它的相对优势 简单性,同时仍然提供充分且可证明的安全性 保证。 BitcoinNG 是对 Bitcoin 的拟议改进,允许 对于垂直可扩展性的形式,例如增加块大小, 不会产生通常相关的负面经济后果 有了这样的变化,比如不成比例的巨大影响 关于小矿工。这种改进是通过分离来实现的 交易广播中的领导者选举:领导者是第一名 由 proof-of-work 在“微块”中选出,然后能够 广播要提交的交易,直到出现新的微块 被发现。这降低了所需的带宽要求 赢得 PoW 竞赛,让小矿工更公平地竞争, 并允许交易更定期地由 最后一个矿工创建一个微块。 Casper [16] 是一种提议的 proof-of-stake 共识算法 Ethereum。其主要运作模式是“投注共识”。由 让 validators 迭代地押注他们认为会出现的区块
根据其他赌注投入 blockchain 到目前为止,他们已经看到,最终可以实现 ynality。关联。 这是 Casper 团队的一个活跃研究领域。的 挑战在于构建一个可以 被证明是一种进化稳定的策略。主要好处是 Casper 与 Tendermint 相比可能在于提供“可用性” 过度一致性”——共识不需要>⅔法定人数 投票权 – 可能以牺牲提交速度或 实施复杂度。 Interledger 协议 [14] 严格来说并不是一个可扩展性解决方案。它 提供不同账本之间的临时互操作 系统通过松散耦合的双边关系网络。 与闪电网络一样,ILP 的目的是促进 支付,但它特别关注不同领域的支付 账本类型,并将原子交易机制扩展到 不仅包括 hash-锁,还包括法定人数的公证人(称为 原子传输协议)。后一种机制用于 在账本间交易中强制执行原子性类似于 Tendermint 的轻客户端 SPV 机制,因此说明 ILP 和 Cosmos/IBC 之间的区别是有保证的,并且 下面提供。 1. ILP中连接器的公证人不支持会员资格 变化,并且不允许在之间进行灵活的权重 公证人。另一方面,IBC 是专门为 blockchains,其中 validators 可以有不同的权重,并且 成员资格可以在整个过程中发生变化 blockchain。 2. 与闪电网络一样,ILP中的付款接收方 必须在线才能将确认信息发送回发件人。在一个token 通过 IBC 传输,即接收器的 validator 集 blockchain 负责提供确认,而不是 接收用户。 3. 最显着的区别是 ILP 的连接器不是 对付款负责或保持权威状态, 而在 Cosmos 中,集线器的 validator 是 IBC token 的状态转移以及权限 每个区域持有的 token 数量(但不是 区域内每个账户持有的 tokens)。这是 允许安全不对称的根本性创新 将 tokens 从一个区域转移到另一个区域; ILP 的类似物 Cosmos 中的连接器是持久且高度安全的 blockchain 分类账,Cosmos 中心。 4. ILP 中的账本间支付需要有一个 交换订单簿,因为不存在非对称转移 硬币从一个分类账到另一个分类账,仅转移价值或 市场等价物。 侧链 [15] 是一种提议的用于扩展 Bitcoin 的机制 通过“双向挂钩”的替代 blockchain 网络 Bitcoin blockchain。 (双向挂钩相当于 桥接。在 Cosmos 中,我们说“桥接”以区别于市场挂钩)。侧链允许比特币有效地从 Bitcoin blockchain 到侧链和后面,并允许 侧链新功能的实验。正如在 Cosmos Hub、侧链和 Bitcoin 作为轻客户端 彼此之间,使用 SPV 证明来确定硬币何时应该被 转移到侧链并返回。当然,从 Bitcoin 开始 使用 proof-of-work,以 Bitcoin 为中心的侧链受到影响 从 proof-of-work 作为一个 共识机制。此外,这是一个 Bitcoin-最大化主义 本身不支持各种 token 的解决方案和
区域间网络拓扑如 Cosmos 那样。也就是说,核心 双向挂钩的机制原理上是一样的 受雇于 Cosmos 网络。 Ethereum 目前正在研究多种不同的策略 将 Ethereum blockchain 的状态分片以寻址 可扩展性需求。这些努力的目标是维持 当前 Ethereum 虚拟机提供的抽象层 跨越共享状态空间。多项研究工作正在 此时正在进行。 [18][22] Cosmos 和 Ethereum 2.0 Mauve [22] 具有不同的设计目标。 Cosmos 特别是关于 tokens。紫红色是关于缩放 一般计算。 Cosmos 未绑定到 EVM,因此即使不同的虚拟机也可以 互操作。 Cosmos 让区域创建者确定谁验证该区域 区。 任何人都可以在 Cosmos 中启动一个新区域(除非治理 另有决定)。 集线器隔离区域故障,因此全局 token 不变量是 保存下来。 闪电网络是提议的 token 传输网络 在 Bitcoin blockchain (以及其他公共 blockchains),实现多个数量级的改进 通过移动大部分交易来提高交易吞吐量 在共识账本之外进入所谓的“支付渠道”。这是通过链上加密货币脚本实现的,该脚本 使各方能够签订双边国家合同,其中 状态可以通过共享数字签名和合约来更新 可以通过将证据发布到 blockchain 来关闭,a 这种机制最早是通过跨链原子交换而普及的。由 与多方、参与者开放支付渠道 闪电网络可以成为路由的焦点 他人支付,形成全连接的支付通道 网络,代价是资金被束缚在支付渠道上。 虽然闪电网络也可以轻松地跨 多个独立的 blockchain 允许价值转移 通过交易市场,它不能被用来不对称地 将 token 从一个 blockchain 转移到另一个。主要收益 这里描述的 Cosmos 网络的目的是启用这种直接 token 转账。也就是说,我们期望支付渠道和 闪电网络将与我们一起被广泛采用 token 传输机制,出于节省成本和隐私的原因。 隔离见证是一个 Bitcoin 改进提案链接, 旨在将每块交易吞吐量提高 2 倍或 3 倍, 同时使新节点的块同步速度更快。 该解决方案的出色之处在于它如何在 Bitcoin 当前协议的限制并允许软分叉 升级(即使用旧版本软件的客户端将 升级后继续使用)。 Tendermint,成为新的 协议,没有设计限制,所以它有不同的缩放比例 优先事项。 Tendermint 主要使用 BFT 循环算法 基于加密签名而不是挖掘,这 简单地允许通过多个并行进行水平缩放 blockchains,而定期、更频繁的块提交允许 垂直缩放也是如此。
الحكم والاقتصاد
في حين أن 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، بينما تسمح عمليات الحظر المنتظمة والمتكررة بذلك التحجيم العمودي كذلك.
共识和技术细节
一个设计良好的共识协议应该提供一些 超出耐受能力时的保证 并且共识失败。这在经济上尤其必要 系统中,拜占庭行为可能会产生大量的经济影响 奖励。最重要的此类保证是一种责任形式,其中导致共识的过程 失败(即导致协议的客户端接受不同的值 - a fork)可以根据规则进行识别和惩罚 协议,或者可能是法律体系。当法律制度 不可靠或调用成本过高, validators 可能是 被迫缴纳保证金才能参加,以及那些 当恶意行为发生时,存款可以被撤销或削减 检测到 [10]。 请注意,这与 Bitcoin 不同,其中分叉是经常发生的 由于网络异步性和 ynding 的概率性质 部分 hash 碰撞。因为在很多情况下,恶意分叉是 由于异步,与分叉无法区分,Bitcoin 不能 可靠地实施分叉责任,而不是隐式的 矿工为开采孤立区块而支付的机会成本。 我们将投票阶段称为 PreVote 和 PreCommit。投票可以是 特定块或 Nil。我们称之为>⅔预投票的集合 对于同一轮 Polka 中的单个块,以及 >⅔ 的集合 在同一轮提交中预提交单个块。如果>⅔ 在同一轮中预提交为零,他们进入下一轮 圆形。 请注意,协议中的严格决定论会导致较弱的 同步假设,因为必须检测到错误的领导者并
跳过了。因此,validators 等待一段时间, TimeoutPropose,在 Prevote Nil 之前,以及值 TimeoutPropose 随着每一轮的增加而增加。进展通过 一轮的其余部分是完全异步的,因为进度只是 一旦 validator 收到来自 >⅔ 的网络消息。在实践中, 需要一个极其强大的对手才能无限期地挫败 弱同步假设(导致共识无法达成) 曾经提交过一个区块),这样做可以使更多 通过在每个上使用 TimeoutPropose 的随机值来实现困难 validator。 一组附加的约束或锁定规则,确保 网络最终将在每个高度只提交一个区块。任意 恶意尝试导致多个区块被提交 可以识别给定高度。首先,对块进行 PreCommit 必须以 Polka 的形式为该块提供合理性。 如果 validator 已经在 R_1 轮预提交了一个区块,我们 说他们被锁定在那个街区,波尔卡用来证明 R_2 轮的新 PreCommit 必须出现在 R_polka 轮中 其中 R_1 < R_polka <= R_2。其次,validators 必须提出 和/或对他们锁定的区块进行预投票。在一起,这些 条件确保 validator 不会在没有预提交的情况下进行预提交 有足够的证据作为正当理由,并且 validators PreCommit 已经无法为 PreCommit 提供证据 其他的东西。这既保证了安全性又保证了活跃性 共识算法。 此处描述了该协议的完整细节。 TendermintPoS 消除了同步所有区块头的需要,因为替代链(分叉)的存在意味着 ≥⅓ 担保权益可以被削减。当然,由于削减需要 有人分享分叉的证据,轻客户端应该存储 任何 block-hash 提交它看到的。此外,轻客户端可以定期与 validator 集的更改保持同步, 为了避免远程攻击(但其他解决方案是 可能)。 本着与 Ethereum 类似的精神,Tendermint 使应用程序能够 在每个块中嵌入一个全局 Merkle 根 hash ,从而轻松地允许 可验证的状态查询,例如帐户余额、价值 存储在合约中,或存在未花费的交易 输出,取决于应用程序的性质。 假设广播网络具有足够的弹性集合 和静态 validator 集,blockchain 中的任何分叉都可以 被发现并削减了违规 validator 的存款。这个 Vitalik Buterin 在 2014 年初提出的创新解决了 其他 proof-of-stake 的无利害关系问题 加密货币(参见相关工作)。但是,由于 validator 设置 必须能够在很长一段时间内改变原来的 validators 可能全部变为非绑定状态,因此可以自由 从创世块创建一条新链,不产生任何成本 他们不再锁定存款。这次攻击发生了 与短程攻击相比,称为远程攻击 (LRA) 范围攻击,当前绑定的 validator 会造成 分叉,因此会受到惩罚(假设分叉负责 BFT 像 Tendermint 共识这样的算法)。远程攻击是 通常被认为是对 proof-of-stake 的致命打击。 幸运的是,LRA 可以通过以下方式缓解。首先,对于一个 validator 解绑(从而收回其抵押存款 并且不再赚取参与共识的费用), 存款必须在一段时间内不可转让 称为“解绑期”,可能约为 几周或几个月。其次,为了保证轻客户端的安全,第一 当它连接到网络时,它必须验证最近的块-hash 针对可信来源,或者最好是多个来源。这个
这种情况有时被称为“弱主观性”。最后, 为了保持安全,它必须与最新的 validator 设置同步 最少与解绑期的长度一样频繁。这个 确保轻客户端知道 validator 的更改 在 validator 的资本解除绑定之前设置,因此不再 处于危险之中,这将使其能够通过执行来欺骗客户 通过从某个位置开始创建新块来进行远程攻击 它粘合的高度(假设它有足够的控制 许多早期的私钥)。 请注意,以这种方式克服 LRA 需要彻底修改 proof-of-work 的原始安全模型。在 PoW 中,是 假设轻客户端可以从 只需处理每个块头中的工作量证明即可随时获得可信创世块。然而,为了战胜上帝抵抗军,我们 要求轻客户端定期上线 跟踪 validator 集中的变化,并且第一时间他们 上网时他们必须特别小心地进行身份验证 他们从网络上听到的来自可信来源的信息。的 当然,后一个要求类似于 Bitcoin 的要求,其中 协议和软件还必须从受信任的机构获得 来源。 上述预防 LRA 的方法非常适合 validators 以及 Tendermint 支持的 blockchain 的完整节点,因为这些 节点旨在保持与网络的连接。的 该方法也适用于可以预期的轻客户端 经常与网络同步。然而,对于轻量级客户来说 预计不会经常访问互联网或 blockchain 网络,可以使用另一种解决方案来克服 圣主抵抗军。非 validator token 持有者可以将其 token 发布为 具有很长解绑期限的抵押品(例如更长的 超过 validators 的解绑期)并为轻客户端提供服务 使用第二种方法来证明当前和的有效性 过去的区块-hashes。虽然这些 token 不计入 blockchain 共识的安全性,但他们仍然可以为轻客户提供有力保障。如果历史区块-hash Ethereum 支持查询,任何人都可以绑定他们的 tokens 在专门设计的 smart contract 中并提供 付费认证服务,有效地为轻客户端 LRA 安全创造了市场。 由于块提交的定义,任何 ≥⅓ 的联盟 投票权可以通过是否关闭 blockchain 来阻止 blockchain 广播他们的选票。这样的联盟也可以审查 通过拒绝包含这些的块来特定交易 交易,尽管这会导致相当大的比例 的区块提案被拒绝,这将减慢速度 blockchain 的块提交,降低了其实用性和价值。 恶意联盟也可能会少量广播投票,以便 为了磨炼 blockchain 块,承诺几乎停止,或从事 这些攻击的任意组合。最后,它可能会导致 blockchain 通过双重签名或违反锁定来分叉 规则。 如果全球活跃的对手也参与其中,它可能会分裂 网络的方式可能会出现错误 validator 的子集导致了速度下降。这不是 只是 Tendermint 的限制,而是所有的限制 其网络可能由某个人控制的共识协议 积极的对手。 对于这些类型的攻击,validator 的子集应该 通过外部手段协调签署重组提案 选择一个分叉(及其任何证据)和初始子集 validator 及其签名。签署此类重组提案的验证者将放弃所有其他分叉上的抵押品。客户应该 验证重组提案上的签名,验证任何证据, 并做出判断或提示最终用户做出决定。对于 例如,手机钱包应用程序可能会提示用户安全
警告,而冰箱可以接受任何重组建议 由原始 validator 的 +1/2 投票权签署。 没有非同步的拜占庭容错算法可以来 当 ≥⅓ 的投票权不诚实时达成共识,但仍存在分叉 假设 ≥⅓ 的投票权已经被不诚实 没有正当理由的双重签名或锁更改。所以,签 重组提案是一个协调问题,无法解决 通过任何非同步协议解决(即自动,并且 不对可靠性做出假设 底层网络)。目前,我们将重组提案的协调问题留给人类通过社会共识进行协调 在网络媒体上。验证者必须注意确保 在签署重组提案之前没有剩余的网络分区,以避免签署两个相互冲突的重组提案的情况。 假设外部协调介质和协议是 稳健,因此与审查相比,分叉更受关注 攻击。 除了分叉和审查,需要≥⅓拜占庭 投票权,超过⅔投票权的联盟可以承诺 任意的、无效的状态。这是任何 (BFT) 的特征 共识系统。与创建分叉的双重签名不同 通过易于验证的证据,检测某人的承诺 无效状态需要非验证节点来验证整个块, 这意味着他们保留状态的本地副本并执行 每笔交易,独立计算状态根 他们自己。一旦检测到,处理此类故障的唯一方法 是通过社会共识。例如,在 Bitcoin 的情况下 失败了,是否由于软件 bug 导致分叉(如 3 月份 2013),或者由于拜占庭行为而提交无效状态 矿工(截至 2015 年 7 月),紧密联系的社区 企业、开发商、矿工和其他组织 关于什么是手动操作建立了社会共识参与者需要治愈网络。此外,由于 Tendermint blockchain 的 validator 可能预计为 无效国家的承诺甚至可能是可识别的 如果需要的话,可以受到法律或某些外部判例的惩罚。 ABCI 由 3 种主要消息类型组成,这些消息类型从 应用程序的核心。应用程序回复 相应的响应消息。 AppendTx 消息是应用程序的主力。每个 blockchain 中的事务随此消息一起传递。的 应用程序需要验证收到的每笔交易 针对当前状态、应用程序协议的 AppendTx 消息, 以及交易的加密凭证。经过验证的 然后事务需要更新应用程序状态 - 通过 将值绑定到键值存储中,或者通过更新 UTXO 数据库。 CheckTx 消息与 AppendTx 类似,但仅适用于 验证交易。 Tendermint Core 的内存池首次检查 与 CheckTx 交易的有效性,并且仅中继有效 与其同行的交易。应用程序可以检查递增 nonce 在交易中,并在 CheckTx 上返回错误,如果 nonce 已旧。 “提交”消息用于计算密码 对当前应用程序状态的承诺,将被放入 下一个块头。这有一些方便的属性。 更新该状态时的不一致现在将显示为 blockchain fork 捕获整个类的编程 错误。这也简化了安全轻量化的开发 客户,因为 Merkle-hash 证明可以通过检查来验证 区块-hash,区块-hash由法定人数签名 validators(按投票权)。
额外的 ABCI 消息允许应用程序跟踪 并更改 validator 设置,并让应用程序接收 区块信息,例如高度和提交投票。 ABCI 请求/响应是简单的 Protobuf 消息。检查 出架构yle。 论据: 数据([]byte):请求交易字节 返回: 代码 (uint32):响应代码 数据([]byte):结果字节(如果有) 日志(字符串):调试或错误消息 用途:
追加并运行事务。如果交易有效, 返回 CodeType.OK 论据: 数据([]byte):请求交易字节 返回: 代码 (uint32):响应代码 数据([]byte):结果字节(如果有) 日志(字符串):调试或错误消息 用途:
验证交易。此消息不应改变 状态。交易首先通过 CheckTx 运行 广播到内存池层中的对等点。你可以使 CheckTx 半状态并在提交时清除状态或 BeginBlock ,允许依赖的交易序列 在同一个街区。
返回: 数据([]byte):Merkle 根 hash 日志(字符串):调试或错误消息 用途:
返回应用程序状态的 Merkle 根 hash。 论据: Data ([]byte) :查询请求字节 返回: 代码 (uint32):响应代码 数据([]byte):查询响应字节 日志(字符串):调试或错误消息 用途:
刷新响应队列。实施的应用程序 types.Application 不需要实现此消息 - 它是 由项目处理。 返回: 数据([]byte):信息字节 用途:
返回有关应用程序状态的信息。应用 具体。 论据: Key(字符串):要设置的键
值(字符串):为键设置的值 返回: 日志(字符串):调试或错误消息 用途:
设置应用程序选项。例如。键=“模式”,值=“mempool” 内存池连接,或 Key=“mode”,Value=“consensus” 共识连接。其他选项是特定于应用程序的。 论据: 验证器([]Validator):初始起源-validators 用途:
创世时被召唤一次 论据: 高度 (uint64):起始区块高度 用途:
表示新块的开始。在任何之前调用 追加 Txs。 论据: 高度 (uint64):结束的区块高度 返回: 验证器([]Validator):将 validators 更改为新的 投票权(0表示删除) 用途:
发出块结束的信号。毕竟在每次提交之前调用 交易 有关更多详细信息,请参阅 ABCI 存储库。发件人可能想要的原因有多种 接收链对数据包传送的确认。 例如,发送者可能不知道消息的状态 目标链(如果预计会出现故障)。或者,发件人可以 想要对数据包施加超时(使用 MaxHeight 数据包产量),而任何目标链都可能遭受拒绝服务攻击,传入数量突然激增 数据包。 在这些情况下,发件人可以要求送达确认 将初始数据包状态设置为 AckPending。那么,就是 接收链有责任通过包括 Merkle 应用程序中缩写为 IBCPacket hash。 首先,在“Hub”上发布 IBCBlockCommit 和 IBCPacketTx 这证明了“Zone1”上存在 IBCPacket。这么说 IBCPacketTx 具有以下值: FromChainID:“Zone1” FromBlockHeight : 100 (比如说) 数据包:IBC数据包:
标头:IBCPacketHeader: 源链ID:“Zone1” 目标链 ID:“Zone2” 数量:200(比如说) 状态:确认待处理 类型:“硬币” MaxHeight:350(假设“Hub”当前高度为 300) Payload : <“硬币”有效负载的字节> 接下来,在“Zone2”上发布 IBCBlockCommit 和 IBCPacketTx 这证明了“Hub”上存在IBCPacket。这么说 IBCPacketTx 具有以下值: FromChainID : “Hub” 从块高度:300 数据包: IBC 数据包: 标头:IBCPacketHeader: 源链ID:“Zone1” 目标链 ID:“Zone2” 数量:200 状态:确认待处理 类型:“硬币” 最大高度:350 有效负载:<“硬币”有效负载的相同字节> 接下来,“Zone2”必须在其应用程序-hash中包含一个缩写数据包 显示 AckSent 的新状态。 IBCBlockCommit 和 IBCPacketTx 被发布回“Hub”,证明存在 “Zone2”上的缩写IBCPacket。说 IBCPacketTx 具有以下值: FromChainID:“Zone2”
FromBlockHeight : 400 (比如说) 数据包: IBC 数据包: 标头:IBCPacketHeader: 源链ID:“Zone1” 目标链 ID:“Zone2” 数量:200 状态:已发送 类型:“硬币” 最大高度:350 PayloadHash : <同一“硬币”有效负载的 hash 字节> 最后,“集线器”必须更新数据包的状态 AckPending 到 AckReceived。这种新的分析状态的证据 应该回到“Zone2”。假设 IBCPacketTx 具有以下内容 值: FromChainID : “Hub” 从块高度:301 数据包: IBC 数据包: 标头:IBCPacketHeader: 源链ID:“Zone1” 目标链 ID:“Zone2” 数量:200 状态:已收到 类型:“硬币” 最大高度:350 PayloadHash : <同一“硬币”有效负载的 hash 字节> 同时,“Zone1”可能乐观地认为交付成功 除非有相反的证据证明是“硬币”包 “枢纽”。在上面的示例中,如果“Hub”未收到 AckSent
块 350 来自“Zone2”的状态,它会设置状态 自动超时。这个超时的证据可以得到 发回“Zone1”,并且可以返回任何 token。 支持两种类型的 Merkle tree Tendermint/Cosmos 生态系统:简单树和 IAVL+ 树。 简单树是一个静态元素列表的 Merkle tree 。如果 项目数不是 2 的幂,有些叶子将位于 不同的级别。简单树试图保持树的两侧 高度相同,但左侧可能更大。这个 Merkle tree 是 用于对区块的交易进行 Merkle 化,顶层 应用程序状态根的元素。IAVL+数据结构的目的是提供持久性 应用程序状态中键值对的存储,以便 可以有效地计算确定性 Merkle 根 hash。的 使用 AVL 算法的变体来平衡树,并且所有 操作是 O(log(n))。 在AVL树中,任意节点的两个子子树的高度 最多相差一。每当违反此条件时 更新时,通过创建 O(log(n)) 个新节点来重新平衡树 指向旧树中未修改的节点。在原来的AVL中 算法中,内部节点也可以保存键值对。 AVL+ 算法(注意加号)修改AVL算法以保留所有 叶节点上的值,而仅使用分支节点来存储键。 这简化了算法,同时保留了 Merkle hash 踪迹 短。 AVL+ 树类似于 Ethereum 的 Patricia 尝试。有 权衡。键在插入之前不需要 hashed IAVL+ 树,因此这可以在键中提供更快的有序迭代 空间可能有利于某些应用程序。逻辑更简单 实现,只需要两种类型的节点——内部节点和 叶节点。 Merkle 证明平均较短,是 * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 具有 7 个元素的 SimpleTree
平衡二叉树。另一方面,默克尔根 IAVL+树取决于更新的顺序。 我们将支持额外的高效 Merkle tree,例如 当二进制变体变为 Ethereum 的 Patricia Trie 时 可用。 在规范的实现中,交易被流式传输到 Cosmos 集线器应用程序通过 ABCI 接口。 Cosmos Hub将接受一些主要交易 类型,包括 SendTx、BondTx、UnbondTx、ReportHackTx、 SlashTx、BurnAtomTx、ProposalCreateTx 和 ProposalVoteTx、 这是相当不言自明的,并将记录在 本文的未来修订。在这里我们记录了两个主要的 IBC 的交易类型:IBCBlockCommitTx 和 IBCPacketTx。 IBCBlockCommitTx 交易由以下部分组成: ChainID(字符串):blockchain 的 ID BlockHash ([]byte) :块 hash 字节,Merkle 根 其中包括应用程序-hash BlockPartsHeader (PartSetHeader) :块部件集标头 字节,仅需要验证投票签名 BlockHeight (int) :提交的高度 BlockRound (int) :提交的轮次 提交([]投票):>⅔ Tendermint 预提交投票表明 包含一个块提交 ValidatorsHash ([]byte) :新的 Merkle 树根 hash validator 设置
ValidatorsHashProof (SimpleProof):一个 SimpleTree Merkleproof,用于根据 BlockHash 证明 ValidatorsHash AppHash ([]byte) :IAVLTree Merkle 树根 hash 应用状态 AppHashProof (SimpleProof):SimpleTree Merkle 证明 对照 BlockHash 证明 AppHash IBC数据包由以下部分组成: 标头 (IBCPacketHeader) :数据包标头 Payload ([]byte) :数据包有效负载的字节。可选 PayloadHash ([]byte) :数据包字节的 hash 。 可选 Payload 或 PayloadHash 之一必须存在。 hash IBCPacket 的 是两个项目的简单 Merkle 根,即 Header 和有效负载。没有完整负载的 IBC 数据包称为 缩写数据包。 IBCPacketHeader 由以下部分组成: SrcChainID(字符串):源 blockchain ID DstChainID(字符串):目的地 blockchain ID Number(int):所有数据包的唯一编号 状态(枚举):可以是 AckPending 、 AckSent 之一, AckReceived 、 NoAck 或超时 类型(字符串):类型取决于应用程序。 Cosmos 保留“coin”数据包类型 MaxHeight (int) :如果状态不是 NoAckWanted 或 AckReceived 到了这个高度,状态就变成 Timeout 。可选 IBCPacketTx 交易由以下部分组成:FromChainID(字符串):blockchain 的 ID,即 提供此数据包;不一定是来源 FromBlockHeight (int) : blockchain 高度,其中 以下数据包包含(Merkle 化)在块 hash 中 源链 Packet (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”想要通过“Hub”向“Zone2”发送数据包时, 无论数据包在“Zone1”、“Hub”还是“Zone2”上进行 Merkleized,IBCPacket 数据都是相同的。唯一可变的yield是 跟踪递送的状态。 我们感谢我们的朋友和同行在概念化方面提供的帮助, 审查并为我们与 Tendermint 的合作提供支持 和 Cosmos。 IBC/<源链ID>/<目标链ID>/<编号>
SkuChain 的 Zaki Manian 在格式化和 措辞,特别是在 ABCI 部分下 Althea 的 Jehan Tremback 和达斯汀·拜因顿 (Dustin Byington) 提供的帮助 初始迭代 Honey Badger 的 Andrew Miller 对共识的反馈 Greg Slepak 对共识和措辞的反馈 还要感谢 Bill Gleim 和 Seunghwan Han 所做的各种努力 贡献。 此处提供您的姓名和组织以供您贡献 1 Bitcoin:https://bitcoin.org/bitcoin.pdf 2 零现金:http://zerocash-project.org/paper 3Ethereum:https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: 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 PBFT:http://pmg.csail.mit.edu/papers/osdi99.pdf 12 种比特股:https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13Stellar: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/ 17ABCI:https://github.com/tendermint/abci 18 Ethereum 分片: 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 瘦客户端安全: 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
Ø è
الإجماع والتفاصيل الفنية
ينبغي لبروتوكول الإجماع المصمم جيدًا أن يوفر بعضًا من ذلك الضمانات في حالة تجاوز قدرة التسامح ويفشل الإجماع. وهذا ضروري بشكل خاص في المجال الاقتصادي الأنظمة، حيث يمكن أن يكون للسلوك البيزنطي قدر كبير من المال مكافأة. وأهم هذه الضمانات هو شكل من أشكال المساءلة، حيث تتم العمليات التي تسببت في الإجماع الفشل (أي جعل عملاء البروتوكول يقبلون قيمًا مختلفة - أ 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
Ó ه