<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>wenweihuang (老码农不上班)</title>
    <link>https://metanethub.com/wenweihuang</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>介绍预言机 Uma 和 Pyth、对比以及各自的优缺点以及适用场景</title>
      <description>&lt;h3 id="Uma (Universal Market Access)"&gt;Uma (Universal Market Access)&lt;/h3&gt;&lt;h4 id="概述"&gt;概述&lt;/h4&gt;
&lt;p&gt;Uma（Universal Market Access）是一个去中心化金融合约平台，旨在通过去中心化预言机提供可靠的数据。Uma 的预言机系统主要是通过经济激励机制来确保数据的准确性和可靠性。&lt;/p&gt;
&lt;h4 id="工作原理"&gt;工作原理&lt;/h4&gt;
&lt;p&gt;Uma 的预言机系统依赖于一种称为“Data Verification Mechanism (DVM)”的数据验证机制。DVM 通过以下几个步骤工作：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;请求数据&lt;/strong&gt;：用户发起数据请求。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;数据提交&lt;/strong&gt;：任何人都可以提交数据。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;经济激励&lt;/strong&gt;：数据提交者需要质押一定数量的代币。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;争议机制&lt;/strong&gt;：如果有人对提交的数据有异议，可以发起争议并质押代币。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;投票机制&lt;/strong&gt;：Uma 的代币持有者投票决定最终的正确数据。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="优点"&gt;优点&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;去中心化和安全性&lt;/strong&gt;：通过经济激励和去中心化的投票机制，Uma 确保数据的准确性和可靠性。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;灵活性&lt;/strong&gt;：支持多种类型的数据请求和合约。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;抗审查性强&lt;/strong&gt;：由于其去中心化的特性，Uma 的预言机系统具有很强的抗审查能力。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="缺点"&gt;缺点&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;速度较慢&lt;/strong&gt;：由于需要等待投票结果，数据验证过程可能较慢。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;复杂性&lt;/strong&gt;：系统复杂，需要用户理解和参与质押、投票等机制。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="适用场景"&gt;适用场景&lt;/h4&gt;
&lt;p&gt;Uma 适用于那些对数据准确性要求高且可以容忍一定延迟的场景，如去中心化金融合约、保险合约等。&lt;/p&gt;
&lt;h3 id="Pyth"&gt;Pyth&lt;/h3&gt;&lt;h4 id="概述"&gt;概述&lt;/h4&gt;
&lt;p&gt;Pyth 是一个专注于提供高频金融数据的去中心化预言机网络。Pyth 的目标是通过聚合来自多个可信数据源的高频数据，为区块链上的智能合约提供快速、准确的数据。&lt;/p&gt;
&lt;h4 id="工作原理"&gt;工作原理&lt;/h4&gt;
&lt;p&gt;Pyth 的预言机网络通过以下步骤工作：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;数据聚合&lt;/strong&gt;：Pyth 从多个可信的数据提供者（如交易所、金融机构）获取数据。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;数据发布&lt;/strong&gt;：聚合后的数据通过 Pyth 网络发布到区块链上。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;验证机制&lt;/strong&gt;：Pyth 使用多方验证机制来确保数据的准确性。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="优点"&gt;优点&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;高频数据&lt;/strong&gt;：Pyth 专注于提供高频、实时的金融数据。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;低延迟&lt;/strong&gt;：数据发布速度快，适合需要实时数据的应用。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;可信数据源&lt;/strong&gt;：数据来自多个可信的金融机构和交易所。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="缺点"&gt;缺点&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;中心化风险&lt;/strong&gt;：尽管 Pyth 是去中心化的，但依赖于少数可信数据源，可能存在一定的中心化风险。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;数据种类有限&lt;/strong&gt;：主要集中在金融市场数据，其他类型的数据可能覆盖不足。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="适用场景"&gt;适用场景&lt;/h4&gt;
&lt;p&gt;Pyth 适用于那些需要高频、实时金融数据的场景，如去中心化交易所、衍生品市场、高频交易等。&lt;/p&gt;
&lt;h3 id="对比与总结"&gt;对比与总结&lt;/h3&gt;&lt;h4 id="去中心化程度"&gt;去中心化程度&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Uma&lt;/strong&gt;：高度去中心化，通过质押和投票机制确保数据准确性。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pyth&lt;/strong&gt;：相对去中心化，但依赖于少数可信数据源。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="数据类型"&gt;数据类型&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Uma&lt;/strong&gt;：支持多种类型的数据请求，灵活性高。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pyth&lt;/strong&gt;：专注于高频金融数据，适合需要实时数据的场景。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="数据验证速度"&gt;数据验证速度&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Uma&lt;/strong&gt;：数据验证过程较慢，因为需要等待投票结果。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pyth&lt;/strong&gt;：数据发布速度快，适合实时应用。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="适用场景"&gt;适用场景&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Uma&lt;/strong&gt;：适用于需要高准确性且可以容忍一定延迟的场景，如去中心化金融合约、保险合约等。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pyth&lt;/strong&gt;：适用于需要高频、实时数据的场景，如去中心化交易所、高频交易等。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;通过以上对比和分析，可以看出 Uma 和 Pyth 各有其独特的优势和适用场景。选择哪种预言机系统，取决于具体应用的需求和对数据的要求。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1722602457/wtsnqkuvcgkmhisb4t5h.png" title="" alt="介绍预言机 Uma 和 Pyth 、对比以及各自的优缺点以及适用场景"&gt;&lt;/p&gt;</description>
      <author>wenweihuang</author>
      <pubDate>Fri, 02 Aug 2024 00:41:08 -1200</pubDate>
      <link>https://metanethub.com/topics/fe6397ab8e0f</link>
      <guid>https://metanethub.com/topics/fe6397ab8e0f</guid>
    </item>
    <item>
      <title>Solana ore 查询 reward 和 claim 不能获取矿工账户</title>
      <description>&lt;p&gt;Solana 上的 &lt;a href="https://ore.supply/" rel="nofollow" target="_blank" title=""&gt;Ore&lt;/a&gt; 项目采用类比特币挖矿模式 - &lt;a href="https://metanethub.com/presses/bitcoin-like-mining-is-taking-off-on-solana-with-ore" title=""&gt;这里有新闻&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;然后把 Solana 网络搞拥堵了，但现在出现 &lt;a href="https://github.com/HardhatChad/ore-cli" rel="nofollow" target="_blank" title=""&gt;ore-cli&lt;/a&gt; 通过 reward 和 claim 都出现了无法获取矿工账户的问题，社区反馈显示的 pubkey 和配置的账户地址不匹配的情况。&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Failed to get miner account: Error { request: None, kind: RpcError(ForUser("AccountNotFound: pubkey={xxx}")) }

Error looking up claimable rewards: Error { request: None, kind: RpcError(ForUser("AccountNotFound: pubkey={xxx}")) }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前我也遇到了这样的问题，先收集一下网上的讨论列表。。。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/HardhatChad/ore-cli/issues?q=is%3Aissue+is%3Aopen+Failed+to+get+miner+account%3A+Error+%7B+request%3A+None%2C+kind%3A+RpcError" rel="nofollow" target="_blank" title=""&gt;Github issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Robbheinz_PEST/status/1775907457522401765" rel="nofollow" target="_blank" title=""&gt;X 上的讨论&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;更新 -&amp;gt; 2024/4/6 20:30 看到一个老哥说这个不影响。&lt;a href="https://twitter.com/0x111010/status/1775892888892969191" rel="nofollow" target="_blank"&gt;https://twitter.com/0x111010/status/1775892888892969191&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1712406891/cuz65y4wgey7bscbw6r5.png" title="" alt="ORE Failed to get miner account: Error"&gt;&lt;/p&gt;</description>
      <author>wenweihuang</author>
      <pubDate>Fri, 05 Apr 2024 23:04:54 -1200</pubDate>
      <link>https://metanethub.com/topics/9eedaf67d6c7</link>
      <guid>https://metanethub.com/topics/9eedaf67d6c7</guid>
    </item>
    <item>
      <title>比特币时间戳安全性</title>
      <description>&lt;p&gt;深入探讨保持比特币区块的时间戳相对准确性背后的博弈论。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1709461801/lc3rnhdtkddoi2kjz9um.png" title="" alt="比特币区块头"&gt;&lt;/p&gt;

