比特币是最安全和最持久的区块链,但它也面临着可扩展性和功能性的挑战。比特币的设计是简约的,旨在保持不变。Stacks 是一个建立在比特币之上的开源平台,它通过引入智能合约和去中心化应用(DApps)来增强比特币的功能。Stacks 是一个区块链解决方案,它利用比特币的安全性和共识机制,同时提供高吞吐量和低延迟的交易。Stacks 还实现了一个无需信任的双向比特币锚定机制,使得比特币可以在 Stacks 层上自由流通和使用。Stacks 还采用了 Clarity 语言,一种安全、可判定的智能合约语言,可以响应比特币交易并访问比特币状态。本文将介绍 Stacks 的主要创新和优势,以及它如何为比特币提供一个完全可编程的资产层。
引言
比特币是第一个成功的加密货币,它创造了一个去中心化、不可篡改、抗审查的价值网络。比特币具有独特的安全性和稳定性,因为它拥有最大的算力和最广泛的分布式节点。
然而,比特币也存在一些限制,例如交易速度慢、交易费用高、功能单一等。这些限制阻碍了比特币在更多场景中的应用,例如智能合约、去中心化金融(DeFi)、非同质化代币(NFT)等。
为了解决这些问题,许多项目尝试在比特币之上或之外构建更多功能和更高效率的区块链平台。然而,这些项目通常需要牺牲一定程度的安全性或去中心化性,或者需要依赖第三方服务或中介来实现与比特币的互操作性。这些方案都不能完全利用比特币本身的优势,也不能保证用户和开发者的信任和自主。
Stacks 是一个不同于其他项目的区块链平台,它旨在成为比特币的扩展解决方案。Stacks 不是试图替代或改变比特币,而是在比特币之上增加了智能合约和 DApps 的能力,使得比特币可以成为一个完全可编程的资产。Stacks 利用了比特币本身的安全性和共识机制,同时提供了高吞吐量和低延迟的交易体验。Stacks 还实现了一个无需信任的双向比特币锚定机制,使得比特币可以在 Stacks 层上自由流通和使用。此外,Stacks 还采用了 Clarity 语言,一种安全、可判定的智能合约语言,可以响应比特币交易并访问比特币状态。
本文将介绍 Stacks 的主要创新和优势,以及它如何为比特币提供一个完全可编程的资产层。
Stacks 的主要创新
Stacks 是一个区块链解决方案,它利用了比特币的安全性和共识机制,同时提供了高吞吐量和低延迟的交易体验。
Stacks 的主要创新和优势可以用以下六个字母来概括:
- S – 由比特币的全部算力保护(比特币终局性)。
- T – 无需信任的比特币锚定机制;向比特币写入。
- A – 原子比特币交换和由比特币地址拥有的资产。
- C – Clarity 语言,用于安全、可判定的智能合约。
- K – 对比特币完整状态的了解;从比特币读取。
- S – 可扩展、快速的交易,最终在比特币上结算。
下面我们将逐一介绍这些创新和优势。
S – 由比特币的全部算力保护(终局性)
Stacks 不是在比特币之外构建一个独立的区块链网络,而是直接利用了比特币本身的安全性和共识机制。
Stacks 使用了一种叫做共识桥接(consensus bridge)的技术,它可以将比特币区块链上发生的事件映射到 Stacks 区块链上,从而实现两个区块链之间的互操作性。
具体来说,Stacks 使用了一种叫做证明转移(proof-of-transfer, PoX)的共识算法,它可以让 Stacks 节点通过向比特币区块链发送交易来参与 Stacks 区块链的共识过程。这些交易包含了 Stacks 节点对下一个 Stacks 区块的投票信息,以及用于激励其他节点参与共识过程的奖励信息。通过这种方式,Stacks 节点可以利用比特币区块链作为一个不可篡改、不可逆转、不可预测的随机数生成器,从而达成对下一个 Stacks 区块的共识。
这种共识桥接技术使得 Stacks 区块链可以继承比特币区块链的安全性和终局性。任何想要攻击或篡改 Stacks 区块链的恶意节点必须同时攻击或篡改比特币区块链,这在实际上是非常困难甚至不可能的。因此,Stacks 区块链可以被认为是由比特币的全部算力保护的。这也意味着 Stacks 区块链上发生的任何事件都可以被视为具有与比特币相同的终局性。换句话说,当一个 Stacks 交易被确认后,它就不可能被回滚或撤销,除非同时回滚或撤销相应的比特币交易。
T – 无需信任的比特币锚定机制
Stacks 不仅利用了比特币作为自己的安全层和共识层,还实现了一个无需信任的双向比特币锚定机制,使得比特币可以在 Stacks 层上自由流通和使用,这个锚定机制叫做栈式比特币(stacked bitcoin, sBTC)。sBTC 交换的实现是基于 Stacks 和比特币之间的互操作性,以及 Stacks 层上的智能合约逻辑。原子比特币交换可以为用户提供更高的效率和安全性,以及更多的选择和灵活性。
由比特币地址拥有的资产是指在 Stacks 层上发行或转移的资产,其所有权是由比特币地址而不是 Stacks 地址来确定的。这意味着用户可以使用自己在比特币层上已有的地址和私钥来管理自己在 Stacks 层上拥有的资产,而不需要创建或导入新的地址或私钥。这样,用户就可以享受到比特币层上的安全性和隐私性,同时也可以访问 Stacks 层上的功能性和多样性。由比特币地址拥有的资产的实现是基于 Stacks 和比特币之间的地址映射,以及 Stacks 层上的智能合约逻辑。由比特币地址拥有的资产可以为用户提供更高的便利性和兼容性,以及更多的信任和自主。
C – Clarity 语言,安全、可判定
Stacks 支持智能合约和 DApps 的能力是通过一种叫做 Clarity 的智能合约语言实现的。Clarity 是一种专门为区块链设计的语言,它具有以下几个特点:
- 它是一种解释型语言,即它不需要编译成字节码或虚拟机代码,而是直接在区块链上执行。这样可以避免编译器引入的错误或漏洞,以及虚拟机引入的开销或不确定性。
- 它是一种可判定语言,即它可以在有限的时间和空间内确定地执行,并且可以预先计算出它的执行结果和消耗的资源。这样可以避免无限循环或死锁等问题,以及提供更精确和公平的费用模型。
- 它是一种非图灵完备语言,即它不支持所有可能的计算,而只支持一些有限且必要的计算。这样可以避免复杂度或不可预测性等问题,以及提供更高的安全性和可靠性。
- 它是一种透明语言,即它可以让用户和开发者清楚地看到智能合约的逻辑和状态,并且可以对其进行验证或分析。这样可以避免隐藏或欺骗等问题,以及提供更多的信任和自主。
K – 对比特币完整状态的了解
Stacks 不仅可以向比特币写入信息,还可以从比特币读取信息。这是因为 Stacks 可以对比特币的完整状态进行跟踪和存储,包括比特币区块头、交易、地址、余额等。这样,Stacks 就可以利用比特币作为一个不可篡改、不可逆转、不可预测的数据源,从而实现更高级的功能,例如跨链合约、预言机、隐私保护等。
Stacks 对比特币完整状态的了解是通过一种叫做区块链适配器(blockchain adapter)的技术实现的。区块链适配器是一个由 Stacks 节点自愿参与的服务,它可以从比特币网络上获取并验证比特币区块链上发生的事件,并将其转发给 Stacks 网络上的其他节点。区块链适配器的参与者可以通过向 Stacks 网络提供有价值的信息来获得一定比例的 Stacks 代币(STX)奖励。区块链适配器的运行逻辑是完全透明和可验证的,因此用户不需要信任任何第三方或中介来从比特币读取信息。
S – 可扩展、快速的交易,最终结算
Stacks 不仅利用了比特币作为自己的安全层和共识层,还提供了可扩展、快速的交易体验。Stacks 使用了一种叫做微区块(microblocks)的技术,它可以在两个比特币区块之间快速确认和广播大量的交易。微区块是一种轻量级的区块结构,它只包含交易数据,而不包含共识数据。微区块由一个被称为领导者(leader)的节点生成,并由其他节点验证和转发。领导者节点是通过 Stacks 共识算法中的一个组件选出来的,叫做排序服务(sorting service)。排序服务是一个由 Stacks 节点自愿参与的服务,它可以根据交易费用和其他因素来对交易进行排序,并将其打包成微区块。
参与者可以通过向 Stacks 网络提供有价值的服务来获得一定比例的 Stacks 代币(STX)奖励。排序服务的运行逻辑是完全透明和可验证的,因此用户不需要信任任何第三方或中介来进行交易排序和打包。
重大升级
Stacks 即将发布一个重大的升级版本,叫做 Nakamoto 版本,它将进一步增强 Stacks 作为比特币层的功能和性能。Nakamoto 版本是由一个叫做 sBTC 工作组的团队提出的,该团队由 Stacks 核心开发者、普林斯顿计算机科学家、Hiro、Trust Machines、Stacks 创始人 Muneeb Ali、Stacks 基金会、个人专家等组成。该团队已经发布了两篇相关的白皮书,分别介绍了 sBTC 和 Nakamoto 版本的设计和实现细节。
Nakamoto 版本的主要特点包括:
- 实现一个无需信任的双向比特币锚定机制,叫做栈式比特币(sBTC),使得比特币可以在 Stacks 层上自由流通和使用,同时也可以向比特币层写入信息。sBTC 是一种与原生比特币(BTC)一比一锚定的代币,它可以在 Stacks 层上进行智能合约和 DApps 的交互。sBTC 的锚定机制是通过 Stacks 共识算法中的一个组件实现的,叫做锚定池(anchor pool)。锚定池是一个由 Stacks 节点自愿参与的智能合约,它可以接收和发送比特币,并根据比特币交易的证明来发行或销毁 sBTC。
- 实现交易由比特币终局性保护,以及在两个比特币区块之间快速确认和广播大量交易的技术,叫做微区块(microblocks)。微区块的技术使得 Stacks 可以在两个比特币区块之间快速确认和广播大量的交易,从而提高了交易的吞吐量和降低了交易的延迟。微区块的交易虽然可以被快速确认,但它们还没有被最终结算,因为它们还没有被写入比特币区块链上。
- 为了实现最终结算,Stacks 还使用了一种叫做锚定区块(anchor block)的技术,它可以将一系列的微区块打包成一个完整的区块,并将其写入比特币区块链上。锚定区块由一个被称为提交者(committer)的节点生成,并由其他节点验证和转发。提交者节点是通过 Stacks 共识算法中的另一个组件选出来的,叫做提交服务(committing service)。提交服务是一个由 Stacks 节点自愿参与的服务,它可以根据微区块的质量和其他因素来对微区块进行筛选,并将其打包成锚定区块。锚定区块的技术使得 Stacks 可以将一系列的微区块打包成一个完整的区块,并将其写入比特币区块链上,从而实现了交易的最终结算。
结论
W3C DAO 认为 Stacks 具有发展前景和潜力,因为它是一个建立在比特币之上的开源平台,它通过引入智能合约和 DApps 来增强比特币的功能。Stacks 利用了比特币本身的安全性和共识机制,同时提供了高吞吐量和低延迟的交易体验。Stacks 还实现了一个无需信任的双向比特币锚定机制,使得比特币可以在 Stacks 层上自由流通和使用。
Stacks 还采用了 Clarity 语言,一种安全、可判定、非图灵完备、透明的智能合约语言,可以响应比特币交易并访问比特币状态。此外,Stacks 为比特币提供了一个完全可编程的资产层,使得比特币可以在更多场景中发挥其价值和潜力。不但如此,Stacks 也为用户和开发者提供了一个安全、高效、灵活、透明的区块链平台,使得他们可以享受到比特币的优势,同时也可以访问到更多的功能和多样性。
(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)