-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #133 from JackyLHH/main
Add the zh versions
- Loading branch information
Showing
5 changed files
with
423 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
title: '比特币脚本简介' | ||
coverImage: 'images/image1.png' | ||
category: Popular | ||
subtitle: '比特币,作为数字货币革命的先驱,不仅颠覆了传统金融体系,更代表了一种全新的货币形态。这场创新的核心是比特币脚本——一种独特的编程语言,它巧妙地驱动着比特币网络中的交易过程。' | ||
date: '2023-12-11T16:00:00.000Z' | ||
author: | ||
- github:explainCKBot | ||
--- | ||
|
||
本文旨在深入剖析比特币脚本的复杂性与魅力,探讨其技术细节、历史发展及未来趋势。 | ||
|
||
|
||
|
||
|
||
## 比特币脚本的技术介绍 | ||
|
||
比特币脚本(Bitcoin Script),通常被视为比特币繁华世界的幕后力量,实则是维护比特币交易安全与效率的关键要素。这种基于堆栈的编程语言,采用 [Reverse-Polish Notation](https://en.wikipedia.org/wiki/Reverse_Polish_notation) (RPN) 进行操作,其特点在于运算符紧随操作数之后,与众多编程语言形成了鲜明对比,很容易让人联想到 [Forth](https://en.wikipedia.org/wiki/Forth_(programming_language)) 编程语言。 | ||
|
||
比特币脚本最引人注目的特性莫过于图灵不完备性。不同于能执行无限循环的图灵完备语言,比特币脚本的这种设计限制,是一种刻意的设计选择,提高了系统的安全性,有效避免了无限循环所可能引发的风险。 | ||
|
||
深入其核心,我们发现各种操作码(Opcodes)构成了比特币脚本的基础,比如 OP_ADD(加法)或 OP_EQUAL(等值)等。更复杂的操作码,如 OP_CHECKSIG 和 OP_CHECKMULTISIG,则用于验证交易签名,确保交易的真实性。 | ||
|
||
|
||
|
||
## 比特币脚本的历史演变 | ||
|
||
比特币脚本的起源可追溯至比特币核心(Bitcoin Core)0.1 版本,源自神秘创始人中本聪的杰作。尽管早期版本在现实应用中存在局限,但随着时间的推移和技术的发展,比特币脚本已经成长为一种专为比特币网络设计的高效脚本语言。 | ||
|
||
|
||
|
||
|
||
## 真实交易中的比特币脚本应用 | ||
|
||
每一笔比特币交易都像一场精心编排的交响乐,其中比特币脚本扮演着指挥家的角色。交易的核心包括锁定和解锁脚本,即 scriptPubKey 和 scriptSig。这些脚本确保交易的安全性,保障资金只能被授权人士访问。 | ||
|
||
例如,在一个标准的 "Pay To PubKey Hash"(P2PKH)交易中,比特币脚本负责验证交易过程中的所有步骤,确保其安全、高效地完成。 | ||
|
||
|
||
|
||
## 比特币脚本与其他脚本语言的比较 | ||
|
||
比特币脚本的独特性在于其图灵不完备性,这既是其优势也是其与众不同之处。这一特性带来的高安全性,是许多图灵完备语言所不具备的。 | ||
|
||
另一方面,[Komodo](https://komodoplatform.com/en/) 等区块链平台在编程功能上取得了显著进步。例如,通过引入 OP_CHECKCRYPTOCONDITION(OP_CCC)等新功能,Komodo 扩展了传统比特币脚本的能力,展现了区块链技术的新可能。 | ||
|
||
|
||
|
||
## 比特币脚本的未来展望 | ||
|
||
作为一个不断进化的技术,比特币脚本的未来发展充满期待。预计其将进一步增强功能,与其他区块链技术更加紧密地集成。展望未来,比特币脚本将成为推动数字货币生态系统创新和持续发展的关键力量。 | ||
|
||
|
||
|
||
|
||
## 总结 | ||
|
||
虽然常被比特币的光芒所掩盖,比特币脚本却是加密世界中的一个不可忽视的核心。它的独特功能、历史演进和在交易中的关键作用,使其成为数字货币革命的重要推手。 | ||
|
||
面对数字时代的挑战和机遇,比特币脚本的重要性将日益凸显,引领我们迈向一个更加安全、高效、无缝的交易世界。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
--- | ||
title: '一文读懂区块时间' | ||
coverImage: 'images/image1.png' | ||
category: Popular | ||
subtitle: '区块链技术因其潜在的行业变革能力而长期受到瞩目。' | ||
date: '2023-12-18T16:00:00.000Z' | ||
author: | ||
- github:explainCKBot | ||
--- | ||
|
||
在区块链这项技术中,"区块时间" 这一概念在区块链网络的运作和效率方面扮演着核心角色。本文旨在深入探讨区块时间的定义、重要性以及它对区块链网络的影响。 | ||
|
||
|
||
|
||
## 区块时间的定义 | ||
|
||
区块时间是指在基于区块链的系统中生成新区块所需的平均时间。区块时间是连接区块链网络各个方面的关键要素,对交易确认时间、网络安全性、处理能力、挖矿奖励以及去中心化有着深远的影响。在区块链网络的设计过程中,精心考虑区块时间至关重要,因为它有助于在快速交易确认和网络安全性之间找到平衡点。 | ||
|
||
|
||
|
||
|
||
## 影响区块时间的因素 | ||
|
||
区块时间受多种因素影响,其中包括网络拥堵和挖矿难度。例如,在采用工作量证明(PoW)的区块链中,通过不断调整挖矿难度,可以维持区块时间在一个相对稳定的范围。此外,网络拥堵情况也在决定交易的确认时间中起着关键作用。 | ||
|
||
|
||
|
||
## 不同区块链的区块时间 | ||
|
||
通过对主流区块链的区块时间进行比较研究,可以发现它们的区块时间长短不一。这些差异凸显了不同区块链网络固有的不同设计原则和操作协议。以下是部分区块链的平均区块时间: | ||
|
||
* 比特币(BTC):10 分钟 | ||
* 以太坊(ETH):12 秒 | ||
* BNB:3 秒 | ||
* Solana (SOL):400-800 毫秒 | ||
* Cardano (ADA):20 秒 | ||
* 波卡(DOT): 6 ~ 12 秒(取决于网络配置) | ||
* CKB:视网络情况而定,平均为 11 秒 | ||
|
||
|
||
|
||
## 区块时间对用户和开发者的影响 | ||
|
||
区块链网络中的区块时间对用户和开发者都有多方面的重大影响。对于用户来说,区块时间最直接的影响之一就是交易确认时间。区块时间基本上决定了新区块添加到区块链的时间间隔,因此也决定了交易何时得到确认。区块时间越短,交易确认速度越快,这对于时间敏感的交易来说至关重要。不过,缩短区块时间的一个显著缺点是可能会导致更频繁的区块重组,这可能会暂时误导用户对区块链状态的认识。 | ||
|
||
此外,区块时间对网络安全起着至关重要的作用。区块时间越长,验证过程就越彻底,从而降低了无效交易被纳入区块的可能性,增强了网络的安全性。不过,较长的区块时间也可能降低网络对特定攻击的响应能力,因为需要更长的时间来确认交易并将其加入到区块链中。 | ||
|
||
区块时间对用户体验也有很大影响。用户通常更喜欢较短区块时间带来的更快交易确认时间,因为它们能提供更快的反馈,提升整体用户体验。 | ||
|
||
对开发者而言,区块时间会影响智能合约的执行速度。较短的区块时间可以加快智能合约的执行速度,这对于需要实时或接近实时交互的应用来说至关重要。不过,极短的出块时间可能会导致更频繁的竞争条件,即结果取决于其他不可控事件的顺序或时间,这可能是智能合约执行中出现错误和意外行为的根源。 | ||
|
||
此外,开发者在设计和调整区块链网络时必须考虑区块时间。区块时间是影响网络吞吐量、安全性和可用性的关键参数。开发人员可能需要在这些方面进行权衡,以实现所需的网络性能。例如,缩短区块时间可能会提高吞吐量,但代价可能是降低安全性。 | ||
|
||
|
||
|
||
|
||
## 总结 | ||
|
||
总之,区块时间是区块链网络中的一个关键因素,对交易确认时间、网络安全、用户体验、智能合约执行和网络设计都有重大影响。用户和开发者在与区块链网络交互或设计基于区块链的新系统时,都需要了解并考虑区块时间的影响。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
--- | ||
title: '详解 PoS 协议中的罚没机制' | ||
coverImage: 'images/image1.png' | ||
category: Popular | ||
subtitle: '在区块链技术领域,权益证明(PoS)是一种有别于工作量证明(PoW)的共识算法。' | ||
date: '2023-12-13T16:00:00.000Z' | ||
author: | ||
- github:explainCKBot | ||
--- | ||
|
||
PoS 为去中心化网络如何达成共识提供了一套更环保、更高效的解决方案。PoS 的核心是一种被称为 "Slash(罚没)" 的机制,它能确保网络的完整性和安全性。本文将深入探讨罚没机制的复杂性,研究其定义、重要性、技术机制以及区块链社区对其的讨论。 | ||
|
||
|
||
|
||
|
||
## 罚没机制的起源 | ||
|
||
在 PoS 区块链中,"Slash(罚没)" 是惩罚的同义词。它要求对恶意或疏忽行为、危害网络安全的验证者采取惩罚措施。罚没机制起源于 PoS 实施的早期,作为对验证者不诚实行为的一种威慑。 | ||
|
||
|
||
|
||
|
||
## 罚没机制的目的和重要性 | ||
|
||
罚没机制的目的有两个:鼓励验证者的诚实行为和加强网络安全。通过让验证者对自己的行为负责,罚没机制可以阻止恶意行为和疏忽,确保网络基础设施的稳健和可信。罚没机制的影响超出了单个验证者的范围,它培养了一种责任和信任的文化,而这种文化对于网络生态系统的蓬勃发展是不可或缺的。 | ||
|
||
|
||
|
||
|
||
## 罚没机制的技术原理 | ||
|
||
深入到技术领域,罚没机制的原理是对违反协议规则的行为进行惩罚。罚没机制的标准在 PoS 区块链协议中进行了详细定义。尽管不同区块链网络的规定可能略有不同,但核心原则基本相似。以下是罚没的常见理由: | ||
|
||
|
||
### 罚没的标准 | ||
|
||
**双重签名:** 区块链领域中,双重签名(验证者在同一高度签名多个区块)被视为一项严重的罪行。这种行为会导致网络分叉,造成区块链状态的分裂,从而破坏其安全性。 | ||
|
||
**长程攻击:** 验证者如果试图改写区块链的历史,从较远的历史点创建另一条链,就会造成所谓的长程攻击。罚没机制是为了阻止此类恶意行为。 | ||
|
||
**环绕投票:**在 PoS 系统中,验证者需要对提议区块的有效性进行投票。当验证者对事实的一个版本进行验证,然后又对另一个版本进行验证,但以一种不明确的方式表明他们不再相信第一个版本时,这样的证明(对区块投票)就是环绕投票。环绕投票违反了协议规则。 | ||
|
||
**审查:** 有些 PoS 系统虽然不一定在协议中明文规定,但可能会采用罚没的方式来阻止验证者进行审查,从而促进网络的公平和开放。 | ||
|
||
|
||
### 对验证者的影响 | ||
|
||
被发现违反协议规则的验证者将受到严厉处罚,其中一些惩罚后果可能包括: | ||
|
||
**损失质押资产:** 验证者面临的主要惩罚是损失部分或全部的质押资产。这种经济损失是对不当行为的有力威慑。 | ||
|
||
**从验证着名单中删除:** 被罚没的验证者可能会被从验证者名单中删除,失去参与共识过程的特权和相关奖励。 | ||
|
||
**声誉损失:** 造成的声誉损失可能非常严重,会使其他网络参与者今后不再将其资产委托给被罚没过的验证者。 | ||
|
||
**收入减少: **即使没有被驱逐,被罚没的验证者也会因为失去委托资产和在验证者名单中排名靠后而减少收入。 | ||
|
||
|
||
|
||
## 预防罚没 | ||
|
||
有效预防罚没的关键在于深入理解协议规则并妥善运用相关工具。一个重要策略是构建和利用本地预防罚没数据库,这有助于确保验证者的行为不会触发协议中的罚没条款。此外,避免复杂的验证者配置和接受一定程度的停机时间,也是降低罚没风险的实际做法。 | ||
|
||
|
||
|
||
|
||
## 社交惩罚 | ||
|
||
区块链社区,特别是以太坊的爱好者们,最近热议 “社交惩罚” 的概念。虽然这一惩罚形式尚未在协议中正式确立,但它的出现标志着对罚没措施的深入思考。社交惩罚的核心观点是,验证者不仅应承担技术职责,还应维护网络的社会价值观,并通过社交惩罚来抵制和处罚审查行为,以促进网络的开放性和公正性。 | ||
|
||
|
||
### UASF(用户激活的软分叉) | ||
|
||
社交惩罚的实际执行是一项复杂的工作。传统的罚没规则是在协议中规定的,而社交惩罚的规则则不同,它可能需要社区协调来执行。一种建议的方法是通过用户激活软分叉(UASF),即网络参与者集体同意执行社交惩罚规则。 | ||
|
||
UASF 方法需要网络参与者之间协调一致,在不需要硬分叉或协议升级的情况下达成并执行新的社交惩罚规则。这种方法强调了区块链网络的去中心化精神,使社区有能力通过集体行动来执行社会标准。 | ||
|
||
### 挑战与批评 | ||
|
||
社交惩罚虽然令人感兴趣,但也面临着一些挑战和批评。与客观的技术规则相比,社会标准具有主观性,这给社交惩罚规则的定义和执行带来了巨大挑战。此外,某些社区派别可能会滥用权力或集中权力,这也是一个令人担忧的问题。 | ||
|
||
批评者还指出了在区块链社区内形成惩罚性文化的风险——可能会扼杀创新和开放性。如何找到平衡点,既维护社会价值观,又保持有利于创新和参与的环境,是社交惩罚讨论中的关键。 | ||
|
||
|
||
|
||
|
||
## 批评与争议 | ||
|
||
尽管罚没在区块链共识机制中发挥着关键作用,但它也不免遭受批评和争议。这些讨论通常围绕着惩罚的严厉程度、机制的公平性以及权力集中的可能性。每次争议都激发了社区对机制的反思,推动了罚没规则的持续进化。 | ||
|
||
|
||
|
||
|
||
## 总结 | ||
|
||
PoS 的罚没机制展示了区块链技术的复杂和迷人之处,彰显了区块链共识算法的创新与进步。围绕罚没的讨论不仅展示了技术的精妙,还反映了区块链社区对安全、高效和公平的去中心化网络生态系统的追求。这些讨论中透露出的问责和集体责任精神,不断推动着区块链叙事的发展,同时也揭示了维护这一新兴技术生态的重要性和复杂性。 | ||
|
||
总之,PoS 罚没机制不仅是区块链技术创新的体现,更是社区共识和进步的象征。通过不断的讨论与改进,我们可以期待一个更加安全、高效和公正的去中心化网络环境的到来。 |
Oops, something went wrong.
87c0b5b
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs:
education-hub-articles – ./
education-hub-articles-ten.vercel.app
education-hub-articles-git-main-magickbase.vercel.app
education-hub-articles-magickbase.vercel.app