&lt;p&gt;比特币通常被称为安全的时间戳服务。我们从来没有过具有可信全球时间戳记录，这是如何实现的呢？归功于将工作证明与矿工必须遵守的一些简单规则相结合。矿工的主要功能包括：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;接收无序的未确认交易，并按特定顺序对交易排序&lt;/li&gt;
&lt;li&gt;将交易打包到一个有效的容器（区块）中&lt;/li&gt;
&lt;li&gt;在可接受的时间范围内为区块添加时间戳&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这个最后的属性使比特币能够控制比特币供应的释放。否则，每当算力增加时，比特币就会受到快速供应膨胀的影响。但事实证明，这个属性为比特币协议赋予了相当多的实用价值，使人们能够将比特币用作其他服务的&lt;a href="https://www.coindesk.com/bitcoin-the-trust-anchor-in-a-sea-of-blockchains?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;数据锚定&lt;/a&gt;。由于我们有合理强有力的保证时间戳落在给定范围内，并且我们有数学保证重写区块链历史所需的能量数量，比特币为数据的时间戳提供了一个可靠的锚点。但它有多可靠？&lt;/p&gt;
&lt;h2 id="比特币的时间戳灵活性"&gt;比特币的时间戳灵活性&lt;/h2&gt;
&lt;p&gt;为了使区块头的时间字段被节点视为有效，它必须满足两个标准：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Be less than &lt;a href="https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/validation.cpp?ref=blog.lopp.net#L3252" rel="nofollow" target="_blank" title=""&gt;2 hours in the future&lt;/a&gt; from your node's adjusted time, which is a function of your local machine's clock and your peer's time.&lt;/li&gt;
&lt;li&gt;大于过去&lt;a href="https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/chain.h?ref=blog.lopp.net#L309" rel="nofollow" target="_blank" title=""&gt;11 个区块&lt;/a&gt;的&lt;a href="https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/validation.cpp?ref=blog.lopp.net#L3248" rel="nofollow" target="_blank" title=""&gt;中位时间戳&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;第一个规则很合理——显然我们不希望任何人声称来自未来，节点很容易拒绝这种主张，因为我们大家对当前时间是一致的。有多种方式可以检查当前时间，尽管计算机同步时间的一种非常流行的方法是通过&lt;a href="https://en.wikipedia.org/wiki/Network_Time_Protocol?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;网络时间协议&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;然而，确保时间不会太早到一个合理的点位比较困难。这是因为我们不能假设一个节点在创造块时就以接近初始创建时间验证该块。节点可能因各种原因离开并重新加入网络。如果一个节点同步的区块数据落后，那么需要在当前时间前几个小时内同步历史块，它们就会开始拒绝历史块。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“节点可以随意离开并重新加入网络，接受工作证明链作为他们离开后产生区块的证据。Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone
” --中本聪，比特币白皮书  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;没有规则要求一个区块的时间戳必须晚于前一个区块的时间戳，也许有些违反直觉。如果仔细考虑，这样的规则可能会引发问题——如果一个矿工创建了一个将近 2 小时未来的时间戳的区块，那么接下来的区块也必须是将来的时间--其他矿工将更难自我校正过去 11 个区块的中位时间。&lt;/p&gt;

&lt;p&gt;另外，虽然预期每 10 分钟产生一个区块，但没有真正的保证。区块之间的时间间隔可能介于数毫秒到数小时之间。虽然过去 11 个区块的中位时间预期应该是 1 小时前，但它可能远多于或远少于这个预期时间。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1709462713/ghnyrrlhg2autpx7rshy.png" title="" alt="比特币出块时间概率"&gt;&lt;br&gt;
比特币出块时间概率&lt;/p&gt;
&lt;h2 id="扩大时间窗口"&gt;扩大时间窗口&lt;/h2&gt;
&lt;p&gt;如果思考一下作恶矿工可能如何尝试扩大可接受的时间戳窗口，很明显没有任何作恶矿工能够将时间戳推到未来超过 2 小时，无论他们有多少算力。然而，一个拥有足够算力的攻击者可以通过只铸造时间戳几乎有效的区块来对“比特币时间”的进展造成时间戳延迟，即这些时间戳仅比过去 11 个区块的中位时间延迟一秒。&lt;/p&gt;

&lt;p&gt;这样做会有什么激励？在极端情况下，“时间扭曲攻击 time warp attack”提供了我们将在稍后讨论的短期财务激励。目前还不太清楚仅仅轻微地推迟时间戳的情况下可能存在哪些激励。尽管考虑到其他协议可以建立在比特币之上（如闪电网络）并且可能涉及&lt;a href="https://github.com/bitcoin/bitcoin/blob/0.17/src/validation.cpp?ref=blog.lopp.net#L339" rel="nofollow" target="_blank" title=""&gt;时间锁定&lt;/a&gt;，未来可能出现其他协议受到滞后区块链时间戳进展制约的情况。&lt;/p&gt;
&lt;h2 id="算力对时间戳的篡改影响"&gt;算力对时间戳的篡改影响&lt;/h2&gt;
&lt;p&gt;由于最新有效的区块时间是基于过去 11 个区块的中位时间，作恶矿工需要生成大量区块才能对中位时间产生显著影响。&lt;/p&gt;

&lt;p&gt;我们假设矿工大致通过网络时间协议（NTP）保持同步，但存在一个试图尽可能拖延过去 11 个区块中位时间的作恶矿工。&lt;/p&gt;

&lt;p&gt;一个观点是非常清晰的：&lt;a href="https://github.com/bitcoin/bitcoin/blob/4405b78d6059e536c36974088a8ed4d9f0f29898/main.cpp?ref=blog.lopp.net#L1206" rel="nofollow" target="_blank" title=""&gt;中本聪决定&lt;/a&gt;使用过去 11 个区块的中位时间而不是平均时间是个明智的决定，因为平均时间更容易被操纵。&lt;/p&gt;

&lt;p&gt;“过去中位时间”另一种理解方式是如果所有时间戳按顺序排列，则第 6 个最近的区块的时间戳。如果时间戳未按顺序排列，算法会重新排序。因此，如果您想对这个值产生非微不足道的影响，您需要解决过去 11 个区块中的第 6 个。为了持续进行这样的攻击，您需要 55% 的算力，此时比特币热力学安全的一个主要假设会受到破坏。但是，如果一位算力较低的矿工有一连串的幸运，仍然有可能偶尔实现这一点。&lt;/p&gt;

&lt;p&gt;找到 11 个区块中的第 6 个有多难呢？矿工打包出下一个区块的概率基本上等于他们在整个网络总算力中所占的百分比。因此，即使只拥有 1% 的算力（这已经很高了），那么在任意连续 11 个区块中铸造 6 个的可能性为：
（0.01⁶0.99⁵）（11！/（5!*6！））= 约 20 亿分之一。&lt;/p&gt;

&lt;p&gt;如果持有 1% 的算力，那么在找到 11 个区块中的 6 个之前出现的区块数的预期值将超过 43,000 年。
进行成功的时间篡改攻击所需的平均等待时间的更一般化公式为： （1 /（462 *（%算力⁶ *（1- %算力）⁵）））/ 每天 144 个区块 = # 天&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1709463582/an1bdpuo4ych2wdppwdu.png" title="" alt="比特币网络算力占比和出块概率图表"&gt;&lt;br&gt;
比特币网络算力占比和出块概率图表&lt;/p&gt;

&lt;p&gt;正如我们所看到的，要在任何有意义的时间范围内进行这种攻击，攻击者需要一个相当大的挖矿矿池，至少占据总网络算力的 10%。&lt;/p&gt;
&lt;h2 id="篡改比特币时间戳的概率"&gt;篡改比特币时间戳的概率&lt;/h2&gt;
&lt;p&gt;然而，为了对 MTP 施加最大的影响，作恶矿工希望连续打出 6 个区块。如果他们过去 11 个区块中的 6 个时间戳未按顺序排列，那么其他矿工所创建的时间间隔将迫使作恶矿工设置其区块的时间戳相距超过 1 秒，因为随着诚实矿工在其区块上放置更准确的时间戳，每个区块的 MTP 都会向前跳跃。&lt;/p&gt;

