技术改变金融:区块链的技术原理
区块链
目录
以下是改写后的文本
注
能赚钱的技术,怎么可以不懂呢?
比特币用到的密码学
- 区块链是一个公开的分布式账本,它以数据块(或称区块)的形式记录所有的比特币交易。每一个区块都通过加密的方式链接到前一个区块,形成一个链状结构。因为每一个区块都包含了前一个区块的哈希值(一种加密指纹),所以如果有人尝试修改一个区块中的信息,那么这个区块的哈希值就会发生改变,接下来的所有区块的哈希值也都会发生改变。这使得篡改区块链中的信息非常困难,因为这需要重新计算被修改的区块以及之后所有区块的哈希值。
- 公钥和私钥: 通过类似TLS里的私钥和公钥机制,即私钥只有我知道,公钥给大家。我签发的一笔交易,只有公钥能解密,解密出来经过哈希变换跟哈希值一样,那就说明是我签发的。跟TLS一样,主要是验证这个消息或交易确实是某人的。
1. 另外公钥还是我的地址和身份,任何比特币操作都是发到我的地址,然后记录在区块链账本中
2. 我可以有多个公钥和私钥,就相当于一个人可以有多个银行账户一样。 公钥和私钥通过rsa函数生成,不需要中心化的机构来提供
3. 私钥确保只有我知道,公钥需要让别人知道
4. 当A向B转账时,需要包含A的公钥和B的公钥,这里公钥可以认为是地址或身份,任何第三方可以验证签名,即用A的公钥解密后查看是否和摘要一样,如果是的话,那说明是A发出来的。另外除了A,任何人都无法伪造这样一笔交易,因为没有A的密钥。这样就确保了交易的安全可靠
比特币挖矿过程
- 挖矿可以获得新的比特币奖励(预计在2140年之后将不再发放)以及交易费用。
- 我们希望成本可以通过可变参数来调节而非保持固定数值,在比特币的点对点网络中这是通过以下机制实现的:每隔2016个区块后所有节点会自动重新计算目标区间相对于整个区块周期的比例大小使得新区块产生的时间间隔约为10分钟两个新区块之间的平均间隔为10分钟而2016个新区块所需的时间大约为两个星期因此大约每两个星期系统会重新计算一次目标区间大小从而使得挖矿难度与算力呈正比这样就能保证新区块之间的时间间隔基本相同。
- 如果你是一位比特币矿工你需要投入一定的资金购买硬件设备来进行挖矿活动然而随着更多人加入该行业或者他们部署运算能力更快的新硬件设备挖矿网络也在不断扩展这会导致在两个星期内出现的新区块数量可能会比预期多一些因此节点们会自动调整目标区间从而使得找到新区块所需的计算工作量随之增加如果一个节点如爱丽丝所控制的计算能力占全球总计算能力的比例为0.1%那么大约每产生1000个新区块她就能找到一个新区块。
- 我们认为大部分矿工会在经济均衡状态下进行挖矿即他们的收益大致等于他们在硬件投入与电费上的支出原因在于如果某个矿工持续亏损他会停止挖矿而如果硬件投入与电费固定不变但挖矿利润过高则会有更多的人加入到网络中随着计算能力的增长难度也会相应提高每个参与者的预期回报也会随之降低
比特币怎么做到去中心化 ?
- 账户生成,密码学安全验证,区块链,共识机制,挖矿德国
比特币怎么进行广播交易 ?
- 比特币网络中的交易广播采用了称为P2P(Peer-to-Peer)的技术模式,在这种网络架构下,所有参与方都是等同地位的实体角色;它们既可以作为客户端发起服务请求也可以作为服务器提供所需服务;每个参与者都有权利直接与其他任意节点进行通信连接,并无需依赖中心服务器或者中介机构的存在;因此比特币网络交易广播特性使其具备高度的安全性与去信任化特征;当一个交易被接收后系统会自动对其进行合法性验证;仅当该交易符合规定标准时才会被允许进行传播;这样一来即使有恶意参与者试图发布无效交易也不会对整个网络产生任何负面影响。
- 节点发现是P2P网络运行中的一个重要环节;每当新用户加入网络时它都需要一种机制来识别并连接到现有成员;这个过程一般分为两个主要步骤:引导阶段与常规发现阶段。
- 引导阶段:新加入者的首次连接需求是找到至少一个已存在于网络中的可靠成员(通常称为引导节点或种子节点);这些信息要么通过客户端软件内置编码要么通过其他途径(如DNS服务)获取;一旦新用户与引导节点建立联系就可以开始参与后续的网络探索活动。
- 常规发现阶段:在这个过程中新用户会主动与其他已知成员进行信息交换以建立更多联系从而扩大自身的社交圈群。
当A向B转账2个比特币时,怎么确定A确实有两个比特币呢 ?
在比特币网络中每一笔交易信息都是透明公开的每个节点都完整地保存了从初始区块一直到当前最新的所有交易记录这些交易信息被整个网络所共有并且我们将其归纳为一种叫做区块链的技术因此在比特币生态系统中,默认情况下所有参与方都能通过访问区块链上的交易信息来核实任意地址(即公钥)所持有的比特币数量
当A计划将2个比特币从其钱包转至B的账户时
随后, A将这个已签名的交易发布到比特币网络上。接收方(包括矿工)会对该笔交易进行验证。核查A的签名信息, 并确保A地址持有足够的比特币用于完成这笔交易。通过查看区块链中所有与该地址相关的交易记录, 计算其余额是否满足最低要求(即大于或等于2个比特币)。
只有在该交易经过全部验证后, 矿工才会将其纳入新的区块, 之后将该区块加入区块链网络中. 一旦该交易被加入区块链网络中, 它就被视为已被确认, 此时2个比特币就从A的地址转移至B地址.
比特币怎么解决双重支付问题 ?
爱丽丝发起并完成了两笔交易:一笔是从她钱包转账至鲍勃账户中的比特币实例;另一项则是她将这笔比特币重复转账至自己控制的另一个钱包地址。由于这两笔交易均使用了相同的比特币进行支付(或可视为爱丽丝仅持有单个比特币),因此仅有其中一笔会被正式记录于区块链中。为了防止不正当行为的发生,则主要依赖于密码学的方法来保障系统安全。只有当确认数达到6个后 ,鲍勃才能确信该笔交易已完成且不可篡改。在一个诚实节点若试图插入一个不符合协议的交易,则该不法行为因绝大多数节点均为诚实守信者而不可能被纳入长期共识链中。相反地,在这种情况下双重支付攻击则完全取决于参与者的共识机制——只有当所有参与者达成一致后才会允许该笔合法但可能被误认为无效的交易得以存储在区块链上。从密码学角度来看,在这种情况下两个看似不同的但本质上是相同的操作均被视为合法且有效的;然而最终是否能被纳入长期共识链则完全取决于网络中的参与者的共识达成情况。尽管如此,在这种情况下作为普通参与者你无法百分百确信自己感兴趣的一笔特定交易已经被包含在最终确认序列中但通过指数级的概率保障机制这一结果几乎可以被视为必然——经过六次这样的合法操作后实际上你将彻底消除任何犯错的可能性
当2140年不再产生比特币后,就不会有新的区块,交易是不是就无法记录了 ?
即使所有加密货币都被开采(预计在2140年)后, 新的区块仍然会持续生产. 因为区块的生产不依赖于新开采出的加密货币的数量, 而是由矿工将待处理的交易打包成新的区块, 并通过解决复杂的数学问题将其添加到区块链上.
当所有比特币都被开采出来时 矿工将不再通过区块奖励获取额外的比特币 但他们仍可通过收取每笔交易费用来获取收入 这些费用是由发起者(即进行比特币交易的人)支付 用以激励矿工将他们的交易记录包含在一个新的区块中
因此,在比特币数量停止增长时(即不再增加),新区块将持续生成,并包含这些交易。区块链作为一个动态发展的账本系统将完整地保留所有交易的历史记录(包括未来可能出现的新交易)。
比特币存在51%攻击嘛 ?
实际上
在一个51%攻击中,攻击者可以进行以下操作:
双重支付机制:攻击者能够生成一笔新的交易请求,并将其加入到当前区块链中。随后,在该交易被区块网络接受并记录后,攻击者立即利用这些资金进行另一笔新的交易活动。由于其控制了大部分哈希计算能力资源(算力),攻击者能够生成一个比现有共识链更长的新链表,并且在其中包含其第二笔(即此次)的支付行为而排除了首次(即此次)的支付行为。一旦该恶意篡改后的长链获得网络认可并被采用为新的共识基准(主链),那么首次支付的行为就会被视为无效或无效化处理;这就是为什么会出现双重支付现象的原因
防止他人交易被确认:攻击者可以选择性地排除他人参与的特定交易项,并将此设置融入到自己的新区块中。通过这种方式即可有效地阻止那些来自不同节点或外部系统的相关交易项被纳入共识链
恶意工作量竞争策略:如果一个恶意节点拥有足够的算力资源支持快速新区块生成能力,则该节点可以选择性地不发布自己所挖新区块的相关信息。这种行为会导致其他正常节点不得不重复验证已经解决的工作量证明项,并继续按照既定顺序推进工作流程;因此这种策略能够有效抑制正常节点继续挖掘新区块的能力
然而
举一个具体的例子,来说明某样商品利用区块链进行溯源
以咖啡供应链为例,在添加区块时,并非依靠工作量驱动机制(Proof of Work, PoW) ,而是采用了权威机制(Proof of Authority, PoA)。
- 生产:假设在哥伦比亚的一家咖啡农场工作时,在特定时间段内完成了咖啡豆的收割。这些信息被记录到区块链系统中作为新的交易记录,并立即提交至主链网络。
- 加工:将刚采摘的新鲜咖啡豆运送到中央处理中心进行清洗、去杂并包装。随后将这些质量控制数据也被上传至区块链系统作为新的交易项。
- 运输:经过严格包装后的产品通过陆路运输或空运送达全国主要城市之间的物流节点中心。所有相关数据均会被即时记录至区块链系统中作为一个独立的交易项,并立即提交至主链网络。
- 销售:经过以上流程后的产品最终会被配送至全国各主要销售网点进行零售服务。与此同时相关销售数据也会被同步上传至区块链系统作为最终售出纪录。
在这个过程中,在每一步都记录了无法被篡改的数据。消费者如果想了解自己饮用的咖啡来自何处,则可以通过查看区块链上的数据并追溯到各个生产环节——从咖啡农场收割、加工、运输到咖啡店销售的时间线中获取信息。由于 blockchain 数据的高度透明性和不可篡改性特性, 消费者能够信任这些数据的真实性信息的真实可靠性得到了保障。这就是利用 blockchain 技术实现追踪与溯源的过程
添加区块链的共识机制有哪些 ?
共识协议是区块链网络中不可或缺的关键组成部分,它们负责分配拥有权,决定谁有权创建新的区块并将其加入到主链中。目前常见的共识协议主要包括多种类型
权威证明(Proof of Authority, PoA):
工作量证明(Proof of Work, PoW):
权益证明(Proof of Stake, PoS):
委托权益证明(Delegated Proof of Stake, DPoS):
以上列举了多种主流的区块链共识机制。每种机制都有其优缺点,并适用于不同的应用场景。
比特币中的梅克尔树是什么 ?
梅克尔树主要用于记录交易数据;这是一个被用来作为梅克尔树例子的情况;它有助于帮助你理解其工作原理。
每个交易都会计算一个独特的数字表示:T1对应于hash(H₁),T₂对应于hash(H₂),依此类推。随后,在序列中相邻的数据块之间执行结合运算以产生中间结果:首先计算出第一个中间结果R₁₂=hash(H₁+ H₂),接着计算出第二个中间结果R₃₄=hash(H₃+ H₄)。最后再将这两个中间结果进行进一步结合运算以得到最终总哈希R=hash(R₁₂+ R₃₄)
H1234
/ \
H12 H34
/ \ / \
H1 H2 H3 H4
css
该结构属于Merkle树的一种形式。现假设你需要验证T2是否存在于该结构中,请注意无需了解T1、T3或T4的相关信息即可完成任务;仅凭H1和H34的信息即可进行计算:
生成 T₂ 的哈希值,并得到结果为 H₂。
通过计算 hash(H₁ + H₂) 并与 H_{1, ₂} 比较来确认 H₂(即 T₂)确实存在于该位置。
通过计算 hash(H_{₁, ₂} + hash(H_{3, 4})) 并与 H_{₁, ₂, ₃, ₄} 对比来确认包含 T 的数据块位于该树结构中。
如果在任何一步结果无法匹配,则可以确认 T2 不在其中。这一机制如何使你能够有效地进行数据验证
比特币当前有哪些限制,后续如何优化 ?
当比特币于2009年推出时,其协议就包含了一系列固有的限制因素。这些限制源于当时参与讨论的人几乎没人意识到这一技术最终将发展成为全球重要货币的基础。具体来说包括每块平均处理时间、数据块大小、每块签名数量、分块特性、总量设定以及奖励分配机制等多个参数。值得注意的是总量设定始终保持不变是由于这种设计带来的经济影响巨大矿工与投资者在此前的技术框架内投入了巨额资金若框架发生变动将会对其造成巨大冲击因此各方已基本达成共识即无论现有技术优劣均不应对其进行更改但某些基础设计在事后审视时确实存在不合理之处因此仍值得进一步优化
- 比特币网络的主要技术优势在于其高效的交易处理能力。具体而言,在每秒仅能处理7笔交易的情况下与其他主流支付系统相比显得力有未逮。例如,在 Visa 公司平均每秒可完成2,000笔交易且峰值可达1万笔/秒的情况下 Bitcoin 的表现显得尤为逊色。贝宝(PayPal)虽然在峰值时也支持约1,000笔/秒但其基础功能体系相比 Bitcoin 显然更为完善。
此外 Bitcoin 在密码学体系方面也面临着诸多挑战:仅限于几种哈希函数与一种数字签名方案(即 ESDSA 方案基于 secp256k1 椭圆曲线)这一较为有限的技术架构使得 Bitcoin 在抗量子攻击方面的储备显得捉襟见肘。
为了突破这一技术瓶颈 Bitcoin 团队不得不对脚本语言进行重大改革以支持更多先进而安全的密码学方案。
如何才能对比特币协议进行修订并引入新的特性?你或许认为这很简单——只需发布一个新的版本,并更新所有参与方即可完成这一过程吗?然而实际上极其复杂,在现实中我们无法假设所有参与方都会升级到最新版本——有些网络中的参与者将无法获得最新的升级包或未能及时接收这一最新信息;而有些参与者可能已经完成了升级——大多数参与者已升级协议;而少数未能升级可能带来的后果是否严重,则取决于 upgrade 内容的影响程度——按照产生的结果来看,在实际应用中我们可以将这一类事件归纳为两种不同的类型:其中一类会导致硬分叉的发生;另一类则不会引发硬分叉事件而是造成软分叉
- 硬分叉:通过更新协议引入新的特性可能会使前一版本的协议变得无效。即新版本协议的有效区块会被旧版本协议视为无效区块,并被旧版本节点排除在外。由于我们无法确保所有节点都会升级到新版本(只有新加入的节点会升级),因此我们只能假设大部分节点已经完成了升级(新节点),但仍有一些节点尚未升级(老节点)。随着时间推移,在最长区块链分支中包含的一些区块会被老节点判定为无效区块并予以排除;因此这些老节点会认为其他分支才是最新有效的区块链分支,并持续扩展这条分支直到它们自身也完成了升级;这种情况下区块链就会出现硬分叉并由此导致两条独立的链形成;网络中的所有节点将根据各自所处的协议版本来扩展两条不同的区块链;由于这两个分支不再能够合并在一起;所以对于比特币社区来说这是不可接受的。
- 软分叉:另一种更新方式是加入新的特性以使现有的验证规则更加严格化。这样老版的节点仍然会接收所有的区块但新版的节点则会选择性地拒绝一些区块这样的改变被称为"软分叉"这能够避免硬分叉带来的永久性分裂问题如果我们引入一种能够产生软分叉的新版协议会发生什么呢?在这种情况下新版协议的所有者将采用更加严格的验证规则现在假定大部分已经升级到了新版并执行新的验证标准(这是产生软分叉的关键因素因为只有那些升级到新版并且广泛参与竞争的新版网络才能形成有效的长链)这种情形下老版网络可能会挖矿出一些经不起新版验证标准检验的区块因为这些区块包含了不符合新版规则的一些交易记录然后这些老版网络知道自己的有效区块不会被其他任何网络所接受即使他们并不了解原因于是他们就会促使自己的矿工去完成对整个系统的 upgrades. 另外如果新加入的新块chains成功地扩展到了旧 version 的主链上那么旧版网络也会被迫转向这条主链的原因是因为那些经由新区块chain验证通过的新区块也必然会通过旧版网络自身的验证标准而这样就避免了硬分叉从而形成了许多短暂的小规模分化但最终系统仍会收敛到一个单一的有效主链上
如何管理和使用比特币 ?
- 在线钱包:网站使用密码来保护密钥,而密码只有你一个人知道。当然,你需要信任这个网站,相信它不会泄露你的密钥或是密码。在线钱包的一大优点是方便。你不需要在电脑上安装任何软件就可以使用在线钱包;在手机上,你只需安装一个手机软件就可以使用钱包,而且,不需要下载区块链。通常情况下,网站或者服务提供商由训练有素的网络安全专家。他们比我们更专业,所以我们会认为他们帮我们保管比特币会更安全。但归根结底,前提是专家们不会故意搞破坏。 推荐这种。
- 交易所: 倒闭风险高,类似于银行,但又缺乏监管导致倒闭破产率高,强烈不建议使用
比特币真的匿名嘛 ?
只是代名,做不到真正匿名!
由于比特币采用了具有匿名性的技术架构,在追求绝对隐私需求时仍显不足。区块链系统作为一种公开记录账户交易的透明平台任何人都可实时追踪特定地址下的比特币流动信息如果你能在其比特币地址与真实身份之间建立联系则可追溯到所有相关交易记录无论是过去现在还是未来这无疑是种严苛的要求因为仅需少量个人信息即可完成身份验证流程无论是在线支付服务还是接受比特币交易的企业甚至传统咖啡馆均需在此基础上完成交易操作即便在咖啡馆消费过程中由于已有大量身份特征被暴露无需直接询问姓名即可完成支付环节你的独特外貌特征与某个比特币交易直接相连从而可由此地址追踪到所有相关信息这显然违背了隐私保护的核心理念
以太坊是什么 ? 智能合约是什么 ?
智能合约是一种自动执行的协议,在区块链平台上实现其编程逻辑。当预定条件被满足时,这些协议会自动触发预设的行为指令。这些行为指令可能包括发送加密货币或其他智能合约交互操作等复杂事务。其中最引人注目的就是像以太坊这样的公链系统了,在它上面运行如Solidity语言等脚本语言可实现一系列复杂的计算与操作功能。这样一来开发者便可以在以太坊生态系统中构建出各种分散式应用(dApp)。比如设计一个投票机制就很简单——创建一个智能合约来管理投票流程每位投票者只需向该地址发送交易即可表示自己投了票系统会记录每一张投然并最终确定结果所有这些流程均会自动完成无需依赖任何中央化的组织机构因为智能合约中的代码存储于区块链中任何人都可查看所以具备高度透明性一旦部署到区块链上的智能合约无法被修改从而保证了其可靠性这些特点使其非常适合应用于金融供应链保险等领域的重要业务场景。
以太币是什么 ? 和以太坊是什么关系 ?
Ethereum coin (commonly referred to as Ether, or abbreviated as ETH) is the native cryptocurrency of the Ethereum platform. Within the Ethereum ecosystem, it plays a variety of crucial roles:
- 交易费用:以太坊网络中的所有交易都需要消耗以太币作为交易费,也被称为“Gas费”。这包括转账交易,也包括执行智能合约的交易。Gas费用的目的是为了防止滥用网络,因为执行每个操作都需要消耗一定的计算资源。
- 激励:以太坊使用一种叫做工作证明(Proof-of-Work,或者PoW)的共识机制(至少在我知识库更新截至的日期,2021年9月),挖矿者通过解决复杂的数学问题来创建新的区块,作为回报,他们会得到以太币作为奖励。
- dApp交互:许多在以太坊上的去中心化应用(dApp)使用以太币作为内部货币或者为某些服务付费。
因此,你可以把以太币看作是以太坊生态系统中的“燃料”,它驱动了以太坊网络中的所有操作。
以太币和比特币的区别 ?
以太币(Ether, ETH)与比特币(Bitcoin, BTC)均属于加密货币家族
- 设计目标 :比特币被设计为一个去中心化的数字货币,旨在提供一种不依赖任何中央银行或政府的支付方式。而以太币是以太坊平台的原生货币,以太坊不仅仅是一个加密货币,它还是一个支持智能合约的去中心化应用平台。
- 交易速度和容量 :以太坊的区块产生速度比比特币快,这使得以太坊能够更快地确认交易。另外,由于以太坊的设计,它可以处理比比特币更多的交易。
- 智能合约 :这是以太坊最主要的特点之一。智能合约是自动执行的程序,它们在满足特定条件时会自动执行特定操作。这使得以太坊可以用来创建复杂的去中心化应用。
- 挖矿和共识机制 :至我知识库更新截至的日期,2021年9月,比特币和以太坊都使用工作证明(Proof-of-Work,PoW)机制。然而,以太坊正在计划转向权益证明(Proof-of-Stake,PoS)机制,这将大大减少其能源消耗。
- 供应量 :比特币的总供应量有上限,上限是2100万枚比特币。而以太币的年度供应量初期是固定的,但没有总量上限。
由于这些差异导致以太币和比特币在许多方面扮演着各自独特的作用。比特币通常被视为一种 store of value;除了用于交易之外,在以太坊上也开发了dApps
由于这些差异导致以太币和比特币在许多方面扮演着各自独特的作用。比特币通常被视为一种 store of value;除了用于交易之外,在以太坊上也开发了dApps
区块链除了数字货币,还有哪些应用,请给出具体的例子
该技术的应用超出了加密货币的范畴。其安全性、透明性和去中心化的特征体现了广泛的应用价值。最为核心的是NFT
- 供应链管理:区块链技术能够生成透明且不可篡改的供应链记录,并帮助公司全面追踪产品从生产到销售的整个流程。例如,在Walmart, blockchain技术实现了食品来源的可追溯性以确保食品安全。
- 智能合约:在以太坊等平台之上, 智能合约无需第三方干预即可自动完成交易或触发预先设定的任务.例如, 保险机构可借助智能合约自动处理赔付事务, 当特定条件达成时(如恶劣天气), 将会直接向保险人结算赔付金额.
- 版权保护(NFT): 区块链技术提供了一个无误识且不可篡改的身份证明系统, 可用于证明知识产权归属.例如, 音乐制作人或艺术家可通过NFT展示其作品的所有权.
- 身份验证: 区块链技术构建了一个安全且去中心化的身份认证平台, 使个人具备对自己信息拥有者的完全控制力.例如, uPort就是一个基于以太坊平台的身份认证系统.
- 金融服务: 区块链技术在金融服务领域展现出显著的应用价值, 包括跨境支付与证券交易等多个方面.例如,Ripple就是一个利用区块链协议进行跨境支付操作的技术平台.
- 公共服务: 政府机构采用区块链技术开发了一系列电子政务应用, 如选举投票与公共纪录查询等服务项目.例如, 部分国家正试点采用区块链技术提升电子投票的安全性和透明度.
这只是区块链应用的一些例子,区块链技术的潜力还有待进一步挖掘。
参考资料
- 《区块链:技术驱动金融》