&lt;p&gt;连续打出 6 个区块有多难呢？如果我们再次假设一个拥有 1% 网络算力的矿工，那么连续铸造 6 个区块的机会为 0.01⁶= 约一万亿分之一。如果您持有 1% 的算力，那么在找到 6 个连续区块之前出现的区块数的预期值将接近 200 万年。&lt;/p&gt;

&lt;p&gt;成功进行时间拉拽攻击的预期时间公式的版本将是：
（1 / %算力⁶）/ 每天 144 个区块 = # 天&lt;/p&gt;

&lt;p&gt;这种攻击更难以实施，需要约 20% 或 30% 的网络算力在合理时间内才能实现。&lt;a href="https://www.reddit.com/r/Bitcoin/comments/276swq/psa_ghash_just_mined_the_last_6_consecutive/?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;上次发生这种情况&lt;/a&gt;是在 2014 年 7 月，由 GHash 达成，一段时间拥有超过 40% 的算力，甚至有短暂时间触及 51%。在此之前 9 个月，BTC Guild 曾拥有近一半的算力。如果你拥有 50% 的算力，那么连续铸造 6 个区块的机会为 0.5⁶= 64 分之一。如果您持有 50% 的算力，那么您可以预计每 12 小时左右会连续打出 6 个区块。&lt;/p&gt;

&lt;p&gt;很显然，在长期时间尺度上无法持续对比特币的过去中位时间施加影响，而不占据多数算力，但通过正确的运气，可以在短期内（一个或多个区块）将其拖延数小时。如果假设其他矿工的时间戳相当准确，则过去中位时间应该大约是 1 小时前，尽管由于找到区块的变化性，这可能会再多几小时。如果您成功铸造了 6 个时间戳为 1 小时前加 1 秒、2 秒、3 秒等的区块，那么在第 6 个区块时，过去中位时间应该是大约 2 小时前。如果假设区块之间有 1 小时间隔的极端情况，则过去中位时间应该是 6 小时前。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;通过允许区块时间戳具有合理的灵活性，然后取最近区块的中位时间，我们得到了一个相当难以操纵的算法，但并不会对那些与真实时间有些不同步的矿工造成不利影响&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="假设比特币区块上的时间戳被成功篡改"&gt;假设比特币区块上的时间戳被成功篡改&lt;/h2&gt;
&lt;p&gt;如果攻击者拥有超过 50% 的网络算力，并且他们想要延迟比特币时间戳的流逝会发生什么呢？他们可以做一些相当危险的事情。&lt;/p&gt;

&lt;p&gt;这样的作恶矿工可以延迟新区块时间一秒。如果他们在足够长的时间内这样做，并且在难度重设期间创建区块，并让时间戳看起来像是前 2016 个区块花费了远远超过 2 周的时间来创造，他们可以操纵&lt;a href="https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/pow.cpp?ref=blog.lopp.net#L49" rel="nofollow" target="_blank" title=""&gt;挖矿难度调整逻辑&lt;/a&gt;，使每 2016 个区块的挖矿难度降低高达 75%。最终，难度足够低后，他们可以在规定时间内铸造任意数量的区块，从而获得比预期更多的挖矿奖励。优化后的时间扭曲攻击可以在 18.7 天内挖出所有剩余比特币。实际上，由于难度调整中的一个&lt;a href="https://archive.fo/HY1fz?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;小问题&lt;/a&gt;，我们在比特币的 testnet3 上看到了类似行为，现在 testnet3 在 8 年内铸造了 1,482,878 个区块，这是预期发行总量的约 350%。&lt;/p&gt;

&lt;p&gt;时间扭曲攻击并不是什么新鲜事。这样的攻击首次针对一种被称为“&lt;a href="https://bitcointalk.org/index.php?topic=42417.0&amp;amp;ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;Geist Geld&lt;/a&gt;”的加密货币在 2011 年进行，被视为比特币论坛上“&lt;a href="https://bitcointalk.org/index.php?topic=43692.msg521772&amp;amp;ref=blog.lopp.net#msg521772" rel="nofollow" target="_blank" title=""&gt;51% 攻击的变种&lt;/a&gt;”。Geist Geld 旨在通过非常短的区块时间测试区块生成速率的上限，以及与（几乎）稳定的生成速率和供应没有上限或变化的加密货币的行为。&lt;/p&gt;

&lt;p&gt;Whitecoin 在 2014 年似乎也&lt;a href="https://archive.fo/eRzMV?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;遭受了一次时间扭曲攻击&lt;/a&gt;。
2018 年，&lt;a href="https://archive.fo/eRzMV?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;Verge&lt;/a&gt;遭受了这样的攻击。然后 6 周后再次遭受攻击！&lt;/p&gt;

&lt;p&gt;一般来说，对于特定类型的硬件（ASIC 或 GPU），低算力的加密货币容易受到时间扭曲攻击的影响，因为它们本质上容易受到 51% 攻击的攻击。&lt;/p&gt;

&lt;p&gt;推荐阅读 &lt;a href="https://www.coindesk.com/markets/2018/10/13/not-everyone-wants-to-fix-bitcoins-time-warp-attack-heres-why/?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;Not Everyone Wants to Fix Bitcoin's 'Time Warp Attack' – Here's Why&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;有趣的是，尽管时间扭曲通常被称为一种攻击，因为它导致系统行为发生意外变化，但一些人表明它实际上可以被利用作为潜在的期望用途。2015 年，Vitalik Buterin 描述了通过软分叉&lt;a href="https://www.reddit.com/r/btc/comments/428tjl/softforking_the_block_time_to_2_min_my_primarily/?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;加快区块速度&lt;/a&gt;，从而增加链上容量的方法。2018 年，比特币开发者 Mark Friedenbach 提出了一项利用这种意外行为以增加比特币新功能的提议。在他的“&lt;a href="http://freico.in/forward-blocks-scalingbitcoin-paper.pdf?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;Forward Blocks&lt;/a&gt;”提议中，Mark 表示他的方法可以将链上交易量扩大到目前水平的 3584 倍，以一种向后兼容的方式更改工作证明算法，进行分片、为共识费用检测设置可返还的手续费市场，并平滑矿工补贴下降，同时为机密交易、mimblewimble、不可链接匿名花费以及侧链的先决协议提供支持。&lt;/p&gt;

&lt;p&gt;然而，此类提议存在争议，可能会迫使任何构建依赖比特币区块头中时间戳的系统的人去寻找其他数据源。这样的改变也很容易被阻止，正如 Greg Maxwell 在比特币开发者邮件列表上所述：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;可以通过进一步约束区块时间戳的软分叉来修复这个问题，关于这方面已经提出了几项建议。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;比特币的时间戳安全性和约束可接受时间戳窗口的简单规则尽管存在已知的弱点，但在对抗环境下经受了 10 年的考验。我们知道，如果有一群算力占比 51% 的矿工，他们可能会在网络上制造混乱，至少在短期内可以作恶，但这种情况从未发生过——可能是因为矿工没有这样做的激励。理性的矿工不会选择短期利益来毁掉长期的金蛋。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lopp.net/bitcoin-timestamp-security/" rel="nofollow" target="_blank" title=""&gt;原文链接&lt;/a&gt;&lt;/p&gt;</description>
      <author>wenweihuang</author>
      <pubDate>Sun, 03 Mar 2024 01:31:03 -1200</pubDate>
      <link>https://metanethub.com/topics/193412cab060</link>
      <guid>https://metanethub.com/topics/193412cab060</guid>
    </item>
    <item>
      <title>比特币技术 - BTC 钱包优化 UTXO 选择的挑战</title>
      <description>&lt;p&gt;比特币钱包不同 UTXO 选择器算法的利弊对比&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1706502865/oq2ohsprsx2d7w0f0y2k.png" title="" alt="BTC UTXO coin slection"&gt;&lt;/p&gt;

&lt;p&gt;当我们谈论比特币存储在区块链上时，大多数人都使用“地址余额”的专业术语，这从会计角度是有意义的，但这并不是币在区块链的数据结构中实际表示的方式。与其说地址“包含币”，不如说“币”实际上存储为“未花费交易输出”（UTXO）。UTXO 可以与比特币地址关联，尽管你也可以有许多不同的与同一个比特币地址关联的 UTXO。“地址余额”是与该地址关联的所有 UTXO 值的总和。要从非技术角度了解更多关于 UTXO 的信息，我建议阅读 Richard Gendel Brown 的&lt;a href="http://gendal.me/2014/03/29/welcome-to-bitcoin-island/?ref=blog.lopp.net" rel="nofollow" target="_blank" title=""&gt;《欢迎来到比特币岛》&lt;/a&gt;。要了解技术概述，请查看&lt;a href="https://bitcoin.org/en/developer-guide?ref=blog.lopp.net#block-chain-overview" rel="nofollow" target="_blank" title=""&gt;开发者指南&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1706503267/nsosuutghuqz2oqxsa2c.png" title="" alt="BTC transaction construct"&gt;. 
比特币交易数据结构由输入和输出构成，未花费的输出就是 BTC&lt;/p&gt;

&lt;p&gt;当比特币钱包软件创建新交易时，它在如何安排交易的内部数据方面有相当大的灵活性。这是因为用户指示钱包：“向地址 Y 发送 X 比特币”，钱包需要查找用户的 UTXO，以找到足够的输出，其总值达到 X 比特币的目标。不幸的是，并没有一个简单直接的方法来选择 UTXO，因为有几个考虑因素。&lt;/p&gt;

&lt;p&gt;粗暴方法是简单地寻找大于你想要花费的金额的最小输出并使用它，否则开始添加下一个最大的输出，直到你有足够的输出来满足支出目标。然而，这会导致输出的零碎，直到钱包被无法花费的“尘埃”所淹没。这既可能是性能问题，也可能会对最终用户产生干扰，如果他们曾试图清理仅剩微小余额的钱包 - 在一个经历了许多交易的钱包中，这可能会导致有太多 UTXO，无法在一个交易中全部花费。&lt;/p&gt;

&lt;p&gt;尽管比特币交易可以包含数百个输入和数百个输出，但这是有代价的。交易中输入和输出越多，交易的数据大小就越大。比特币节点将拒绝大于 100KB 的交易。此外，由于区块的大小是受限制的（目前为 1MB），你正在与其他人竞争，以便让矿工将其添加到区块中确认你的交易。如果你广播一个没有费用或微不足道的费用的大数据大小交易，你将面临节点拒绝广播它的风险，你将面临矿工选择优先确认具有更高每字节数据费用的交易而不是你的交易。作为参考，我使用&lt;a href="https://jlopp.github.io/statoshi/" rel="nofollow" target="_blank" title=""&gt;Statoshi&lt;/a&gt;追踪了一些关于交易和费用的数据指标 - 你可以在&lt;a href="https://statoshi.info/?ref=blog.lopp.net#/dashboard/db/transactions" rel="nofollow" target="_blank" title=""&gt;这里&lt;/a&gt;看到，撰写时的平均费用目前约为 30 satoshi 每字节交易数据。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1706503727/o8c25ptpac7ywafadnr4.png" title="" alt="BTC transaction size and fee"&gt;&lt;br&gt;
比特币交易大小和对应手续费图表&lt;/p&gt;

&lt;p&gt;如果我们要优化钱包选择 UTXO 用于交易创建的算法，首先决定我们的目标是什么，然后要优化哪些交易属性。优化 UTXO 选择的四个广泛目标如下：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;防止区块链膨胀&lt;/strong&gt;：&lt;br&gt;
A) 在可能的情况下，应避免创建小的找零输出。它们对钱包和消费区块链的所有人都有性能成本。由于比特币节点的粉尘规则和费用的市场竞争，对最终用户而言，花费这些输出也可能更加昂贵。&lt;br&gt;
B) 小 UTXO 的合并：随着时间的推移，钱包自然会控制许多小的 UTXO。为了减少钱包的 UTXO 集合大小，从而减少整个区块链的 UTXO 集合大小，最好在单个交易中花费许多非常小的 UTXO 以将它们从 UTXO 集合中移除。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;支持高交易量&lt;/strong&gt;：&lt;br&gt;
A) 对于发送多个交易的高交易量钱包，重要的是保持足够数量的确认 UTXO 可用。否则，钱包将不得不花费未确认的 UTXO，这使得交易在父交易首次确认之前不可能确认。因此，如果钱包没有许多已确认 UTXO，则可能需要创建多个找零输出。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;隐私&lt;/strong&gt;：&lt;br&gt;
A) 应该随机选择 UTXO，并且尽可能少地涉及不同的公钥。当钱包选择 UTXO 时，应该优先选择分配给同一公钥的任何其他 UTXO。&lt;br&gt;
B) 小输入如果明显小于找零的大小，并且与较大的输入不共享它们的公钥，则不应使用，因为它们会增加交易费用并降低隐私。&lt;br&gt;
C) 如果必须创建找零输出，则最好创建一个与支付价值相同量级的找零输出。这有助于掩盖哪个输出发送给收件人，哪个是发件人的找零。&lt;br&gt;
D) 对于有多个输出的交易，应该在随机位置插入找零输出，而不总是插入首位或末位。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;最少化交易费用&lt;/strong&gt;：&lt;br&gt;
A) 优先选择成本较低的交易输入集。这意味着交易应尽可能简单且数据大小尽可能小，包括少量输入和输出。优先考虑只使用单个 UTXO 作为交易的输入。&lt;br&gt;
B) 此外，通过发送币龄较早的比特币，可以优先选择按币龄选择 UTXO - 这样一来，交易将有资格被矿工确定为“高优先级”，并且不需要附加费用即可确认。&lt;br&gt;
C) 如果消耗 UTXO 的成本（通过额外的费用要求）比其对交易输出价值的贡献要高，就不应该将其添加进去。&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;现实世界的钱包是如何工作的呢？对于比特币核心钱包来说，它使用了一些相当复杂的逻辑：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;如果任何一个单独的 UTXO 恰好匹配目标（花费价值），则将使用该 UTXO。&lt;/li&gt;
&lt;li&gt;如果所有小于目标金额的 UTXO 的总和恰好匹配目标金额，它们将被使用。（这可以防止在清理钱包时出现错误。）&lt;/li&gt;
&lt;li&gt;如果小于目标金额的所有 UTXO 的总和不超过目标金额，那么将使用大于目标金额的最小 UTXO。&lt;/li&gt;
&lt;li&gt;比特币节点进行了 1000 轮随机组合未花费交易输出，直到它们的总和大于或等于目标金额。如果找到了完全匹配的情况，它会提前停止并使用该组合。在代码注释中解释这一步的理由：“随机性并没有实际的安全目的，只是为了防止退化行为”。 &lt;/li&gt;
&lt;li&gt;否则，最终会选择大于目标金额的最小 UTXO 或在第 4 步中发现的 UTXO 组合中的较小者。&lt;/li&gt;
&lt;li&gt;在构建最终交易时，如果有任何找零输出金额足够小以被视为“粉尘”，比特币节点不会创建这些找零输出，而是将这部分价值捐赠给矿工作为交易费。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;比特币节点的优化逻辑是“以最少化找零输出”，即上面列出的目标 1A。但这是否是选择 UTXO 的“最佳”或“正确”方式？这取决于你的观点 - 如果你重视隐私、最小化交易费用或 UTXO 合并，那么这种方式就不是最优的。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1706504588/to3gij3p51ljmwjc3tvc.png" title="" alt="比特币网络 UTXO 视图"&gt;&lt;br&gt;
比特币网络 UTXO 视图&lt;/p&gt;

&lt;p&gt;很明显，对于这个问题并不存在“一刀切”的解决方案，事实上，上面概述的三个广泛的优化目标往往是直接相互对立的。鉴于这些相互冲突的目标，钱包作者的答案可能是让最终用户更多地控制钱包的 UTXO 选择算法。这应该是针对高级用户的高级功能，但我可以设想一种简单的下拉框，用户可以在“费用/性能/隐私”之间进行选择优化。&lt;/p&gt;

&lt;p&gt;这些实施选择由钱包工程师决定，我呼吁他们成为区块链的良好管理者。请记住，我们正在向共享资源写入数据；我们最好谨慎行事。在撰写本文时 2015 年，有 17.6M 个 UTXO 需要 596MB 的数据来存储。如果比特币继续增加其受欢迎程度，这些数字必然会上升。但通过成为负责任的区块链工程师，至少我们可以防止 UTXO 集合的增长超过必要的速度。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lopp.net/the-challenges-of-optimizing-unspent-output-selection/" rel="nofollow" target="_blank" title=""&gt;英文原文链接&lt;/a&gt;&lt;/p&gt;</description>
      <author>wenweihuang</author>
      <pubDate>Sun, 28 Jan 2024 17:04:57 -1200</pubDate>
      <link>https://metanethub.com/topics/c12cfb930bab</link>
      <guid>https://metanethub.com/topics/c12cfb930bab</guid>
    </item>
    <item>
      <title>How to implement a decentralize CFD exchange</title>
      <description>&lt;h2 id="How to implement a decentralize CFD exchange"&gt;How to implement a decentralize CFD exchange&lt;/h2&gt;
&lt;p&gt;Implementing a decentralized Contract for Difference (CFD) exchange, especially from a technology perspective, requires a comprehensive understanding of blockchain technology, smart contracts, and decentralized finance (DeFi) protocols. Here's a detailed breakdown:&lt;/p&gt;
&lt;h3 id="1. Blockchain Platform Selection:"&gt;1. Blockchain Platform Selection:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Choose a blockchain platform that supports smart contracts, like Ethereum, Binance Smart Chain, or Solana, considering factors like transaction speed, cost, scalability, and security.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2. Smart Contract Development:"&gt;2. Smart Contract Development:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop smart contracts to automate the CFD trading process. These contracts will handle trade execution, margin calls, settlement, and dispute resolution.&lt;/li&gt;
&lt;li&gt;Ensure smart contracts are thoroughly tested and audited for security vulnerabilities to prevent hacks and funds loss.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3. Decentralized Oracle Integration:"&gt;3. Decentralized Oracle Integration:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Integrate with decentralized oracle networks like Chainlink to feed real-time and accurate asset price data into the smart contracts. This is crucial for the fair execution of CFDs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4. Liquidity Solutions:"&gt;4. Liquidity Solutions:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Implement liquidity pools to facilitate trading. Users can contribute to these pools and earn fees, similar to the liquidity provision in DeFi protocols.&lt;/li&gt;
&lt;li&gt;Consider creating incentives (like liquidity mining) to encourage users to provide liquidity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5. Margin and Leverage Mechanisms:"&gt;5. Margin and Leverage Mechanisms:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Design mechanisms within smart contracts to manage margin trading and leverage. Ensure that these mechanisms include features to prevent excessive risk, such as automatic liquidations at certain thresholds.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6. User Interface (UI) Development:"&gt;6. User Interface (UI) Development:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop a user-friendly interface that interacts seamlessly with the blockchain. This includes wallet integration (like MetaMask) for transactions and account management.&lt;/li&gt;
&lt;li&gt;The UI should provide a clear view of market positions, margin requirements, potential profits and losses, and other relevant trading information.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="7. Decentralized Identity and KYC:"&gt;7. Decentralized Identity and KYC:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;For regulatory compliance, integrate decentralized identity solutions that enable KYC/AML checks while maintaining user privacy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="8. Risk Management Algorithms:"&gt;8. Risk Management Algorithms:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Implement risk management algorithms on-chain to manage the overall risk of the platform, including mechanisms to handle extreme market volatility and liquidity crunches.- &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="9. Governance Mechanism:"&gt;9. Governance Mechanism:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Establish a decentralized governance model allowing token holders to vote on key decisions like protocol updates, fee structures, and new feature implementations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="10. Interoperability Considerations:"&gt;10. Interoperability Considerations:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure the platform is capable of interacting with other DeFi protocols and can support multi-chain functionality for broader accessibility.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="11. Security Measures:"&gt;11. Security Measures:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Implement multi-signature wallets and other security protocols to manage funds within the platform securely.&lt;/li&gt;
&lt;li&gt;Regularly conduct security audits and consider bug bounty programs to identify and fix vulnerabilities.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="12. Monitoring and Analytics:"&gt;12. Monitoring and Analytics:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop tools for real-time monitoring of transactions and positions on the platform.&lt;/li&gt;
&lt;li&gt;Integrate analytics tools for users to track performance, risks, and other metrics.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13. Scalability Solutions:"&gt;13. Scalability Solutions:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Plan for scalability by considering layer 2 solutions or sidechains to manage higher transaction loads and reduce costs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="14. Community Building and Marketing:"&gt;14. Community Building and Marketing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Engage with the crypto and DeFi community for platform promotion, feedback, and building a user base.&lt;/li&gt;
&lt;li&gt;Maintain transparency about operations, updates, and security measures to build trust.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="Conclusion:"&gt;Conclusion:&lt;/h3&gt;
&lt;p&gt;Building a decentralized CFD exchange is a complex and multifaceted project requiring expertise in blockchain development, finance, and security. It's crucial to stay updated with the latest developments in DeFi and blockchain technology and be prepared to adapt to the rapidly changing landscape of decentralized finance.&lt;/p&gt;
&lt;h2 id="Investigate Liquidity Solutions of Dex CFD exchange"&gt;Investigate Liquidity Solutions of Dex CFD exchange&lt;/h2&gt;
&lt;p&gt;Liquidity solutions for decentralized CFD exchanges, particularly those operating as Decentralized Exchanges (DEXs), involve several innovative approaches. Here are the key insights from the sources reviewed:&lt;/p&gt;
&lt;h3 id="1. Automated Market Makers (AMMs) and Liquidity Pools"&gt;1. Automated Market Makers (AMMs) and Liquidity Pools&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DEXs often use Automated Market Makers (AMMs) to maintain liquidity. AMMs algorithmically set prices in liquidity pools, maintaining a constant value ratio between tokens in a pool​​.&lt;/li&gt;
&lt;li&gt;For example, Uniswap uses a simple formula &lt;strong&gt;a * b = k&lt;/strong&gt;, where 'a' and 'b' are the token quantities in the liquidity pool, and 'k' remains constant. This formula ensures the total liquidity in the pool remains the same​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2. Earning from Trading Fees"&gt;2. Earning from Trading Fees&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Liquidity providers (LPs) earn profits from trading fees generated by the liquidity pool. For instance, if a user's deposit represents 5% of the assets in a pool, they receive an equivalent of 5% of the pool’s accrued trading fees​​.&lt;/li&gt;
&lt;li&gt;LPs are issued Liquidity Provider Tokens (LP tokens) that reflect the value of assets they've deposited. These tokens can be staked or used in other protocols, enhancing the liquidity of staked assets​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3. Yield Farming"&gt;3. Yield Farming&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Yield farming involves staking LP tokens in multiple DeFi liquidity pools to earn profits from various protocols. This strategy can compound earnings from liquidity provision​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4. Decentralized Liquidity Provision"&gt;4. Decentralized Liquidity Provision&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Decentralized liquidity provisioning through smart contracts is a novel approach, differing from traditional financial markets. It allows broader, more competitive involvement in market-making​​.  please check -&amp;gt; &lt;a href="https://www.coindesk.com/markets/2017/08/13/solving-the-liquidity-challenge-of-decentralized-exchanges/" rel="nofollow" target="_blank" title=""&gt;Solving the Liquidity Challenge of Decentralized Exchanges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Despite growing rapidly, the total quantity of liquidity in decentralized pools remains small compared to conventional markets​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5. Challenges and Considerations"&gt;5. Challenges and Considerations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The cost of actively managing positions, especially in terms of gas fees on blockchains like Ethereum, becomes a significant factor. Higher gas prices can lead to shifts in liquidity supply from low- to high-fee pools​​. please check -&amp;gt; &lt;a href="https://www.tradersmagazine.com/departments/ecns_and_exchanges/decentralized-liquidity/" rel="nofollow" target="_blank" title=""&gt;Decentralized Liquidity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Market fragmentation can occur due to variation in liquidity fees and economies of scale. High gas fees can cause larger transaction costs on incoming orders and affect the equilibrium of liquidity provision​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6. Layer-2 and Off-Chain Solutions"&gt;6. Layer-2 and Off-Chain Solutions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Projects like Unipig and StarkDEX focus on increasing network capacity and execution time, offering Layer-2 and off-chain solutions for rapid trade settlement. These are crucial for liquidity providers who need the ability to quickly remove liquidity​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="Conclusion:"&gt;Conclusion:&lt;/h3&gt;
&lt;p&gt;Implementing liquidity solutions for a decentralized CFD exchange involves leveraging DeFi innovations like AMMs, liquidity pools, yield farming, and LP tokens. Challenges include managing gas costs, ensuring sufficient liquidity provision, and dealing with market fragmentation. Layer-2 solutions are also vital for addressing network capacity and speed, crucial for effective liquidity management in decentralized environments.&lt;/p&gt;
&lt;h2 id="Investigate Liquidity Solutions of CFD exchange of margin and Leverage Mechanisms"&gt;Investigate Liquidity Solutions of CFD exchange of margin and Leverage Mechanisms&lt;/h2&gt;
&lt;p&gt;Liquidity solutions in CFD (Contract for Difference) exchanges, particularly those involving margin and leverage mechanisms, are multifaceted and rely on various factors. Here's an overview based on the gathered information:&lt;/p&gt;
&lt;h3 id="1. Understanding CFD Trading and Liquidity:"&gt;1. Understanding CFD Trading and Liquidity:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CFD trading allows speculation on the future value of assets without owning the underlying resource. The profit or loss depends on the price difference when the contract is opened and closed​​.&lt;/li&gt;
&lt;li&gt;Liquidity in CFD trading is crucial as it determines the ease of executing transactions quickly and with minimal costs​​.&lt;/li&gt;
&lt;li&gt;Leverage in CFD trading enables traders to open positions by depositing only a fraction of the full trade value (known as margin). This can amplify potential profits but also increases potential losses​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2. Margin Liquidity-Providing Positions:"&gt;2. Margin Liquidity-Providing Positions:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Margin liquidity-providing positions can be applied to both Decentralized Exchanges (DEX) and Centralized Exchanges (CEX). They provide liquidity within a specific price range and increase liquidity in the price range without the potential danger of cascading liquidation, unlike traditional long and short margin trading positions​​. please check -&amp;gt; &lt;a href="https://www.xcritical.com/blog/what-are-cfd-liquidity-providers-and-how-to-choose-one/" rel="nofollow" target="_blank" title=""&gt;CFD Liquidity Providers: How They Work and How to Choose One&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Virtual Margin Liquidity-Providing Positions are proposed to lower the risk of divergence loss, which is a major source of liquidity shortage in DEX-AMM (Automated Market Makers)​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3. Influence of Market Factors on CFD Liquidity:"&gt;3. Influence of Market Factors on CFD Liquidity:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Trading volumes of underlying assets greatly influence CFD liquidity. High trading volumes generally lead to high liquidity, while low volumes can result in lower liquidity​​.&lt;/li&gt;
&lt;li&gt;The number of market participants and their activity levels, especially liquidity providers like large financial institutions, also affect CFD liquidity​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4. Margin Calls and Account Liquidity:"&gt;4. Margin Calls and Account Liquidity:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A trader's account liquidity is affected by factors like their cash balance and the value of open positions. A high cash balance and few open positions typically mean high account liquidity​​.&lt;/li&gt;
&lt;li&gt;If the market moves against the trader's open positions, it can reduce account liquidity. If it falls below a certain level, the CFD provider may issue a margin call, requiring the trader to deposit additional funds​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5. Leverage and Risk Management:"&gt;5. Leverage and Risk Management:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;While leverage can lead to greater profits, it also magnifies losses if the market moves against the trader's position. It's important for traders to manage leverage cautiously and understand the risks involved​​.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6. Spread and Overnight Funding:"&gt;6. Spread and Overnight Funding:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The spread (the cost of trading) and overnight funding (a fee for holding a CFD position open overnight) are important aspects of CFD trading. Overnight funding is often calculated based on the relevant interbank rate plus the broker's fee​​. please check -&amp;gt; &lt;a href="https://ar5iv.labs.arxiv.org/html/2212.10035" rel="nofollow" target="_blank" title=""&gt;Efficient Liquidity Providing via Margin Liquidity&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="Conclusion:"&gt;Conclusion:&lt;/h3&gt;
&lt;p&gt;Effective liquidity solutions in CFD exchanges, especially those involving margin and leverage, hinge on understanding the complexities of CFD trading, managing leverage and margin requirements, the influence of market factors like trading volumes and the presence of liquidity providers, as well as being mindful of costs like spreads and overnight funding. It's essential for traders and exchange operators to consider these aspects to ensure efficient and profitable trading operations.&lt;/p&gt;</description>
      <author>wenweihuang</author>
      <pubDate>Tue, 09 Jan 2024 16:37:45 -1200</pubDate>
      <link>https://metanethub.com/topics/8973f37e71a6</link>
      <guid>https://metanethub.com/topics/8973f37e71a6</guid>
    </item>
    <item>
      <title>探索比特币 RGB 协议：比特币网络的二层智能合约协议</title>
      <description>&lt;p&gt;比特币闪电网络和零知识证明技术为基础的的状态通道校验协议，通过二层，赋予比特币网络图灵完备的智能合约功能，并且用户能够保护隐私的方式安全地进行链下处理交易。  &lt;/p&gt;

&lt;p&gt;RGB 不仅只为发行代币而设计，同时具备发行和管理各种具有高扩展、可编程和可靠的数字资产。所以还支持金融领域以外的领域。  &lt;/p&gt;
&lt;h2 id="1. RGB 协议发展路径"&gt;1. RGB 协议发展路径&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;2016 年 Giacomo Zucco 受 Peter Todd 的想法启发，开启了 RGB 协议概念性实践。&lt;/li&gt;
&lt;li&gt;2017 年 Poseidon 组织发起的 &lt;a href="https://twitter.com/BHBnetwork" rel="nofollow" target="_blank" title=""&gt;BHB 网络&lt;/a&gt;上线原始版本的 RGB 协议。&lt;/li&gt;
&lt;li&gt;2019 年 Maxim Orlovsky 和 Giacomo Zucco 建立 LNP/BP 标准协会来推广 RGB 协议的应用实践。Maxim Orlovsky 重新设计 RGB 协议。&lt;/li&gt;
&lt;li&gt; 2021 年 LNP/BP 标准协会验证了 RGB 图灵完备的虚拟机 (AluVM)，RGB 支持在比特币闪电网络运行。&lt;/li&gt;
&lt;li&gt; 2022 年引入了 &lt;a href="https://contractum.org/" rel="nofollow" target="_blank" title=""&gt;Contractum&lt;/a&gt; 语言编写 RGB 智能合约，兼容比特币和闪电网络。&lt;/li&gt;
&lt;li&gt; 2023 年四月发布 RGB 0.10 版本正式宣告生产环境可用的比特币和闪电网络智能合约。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2. 协议设计逻辑"&gt;2. 协议设计逻辑&lt;/h2&gt;
&lt;p&gt;RGB 协议的核心思想围绕比特币网络第一层工作量证明 PoW 共识和二层链下数据存储两个重要环节。  &lt;/p&gt;

&lt;p&gt;分布式系统的重要价值无非就是节点间的共识维护。RGB 依赖比特币网络的共识，保留冗余的事件在 RGB 客户端，把客户端的数据通过简短的密码学哈希计算，产生短数据提交到比特币网络用以数据校验。此种方式确保了链下数据的有效性和完整性而不额外增加比特币网络一层数据冗余。  &lt;/p&gt;

&lt;p&gt;RGB 账本数据链下存储，意味着智能合约数据和状态变化过程产生的事件数据都不会上链。到此，开始提到&lt;strong&gt;单次使用封条&lt;/strong&gt; (single-use-seals) 和状态转移两个重要概念，RGB 协议不在链上存储虽有数据的前提下，得以有效地追溯和验证智能合约的状态。所以在处理和验证智能合约的状态和状态变化尤为高效率。  &lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1702970557/swmkrjfb6z0mbsd5t1ln.png" title="" alt="RGB transaction structure"&gt;  &lt;/p&gt;

&lt;p&gt;RGB 协议的基石建立在健壮的比特币第一层网络，工作量证明 (PoW) 的共识算法和全球公开账本。同时数据不必全部上链，利用比特币已有的账本基础设施，以交易为载体来存储链下数据的校验哈希。简而言之，利用比特币第一层协议来建立 RGB 的客户端校验机制。&lt;/p&gt;
&lt;h3 id="2.1 客户端校验"&gt;2.1 客户端校验&lt;/h3&gt;
&lt;p&gt;RGB 智能合约的客户端校验模型，所有的数据都没有在比特币交易结构中，包含比特币网络和闪电网络的通道状态之中。这套系统运行于闪电网络，实现了扩容和隐私友好的高阶协议的基础功能。  &lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1702970714/rlorsodwpkze5gbcref3.png" title="" alt="rgb CSV"&gt;  &lt;/p&gt;
&lt;h3 id="2.2 RGB 智能合约"&gt;2.2 RGB 智能合约&lt;/h3&gt;
&lt;p&gt;RGB 智能合约包含创世 (Genesis), 状态 (State) 和状态转移 (Transition) 三个基础组建。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; 创世 (Genesis) 声明智能合约，定义合约的属性和规则，其中包含了合约类型、目的和初始化设置。在代码中，创世部分设置了合约的起始点，例如在标识校验的合约中初始化特定的标识信息。&lt;/li&gt;
&lt;li&gt;状态（State）: 状态代表在给定时间点的合约当前状态，实时的合约数据快照，这些数据包含虽有的变量值和资产信息。&lt;/li&gt;
&lt;li&gt;状态转换 (Transition)：状态转换顾名思义即状态从某种状态转换到另一种状态变化规则。这些规则根据合约逻辑来决定状态如何变化。例如销毁操作 (op Revocation, op Transfer)，来约束标识如何从某中状态更变为另外一种状态，转账操作（op Transfer）定义代币转账逻辑。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;通过以上三种组件是 RGB 智能合约的架构，定义和执行各种操作和合约协议。创世组件设置了规则和参数，状态维护合约当前的信息，状态转换组件控制状态改变的逻辑。&lt;/p&gt;
&lt;h3 id="2.3 单次使用封条 Single-Use Seals"&gt;2.3 单次使用封条 Single-Use Seals&lt;/h3&gt;
&lt;p&gt;在保护用户隐私的前提下，为确保资产安全和高效地管理，RGB 协议使用一种称为 "single-use-seals" 单次使用封条的方法。该方式通过在比特币交易的输出中绑定资产（代币属于资产的一种），每次资产转移操作都必须打开一个就的封条并创建一个新的封条。&lt;strong&gt;单次使用封条&lt;/strong&gt;代表着资产拥有权或合约状态。每次状态转换或状态或交易都会销毁对应的封条和新建一个新的封条，以此实现资产保护，也就是防止双花，确保资产转移的不可篡改。  &lt;/p&gt;

&lt;p&gt;以上操作仅发生在 RGB 客户端，并且产生的数据只有最后的哈希上链，以此实现了隐私保护，降低比特币账本的空间使用，最终实现了 RGB 二层的效率和可扩展性。&lt;/p&gt;
&lt;h4 id="单次使用封条的步骤"&gt;单次使用封条的步骤&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;智能合约起始于创世操作，定义初始状态和对应的单次使用封条。定义了合约中的初始资产分发规则或权利。&lt;/li&gt;
&lt;li&gt;在合约中，状态代表当前资产的配置或权利，每个状态都和一个单次使用封条关联，表明资产当前的拥有权。&lt;/li&gt;
&lt;li&gt;状态转换是资产或权利的转移或改变过程。包含关闭当前的单次使用封条（代表旧状态）和新建一个新的封条。&lt;/li&gt;
&lt;li&gt;关闭一个封条涉及到封条的完整性校验并标记已被使用，防止再次使用。然后根据合约规则创建一个新的封条，以此代表新状态。&lt;/li&gt;
&lt;li&gt;状态转移，合约涉及到的参与者需要验证对应的单次使用封条的有效和法性。验证的过程通过 RGB 节点和参与方的钱包自动完成。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="3. 建立 RGB 闪电网络通道"&gt;3. 建立 RGB 闪电网络通道&lt;/h2&gt;
&lt;p&gt;从支付的角度看 RGB 闪电网络通道的创建过程，有以下步骤：  &lt;/p&gt;
&lt;h3 id="3.1 通道创建"&gt;3.1 通道创建&lt;/h3&gt;
&lt;p&gt;两个节点之间建立支付通道，BTC 是必须的。例如在 Umbrel (用户可以运行比特币和闪电网络节点)，用户在控制面板中点击 Bitcoin 标签，选择充值，然后用户把 BTC 转到 Umbrel 节点的比特币钱包地址，用户节点有了 BTC 之后，就可以创建闪电网络通道。 &lt;/p&gt;
&lt;h3 id="3.2 多签合约"&gt;3.2 多签合约&lt;/h3&gt;
&lt;p&gt;通道核心是 2-2 多签合约，通过比特币上的哈希时间锁定合约来实现 (Hash Time Locked Contract - HTLC). 也就是两方同时控制 BTC，从技术的角度看，这些 BTC 是双方共同持有，单方各自持有解锁被锁定的 BTC 一般的控制权限。&lt;/p&gt;
&lt;h3 id="3.3. 交易执行"&gt;3.3. 交易执行&lt;/h3&gt;
&lt;p&gt;通道内部，在多签合约中发起支付，每个通道 (channel) 代表比特币区块链中的一个 UTXO（HTLC 产生的交易输出），被两个节点共同控制，通俗讲就是共管账户。&lt;/p&gt;
&lt;h3 id="3.4 链下交易"&gt;3.4 链下交易&lt;/h3&gt;
&lt;p&gt;通过这些通道，用户可以在链下执行无限笔交易，明显地降低了交易手续费，同时也利用了比特币网络的安全性。&lt;/p&gt;
&lt;h2 id="4 钱包的 RGB 协议交互"&gt;4 钱包的 RGB 协议交互&lt;/h2&gt;
&lt;p&gt;RGB 协议的关键在于用户通过钱包来交互复杂的交易和合约操作。结合官方的技术文档逐步解释这些操作步骤。&lt;/p&gt;
&lt;h3 id="初始准备"&gt;初始准备&lt;/h3&gt;
&lt;p&gt;钱包需准备特定的比特币交易草稿（学名叫 PSBT - Partially Signed Bitcoin Transaction 比特币交易的部分签名），类似对交易结构拟写合约纲要。&lt;/p&gt;
&lt;h3 id="发信息到 RGB 节点"&gt;发信息到 RGB 节点&lt;/h3&gt;
&lt;p&gt;钱包把准备好的交易草稿（比如哪些 BTC 将会被转账）发送给 RGB 节点，这些节点用来专门处理 RGB 智能合约。RGB 节点准备一个记录，包含要发送的 BTC 所有的历史信息。类似相关历史记录的文件进行打包。&lt;/p&gt;
&lt;h3 id="构建新的交易"&gt;构建新的交易&lt;/h3&gt;
&lt;p&gt;基于 RGB 给钱包发送的记录，钱包构建新的交易，指定收款方和找零地址。类似传统的草稿合约中填写指定的收款方和支付信息。&lt;/p&gt;
&lt;h3 id="RGB 节点的最终准备工作"&gt;RGB 节点的最终准备工作&lt;/h3&gt;
&lt;p&gt;RGB 完成对转账记录最后准备工作，同时准备一个披露文档。这个披露包含该次操作可能对其他合约的影响信息。这步确保完成这次交易所有相关的文件和记录的准备。&lt;/p&gt;
&lt;h3 id="签名和广播交易"&gt;签名和广播交易&lt;/h3&gt;
&lt;p&gt;一旦以上准备工作的步骤完毕，交易记录被发送到收款方完成转账签名。收款方签名完毕，比特币交易的签名过程处理完毕，然后把交易广播到全网。然后 RGB 节点更新内部的记录来映射智能合约的最新状态。  &lt;/p&gt;

&lt;p&gt;以上处理步骤涉及记录准备、多方签名、最后确认和广播上链。RGB 协议通过这些手段确保智能合约的交易安全。&lt;/p&gt;
&lt;h2 id="5. RGB 协议应用场景"&gt;5. RGB 协议应用场景&lt;/h2&gt;&lt;h3 id="金融领域应用场景"&gt;金融领域应用场景&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;项目方或公司的代币，主体发行但分布式交易，增强市场流动性和透明性。&lt;/li&gt;
&lt;li&gt;自动化管理贷款和债券，通过智能合约自动偿还贷款。&lt;/li&gt;
&lt;li&gt;运行于闪电网络的稳定币，替代法币作为支付的媒介。&lt;/li&gt;
&lt;li&gt;开发去中心化交易所&lt;/li&gt;
&lt;li&gt;实现算法稳定币或 AAM 解决方案，促进交易的流动性和稳定性。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="非金融领域应用场景"&gt;非金融领域应用场景&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;DID 解决方案，实现个体能够掌控和管理自我的数字身份信息。 &lt;/li&gt;
&lt;li&gt;建立去中心化域名注册系统&lt;/li&gt;
&lt;li&gt;管理数字内容的控制权和版权。&lt;/li&gt;
&lt;li&gt;代币化艺术品，艺术家和收藏家的交易平台。 &lt;/li&gt;
&lt;li&gt;管理 DAO, 实现去中心化决策和治理。&lt;/li&gt;
&lt;li&gt;创建可证明和验证的审计日志系统，增强企业和项目的透明性和信誉。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="6. RGB 协议的代码实现特点"&gt;6. RGB 协议的代码实现特点&lt;/h2&gt;
&lt;p&gt;RGB 在代码实现上体现了智能合约上的创新。有以下几点：&lt;/p&gt;
&lt;h3 id="6.1. 模式概念 Schema Concept"&gt;6.1. 模式概念 Schema Concept&lt;/h3&gt;
&lt;p&gt;RGB 协议运用了模式的概念，与面向对象中类的概念类似。模式定义了 RGB 资产标准，促进钱包、交易所和浏览器插件和比特币节点的支持。这套框架，一个 RGB 合约就是模式的实例，由模式的创建者（创世操作者 genesis operation）。这种方式把合约开发者 (schema developer) 和合约发行方隔离，让不具备编程和安全能力但在实际商业创新的非专业人员运作。&lt;/p&gt;
&lt;h3 id="6.2. AluVM 虚拟机"&gt;6.2. AluVM 虚拟机&lt;/h3&gt;
&lt;p&gt;RGB 引入了 AluVM 虚拟机，功能上类似于以太坊的 EVM，能够运行图灵完备的智能合约。它可以执行几乎所有类型的计算，但在操作复杂度上有约束。AluVM 通过计算的复杂度累计来限制计算，类似以太坊 Gas 的消耗机制。  &lt;/p&gt;

&lt;p&gt;&lt;img src="https://images.metanethub.com/upload/c_fit,h_1920,w_1920/v1702970646/rh4evrltxdx827m4kcap.png" title="" alt="RGB AluVM"&gt;  &lt;/p&gt;
&lt;h3 id="6.3. 合约定义例子"&gt;6.3. 合约定义例子&lt;/h3&gt;
&lt;p&gt;RGB 在合约的定义中使用特定的数据类型，比如 PgpKey。这些类型不直接应用于某个合约中，而是在跨合约中的共享。合约状态和操作，比如标识和撤销，是被定义在合约状态之中，也潜在可能够被用于状态转移中。&lt;/p&gt;
&lt;h3 id="6.4. 合约实例和状态转移"&gt;6.4. 合约实例和状态转移&lt;/h3&gt;
&lt;p&gt;合约实例化设计到将模式应用到特定的情景，&lt;strong&gt;meSatoshiNakamoto&lt;/strong&gt; 实现了去中心化身份的模式，定义了初始状态，把这些状态赋值给单次使用封条。状态转换，比如通过销毁操作，涉及到更新标识和把这些标识赋值给单次使用封条。&lt;/p&gt;
&lt;h3 id="6.5. 扩展合约功能"&gt;6.5. 扩展合约功能&lt;/h3&gt;
&lt;p&gt;RGB 提供了扩展合约的功能，比如添加 IOU (I Own You) 代币，在合约中表示 ownable state &lt;strong&gt;IOYTokens&lt;/strong&gt; ，另外有一些全局状态，属于合约的属性，而不是单独被某个钱包，比如 &lt;strong&gt;IOYTicker&lt;/strong&gt;, &lt;strong&gt;IOYName&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="6.6. 特殊的语法结构"&gt;6.6. 特殊的语法结构&lt;/h3&gt;
&lt;p&gt;智能合约中的全局状态 (global state) 和 ownable state 的区别在于：全局状态在合约中应用，而 ownable state 和特定的单次使用封条 (single-use seals) 关联。合约使用特殊的语法结构，比如说大括号、中括号和问号来表示集合或数组，这些数据类型会在状态操作，特殊语法可作为一种可选的写法。&lt;/p&gt;
&lt;h3 id="6.7. 状态扩展的概念"&gt;6.7. 状态扩展的概念&lt;/h3&gt;
&lt;p&gt;状态扩展允许外部直接参与合约中特定的逻辑，例如资产销毁。状态扩展操纵允许任何人在没有上链的前提下创建状态扩展，等同于比特币交易尚未被打包到区块中确认。&lt;/p&gt;
&lt;h3 id="6.8. 合约接口"&gt;6.8. 合约接口&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;标准化交互：合约接口提供一种标准的方式与 RGB 节点交互，规范 RGB 节点返回语义明确的状态、新建操作。&lt;/li&gt;
&lt;li&gt;以太坊 ERC 标准类似性：这些合约接口与以太坊的 ERC 标准类似。比如创世接口命名为 &lt;code&gt;RGBxxx&lt;/code&gt; ，被单独 LNP/BP 标准中得以规范化。&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6.9. 新建创世代币接口的例子"&gt;6.9. 新建创世代币接口的例子&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;接口定义：定义全局状态 global states（例如 &lt;code&gt;Ticker&lt;/code&gt;, &lt;code&gt;Name&lt;/code&gt;），和 ownable states（例如 &lt;code&gt;Inflation&lt;/code&gt;, &lt;code&gt;Asset&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;接口实现：状态和操作的特定模式与接口绑定，例如同质化代币 (FungibleToken) 接口，实现了 global 和 ownable 状态被绑定于 &lt;code&gt;DecentralizedIdentity&lt;/code&gt; 模式。&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RGB 协议，独特的模式定义、AluVM 虚拟机，灵活的合约状态管理以及扩展插槽的机制，展现了赋能了比特币网络的智能合约创新。更多技术细节请查阅 RGB 协议的 Github 代码仓库 &lt;a href="https://github.com/RGB-WG/blackpaper/tree/master" rel="nofollow" target="_blank"&gt;https://github.com/RGB-WG/blackpaper/tree/master&lt;/a&gt;&lt;/p&gt;</description>
      <author>wenweihuang</author>
      <pubDate>Mon, 18 Dec 2023 18:43:44 -1200</pubDate>
      <link>https://metanethub.com/topics/9f1c81d9f0cc</link>
      <guid>https://metanethub.com/topics/9f1c81d9f0cc</guid>
    </item>
  </channel>
</rss>
