区块链技术指南女巫攻击

zhousys 区块链知识 2023-11-16 01:49 489

摘要:区块链技术指南女巫攻击⑴pos机制解决了pow的问题pos机制解决了pow的问题:基于权益证明(PoS),通常将金钱作为股权使用。POA指的是身份的使用。这背...

区块链技术指南女巫攻击

⑴ pos机制解决了pow的问题

pos机制解决了pow的问题:

基于权益证明(PoS),通常将金钱作为股权使用。

POA指的是身份的使用。这背后的想法是,人们会注意自己的名声,因此会被劝阻不要恶意行事。

POW 工作量证明支持不可信的分布式共识,这对于加密货币等行业非常重要。它涉及挖掘过程,最好描述为执行计算以验证交易的合法性和创建新货币。

第一个完成计算的矿工将获得一枚新代币,并将区块添加到链中。POS 权益证明的定义是在决定谁将创建新块时使用权益关系。这个权益的取决于每个人持有的代币数量。

持有更多代币的人更有可能被选为下一个块的验证器。奖励来自交易费用,因为在这个过程中不会产生新的代币。

pos是公链中的共识算法,作为pow的一种替换。pow是保证比特币,当前以太坊和许多区块链安全的一种机制,但是pow算法在挖矿过程中,因为破坏环境和浪费电而受到指责,pos试图通过一种不同的机制取代挖矿的概念,从而解决这些问题。

ps机制可以被描述成一种虚拟挖矿,鉴于pow主要依赖于计算硬件的稀缺性,来防止女巫攻击。在pow中,一个用户有可能用一千美元来买计算机,加入网络来挖矿,产生新区块,从而得到奖励。在pos中,用户可以拿到一千美元,买到等值的代币,把这些代币当做押金放在pos机制之中,只要用户就有机会产生,这样用户可以得到奖励。

pos算法如下,存在一个持币人的集合,他们把手中的代币放入pos机制中,这样他们就变成验证者。

⑵ 女巫攻击与双花攻击

女巫攻击 的名字源于1973年由小说《Sybil》改编的同名电影。电影中的女主人公Sybil Dorsett患有分离性身份认同障碍,本身兼有16种人格。

区块链底层是 P2P网络 。网络中各个节点可以随时加入或退出,为了维持网络的有效性,一般一份数据常常需要部署在若干个分布式节点上。如果一个恶意节点伪装有多个身份就存在可获得全部数据的几率,下面我打个比方:

假设神龙造出了七颗龙珠,并且要将它们分别投放到地球的各个角落。于是神龙昭告天下,让每个洲来一个人领取龙珠。此时,精通乔装易容术的我分别假扮出七个不同地域的人来神龙这拿到了龙珠。本来神龙将龙珠放到世界不同的地方基配圆就是为了平衡各地方力量,但是由于我伪造了身份,成功地拿到了全部龙珠,控制了地球。

以上比喻就是女巫攻击的本质体现。

双花攻击是大多区块链加密数字货币都要面对的一种攻击手段。顾名思义,双花攻击就是一笔有效的钱被先后花了两次。

双花攻击的可行性完全是由于区块链的共识机制导致。拿比特币举例,由于比特币的POW共识机制属于最终一致性共识,一笔交易从发布到全网所有节点都达成统一确认需要一定时间,而攻击者就是利用这个时间间隙进行攻击。举个生活中的例子:

假如银行A有两个支行B和C。但是,这个银行的账目系统比较低效,支行B和C每过1个小时才会去主行A那里同步账本。我在主行A中存了100块钱,过了一个小时后支行B和C同步了账本,于是我在B和C中都可以查到我拥有100块钱。之后,我通过支行B用我的账户买了100块钱的好吃的,随即又通过支行C用我的账户卖唯买了100块钱好玩的。由于支行B和C之间做不到账目的随时同步,所以支行C在我去买好玩的时候依然认为我拥搏塌有100块钱。

以上就是双花攻击,并且“双花”永远是一种 流通货币 所要解决的首要问题。

⑶ 女科学家段斯斯:在区块链“江湖”背后“双手互搏”

段斯斯在清华大学高等研究院。(受访者供图)

段斯斯在清华大学高等研究院担任研究员。她工作的地方摆放的东西很少,装备不过是三台电脑。奇崛险怪的攻防进退,只在脑海里酝酿,在键盘上推演,找不到任何“硝烟”的痕迹。

她的研究方向是“拜占庭容错算法”,旨在防范分布式系统内各节点因“敌人破坏”导致的网络崩溃。形象地说,她在进行一场高智商的“双手互博”。第一步,假想一个可能的漏洞或“敌人”;第二步,找到让“敌人”失效的办法;第三步,让同行们相信她解决的是个“真问题”。

段斯斯这样定义自己:介于科学家与工程师之间。她不像网络工程师那样直接同黑客“斗法”,她用数学和逻辑的力量设下让“敌人”无能为力的规则。

“我们中间有匪。”段斯斯用“杀人 游戏 ”用语比喻她研究的“拜占庭将军问题”。“匪传递假消息,误导好人的判断,仗自然就打输了。我要做的是制定一个协议,确保即便有匪,好人也不会输。”

上世纪八十年代初提出“拜占庭将军问题”时,还没人知道什么是区块链。正是对这一问题不断地务虚研究,才撑起如今的区块链技术。现在,中国已把区块链视作核心技术自主创新的重要突破口。

一开始,段斯斯选择的方向有点冷门,不明就里的人以为那是在解奥数题,她也遭遇过科学期刊的拒稿。区块链兴起后,人们看到网络安全协议的重要性,她的学术成就才被更多人看到。

今年1月,段斯斯入选《麻省理工 科技 评论》2021年中国区“35岁以下 科技 创新35人”,获奖理由是她提出多个业界指标性拜占庭容错协议,在分布式系统、区块链和应用密码学领域取得突出成果。

搭上新兴技术的快车,段斯斯说自己挺走运的,可运气的解释力毕竟有限。她硕博阶段本就不多的女同学,多数没有继续搞学术。支持她不放弃的原因,是“这挺有意思的”。

让段斯斯觉得有意思的正是她自己想出来的各种刁钻问题。在她看来,发现问题有时比找到答案更重要。

“女巫攻击”“硬分叉”“梅克尔树”“非对称加密”……被要求科普这些区块链圈的“黑话”时,段斯斯就像在智力竞赛节目中按下抢答器,思维很快,语速也很快,且很快就把问题说明白了。

段斯斯本科就读于香港大学电机电子工程系,2014年获美国加州大学戴维斯分校计算机博士学位,毕业后曾就职于美国橡树岭国家实验室和马里兰大学,2020年举家回国。

“我觉得国内发展快,工作节奏也快,我比较向往发展这一点,尤其在计算机领域,尽管会比较累。”她说。

年轻有为、事业有趣、家庭圆满,周围人说她是“人生赢家”,她却认为自己的生活“一地鸡毛”。她是两个男孩儿的妈妈,一个6岁,一个4岁。她曾经一手抱娃,一手写代码。

她打小不服输,想做的事就停不下来,这也反映在工作风格中。“别人写代码可以零敲碎打,可我习惯一口气写下去。”

解决一个段斯斯式的问题要写上万行代码,至少得花个把月工夫。现在这位“带娃科学家”最渴望的是大块的时间。“一旦被打断,再回来就忘记自己当时是怎么想的了。”她说。

段斯斯分享了一条有关“时间管理”的经验:如果你遇到5分钟之内可以解决的事,那么现在就解决它,拖到后面做肯定不止5分钟。

⑷ 一文读懂混合型智能合约:如何结合链上与链下计算资源


混合型智能合约包含链上运行的代码和链下数据、计算资源,预言机可为其提供喂价、储备金证明、可扩展计算等功能。

撰文:Chainlink

混合型智能合约包含区块链上运行的代码以及区块链下的数据和计算资源,这些资源由去中心化预言机网络传输至链上。混合型智能合约可以协调复杂的经济和 社会 活动,具有区块链防篡改的特质,并且可以安全地接入链下预言机服务,实现各种创新功能,如可扩展性、保密性、公允排序以及接入任何链下数据源或系统。

本文将明确定义混合型智能合约在区块链信任模式中的作用,并阐述 Chainlink 预言机为混合型智能合约提供的各种去中心化服务,以及这一发展将如何催生出新一代的混合型智能合约应用。这些连通了链下资源的混合型智能合约将在未来席卷几乎所有主流行业,并改变整个 社会 的合作方式。

预言机如何扩展区块链上的合作方式

区块链在本质上是促进可信合作的计算基础架构,这是它的关键功能。参与者有了信任,才会坚定地认为合作关系是可靠、真实且有效的。在合作中建立信任最常见的方式就是签署合约。合约定义了各方的法律和商业义务,以及他们行为会受到的奖励和惩罚。然而,如今的合约义务执行机制却漏洞百出。甚至一些情况下,某个参与者会拥有绝对优势,比如操纵和影响合约执行机制,比对手方得知更多消息,或拥有更多时间和资本延长仲裁过程。因此,现在的合约系统变成了:你必须相信对手方的品牌背书,才能信任你们之间的合作关系是牢靠的。

区块链技术的出现使合作从品牌背书转向了基于算法的信任(math-based trust)。合约的存放、执行和托管都转移到了去中心化网络中运行的代码逻辑中,个人完全无法干预和篡改。区块链就像一台没有联网的计算机,可信度非常高,因为它是一个封闭的环境,并且只能实现几种容易执行的功能,比如在一个封闭账本中的多个地址之间转移通证。这种设置是有意而为。虽然区块链的封闭性和功能的单一性为它带来了防篡改性和高度的确定性(这也是区块链最有价值的地方),但同时也排除了任何需要接入链下数据、计算或功能的合作方式。

由于用户希望扩展区块链上可行的合作方式,因此预言机以及混合型智能合约相继出现。预言机为区块链接入外部世界提供了安全的门户,让智能合约应用可以验证外部事件,基于外部系统触发操作,并完成在链上无法实现的计算任务。

Chainlink2.0 白皮书中提到,去中心化预言机网络(DONs)极大扩展了智能合约可以实现的链上合作方式。去中心化金融(DeFi)的快速崛起就是一个很好的例子。Chainlink 去中心化预言机网络将金融市场数据传输到区块链,支持 Aave 货币市场、Synthetix 衍生品平台、dYdX 杠杆交易市场以及 Ampleforth 算法稳定币等各种混合型智能合约协议,因此加速了 DeFi 的发展。

混合型智能合约的构成要素

混合型智能合约应用包含两个部分,即:1)智能合约——这是专门在区块链上运行的代码;2)去中心化的预言机网络——这是为智能合约提供的安全链下服务。这两个模块安全地无缝交互,共同形成了混合型智能合约应用。最后,链上代码通过许多独特的方式得到增强,并且激活了一系列全新的应用场景,突破了之前链上代码在技术、法律或金融等方面的限制。

混合型智能合约将两个完全不同的计算环境同步在一起,打造出区块链或预言机网络单独无法实现的应用功能,并且将这两个环境中独一无二的优势结合在一起。链上代码在极其安全且功能受限的区块链环境中运行,攻击表面较小,因此用户在执行和储存时可以获得极高的确定性,代码一定会严格执行,结果将被永远储存在链上,不可篡改。而 DON 则在链下运行,因此可以更灵活地实现更多功能并访问更多数据。

值得注意的是,DON 也具有非常高的防篡改性和可靠性,可以与智能合约相媲美,但不同的是,DON 是在封闭的链下环境中运行,并且采用了多种安全机制。每个 DON 都会为一个应用提供定制化的去中心化服务,也就是说同一条区块链上的其他智能合约与这个 DON 的性能没有任何关联,而且保障所有智能合约安全的底层区块链共识机制也不会有任何风险。DON 作为独立的服务,不仅在安全上具有优势,而且还兼具灵活性,可以验证并计算更复杂且开放式的链下数据。

比如,一些智能合约选择接入 DON 的标准是去中心化水平以及加密经济安全性,而另一些智能合约则会选择节点声誉高且采用了高级加密技术展开可验证隐私计算的 DON。在这些异构网络中,可以并行几千个或甚至几百万个 DON,每个 DON 之间不会相互依赖,并可以为具体应用提供专门的去中心化服务。同一个 DON 的用户也可以共摊服务成本(如:目前众多 DeFi 协议共同使用 Chainlink ETH/USD 喂价预言机,并分摊成本)。这个框架非常重要,可以同时为所有区块链和应用提供服务,比如为高速区块链上运行的应用接入链下数据并保障隐私。另外,去中心化程度较高的区块链上的应用也需要接入可扩展的计算资源。

混合型智能合约如何结合链上和链下计算资源

为了进一步了解链上和链下模块的差异,我们先为每个模块明确定义:

链上模块:区块链

维护账本,可靠地托管用户资产,并与私钥交互。

处理用户之间不可逆的转账交易,执行最终结算。

解决分歧,建立安全护栏,保障 DON 的链下服务正常运行。

链下:去中心化的预言机网络

从链下 API 安全地获取和验证数据,并传输到区块链和 layer-2 网络中的智能合约。

为区块链和 layer-2 网络中的智能合约展开各种计算任务。

将智能合约输出的数据传输至其他区块链或链下系统。

混合型智能合约结合了链上代码和链下去中心化预言机网络,实现更高级的区块链应用

Chainlink 去中心化服务为混合型智能合约保驾护航

定义了混合型智能合约之后,我们来讨论一下 Chainlink DON 为智能合约提供的各种去中心化服务。这些去中心化服务可以大致分为两类,即:链下数据和链下计算。

链下数据

DON 可以在各种链下数据和区块链之间搭起连通桥梁,为混合型智能合约输入所需数据。以下是初步可以访问的数据类型:

喂价——从几百家交易平台聚合的资产价格数据,数据基于交易量加权计算,并剔除了异常值和虚假交易。

储备金证明——关于通证资产当前储备金余额的最新数据,比如 WBTC 的比特币抵押资产,或 TUSD 的美元抵押资产。

任何 API——来自受密码保护 API 接口的付费数据,数据类型涵盖天气预报、 体育 比赛结果、企业后台数据以及物联网数据。

区块链中间件——区块链抽象层,使链下系统可以接入任何区块链网络中的智能合约,双向读写数据。

链下计算

DON 可以代表智能合约执行一系列链下计算,帮助智能合约获取某些数据,或者打造原生区块链上无法实现的功能,比如隐私保护、可扩展性以及公允排序。以下是目前已经实现和未来即将实现的部分 DON 计算功能:

Keeper 网络——指定期维护智能合约的自动化 bot,在适当的时间点启动合约,执行关键的链上功能。

链下报告(OCR)——以可扩展的方式聚合 DON 预言机节点响应的数据,然后将聚合数据在单笔交易中发送至链上,以降低链上成本。

可扩展的计算——为智能合约执行实现高吞吐量和低成本,采用现成的 layer-2 技术定期与链上同步。

可验证随机函数(VRF)——安全地生成可验证的随机数,采用加密证明技术,证明过程的完整性。

数据和计算隐私——保护隐私的预言机计算功能采用零知识证明(DECO)、可信硬件(Town Crier)、安全的多方计算以及特定的 DON 委员会制度,将敏感数据保密地传输至智能合约。

公允排序服务(FSS)——根据预定义的公平原则开展去中心化的交易排序,避免抢跑攻击和矿工可提取价值(MEV)。

链上合约隐私——将合约逻辑与结算结果解绑,保护智能合约交易隐私,比如通过 DON 的 Mixicles 功能在两方之间传输数据。

Chainlink 去中心化的预言机网络提供一系列丰富的服务,拓展了混合型智能合约应用的功能

混合型智能合约对全球各个行业带来的影响

DON 可以实现高级的混合型智能合约框架,将不同系统和区块链上的各个独立实体无缝连接,实现安全和通用的自动化交互。Chainlink 为开发者克服了智能合约的技术壁垒,开发者可以利用区块链的高确定性,并通过 DON 实现外部连接、隐私保障、可扩展性以及公允排序等各种关键功能。混合型智能合约不仅为网络中各个参与者创造了更可信和高效的合作空间,还将区块链网络接入传统链下基础架构,并且无需在后端做任何修改。

DON 将为众多智能合约应用提供所需的隐私保障和可扩展性,并涵盖大多数企业应用场景和众多 游戏 和金融应用,为其实现高吞吐量和实时决策。混合型智能合约还将激活一系列前所未有的全新应用场景,比如通过可验证随机数和去中心化交易排序实现基于算法的经济公平性和透明性。

已经感受到,或即将感受到混合型智能合约影响的部分主流行业:

身份信息——身份信息可自动验证,并保护信息隐私。智能合约可以定义所需的个人信息以及所需操作。DON 对这些数据展开计算,验证用户个人信息,并同时保护信息不透露给对手方,并且不会储存在链下系统。

金融——抗审查的开放式金融市场,访问不设门槛,信息透明。智能合约可以为买家和卖家定义交易规则,DON 可以使用链下数据定价和结算,并实现额外的功能,如:隐藏交易、KYC 验证、公允交易排序以及高速链下处理等。

供应链——在共享账本上运行的多方交易协议,将产品线数字化,基于验证过的数据跨多个系统进行自动化操作。智能合约可以定义合约义务、支付条款和惩罚机制。DON 可以利用隐私计算和物联网数据追踪运输信息、监控质量控制、验证客户身份并触发结算付款。

保险——基于预定义事件建立双边预测市场,并在此基础上创建参数型保险。智能合约可以定义保费和理赔流程,DON 可以将合约接入链下数据,获得报价并处理理赔申请。DON 还可以开展风险评估计算,从云平台等数据源获取复杂的风险评估结果,并以保密的方式验证用户身份。

游戏 ——自动发放 游戏 奖励,用户可以通过 NFT 完全拥有 游戏 内资产,并提供权威证明,证明所有参与者都有同样的获胜概率。智能合约可以定义 游戏 规则和奖励发放模式,DON 可以提供防篡改的随机数,保障 游戏 的公平性可以得到验证,并且奖励发放过程是公平的。 游戏 dApp 接入 DON 后,还可以接入增强现实的物联网传感器等一系列链下数据源,并在链下处理部分 游戏 功能,以提高 游戏 性能。

市场营销——营销活动基于各种参数和指标自动实时发放奖励。智能合约可以定义阶梯式的奖励发放模式,并设置具体的里程碑目标。DON 可以验证目标是否达成,并对客户数据和市场趋势展开保密计算,以更有效地评估营销活动。

治理——分布式社区可以安全公平地管理共享系统和资金池。智能合约可以定义完整的治理框架,DON 可以提供链下数据和计算资源,触发利润分发、费用分摊和身份认证等各种操作,有效抵御女巫攻击,验证各成员的参与度,或甚至实现自动化的决策流程。

最终,DON 可以提供所有无法在链上实现的服务,并为现有数据和系统带来更强大的加密安全保障,以启动链下服务生态。混合型智能合约基础架构可以丰富去中心化系统的合作方式,让各个区块链和非区块链基础设施可以安全可靠地无缝交互,并保障可扩展性、保密性、定制化和通用连接性。虽然目前加密货币资产规模已达数万亿美元,且 DeFi 经济规模逼近 1000 亿美元,但是区块链生态仍处于发展初期,还有巨大潜力未被挖掘,因此混合型智能合约和 Chainlink 去中心化预言机网络拥有巨大的应用空间和潜力。

如果你想立刻着手开发混合型智能合约应用,并需要接入链下数据或计算资源,请查看我们的开发者文档,你也可以在 Discord 频道询问技术问题或与 Chainlink 专家透过电话沟通。

⑸ 知链区块链金融应用实践平台成绩怎么算

1. 工作量证明(PoW)
中本聪在2009年提出的比特币(Bitcoin)是区块链技术最早的应用,其采用PoW作为共识算法,其核心思想是节点间通过哈希算力的竞争来获取记账权和比特币奖励。PoW中,不同节点根据特定信息竞争计算一个数学问题的解,这个数学问题很难求解,但却容易对结果进行验证,最先解决这个数学问题的节点可以创建下一个区块并获得一定数量的币奖励。中本聪在比特币中采用了HashCash[4]机制设计这一数学问题。本节将以比特币采用的PoW算法为例进行说明,PoW的共识步骤如下:
节点收集上一个区块产生后全网待确认的交易,将符合条件的交易记入交易内存池,然后更新并计算内存池中交易的Merkle根的值,并将其写入区块头部;
在区块头部填写如表1.1所示的区块版本号、前一区块的哈希值、时间戳、当前目标哈希值和随机数等信息;
表1.1 区块头部信息
随机数nonce在0到232之间取值,对区块头部信息进行哈希计算,当哈希值小于或等于目标值时,打包并广播该区块,待其他节点验证后完成记账;
一定时间内如果无法计算出符合要求的哈希值,则重复步骤2。如果计算过程中有其他节点完成了计算,则从步骤1重新开始。
比特币产生区块的平均时间为10分钟,想要维持这一速度,就需要根据当前全网的计算能力对目标值(难度)进行调整[5]。难度是对计算产生符合要求的区块困难程度的描述,在计算同一高度区块时,所有节点的难度都是相同的,这也保证了挖矿的公平性。难度与目标值的关系为:
难度值=最大目标值/当前目标值 (1.1)
其中最大目标值和当前目标值都是256位长度,最大目标值是难度为1时的目标值,即2224。假设当前难度为,算力为,当前目标值为,发现新区块的平均计算时间为,则
根据比特币的设计,每产生2016个区块后(约2周)系统会调整一次当前目标值。节点根据前2016个区块的实际生产时间,由公式(1.4)计算出调整后的难度值,如果实际时间生产小于2周,增大难度值;如果实际时间生产大于2周,则减小难度值。根据最长链原则,在不需要节点同步难度信息的情况下,所有节点在一定时间后会得到相同的难度值。
在使用PoW的区块链中,因为网络延迟等原因,当同一高度的两个区块产生的时间接近时,可能会产生分叉。即不同的矿工都计算出了符合要求的某一高度的区块,并得到与其相近节点的确认,全网节点会根据收到区块的时间,在先收到的区块基础上继续挖矿。这种情况下,哪个区块的后续区块先出现,其长度会变得更长,这个区块就被包括进主链,在非主链上挖矿的节点会切换到主链继续挖矿。
PoW共识算法以算力作为竞争记账权的基础,以工作量作为安全性的保障,所有矿工都遵循最长链原则。新产生的区块包含前一个区块的哈希值,现存的所有区块的形成了一条链,链的长度与工作量成正比,所有的节点均信任最长的区块链。如果当某一组织掌握了足够的算力,就可以针对比特币网络发起攻击。当攻击者拥有足够的算力时,能够最先计算出最新的区块,从而掌握最长链。此时比特币主链上的区块大部分由其生成,他可以故意拒绝某些交易的确认和进行双花攻击,这会对比特币网络的可信性造成影响,但这一行为同样会给攻击者带来损失。通过求解一维随机游走问题,可以获得恶意节点攻击成功的概率和算力之间的关系:
图1.1 攻击者算力与攻击成功概率
2. 权益证明(PoS)
随着参与比特币挖矿的人越来越多,PoW的许多问题逐渐显现,例如随着算力竞争迅速加剧,获取代币需要消耗的能源大量增加,记账权也逐渐向聚集了大量算力的“矿池”集中[6-9]。为此,研究者尝试采用新的机制取代工作量证明。PoS的概念在最早的比特币项目中曾被提及,但由于稳健性等原因没被使用。PoS最早的应用是点点币(PPCoin),PoS提出了币龄的概念,币龄是持有的代币与持有时间乘积的累加,计算如公式(1.4)所示。利用币龄竞争取代算力竞争,使区块链的证明不再仅仅依靠工作量,有效地解决了PoW的资源浪费问题。
其中持有时间为某个币距离最近一次在网络上交易的时间,每个节点持有的币龄越长,则其在网络中权益越多,同时币的持有人还会根据币龄来获得一定的收益。点点币的设计中,没有完全脱离工作量证明,PoS机制的记账权的获得同样需要进行简单的哈希计算:
其中proofhash是由权重因子、未消费的产出值和当前时间的模糊和得到的哈希值,同时对每个节点的算力进行了限制,可见币龄与计算的难度成反比。在PoS中,区块链的安全性随着区块链的价值增加而增加,对区块链的攻击需要攻击者积攒大量的币龄,也就是需要对大量数字货币持有足够长的时间,这也大大增加了攻击的难度。与PoW相比,采用PoS的区块链系统可能会面对长程攻击(Long Range Attack)和无利害攻击(Nothing at Stake)。
除了点点币,有许多币也使用了PoS,但在记账权的分配上有着不同的方法。例如,未来币(Nxt)和黑币(BlackCion)结合节点所拥有的权益,使用随机算法分配记账权。以太坊也在逐步采用PoS代替PoW。
3. 委托权益证明(DPoS)
比特币设计之初,希望所有挖矿的参与者使用CPU进行计算,算力与节点匹配,每一个节点都有足够的机会参与到区块链的决策当中。随着技术的发展,使用GPU、FPGA、ASIC等技术的矿机大量出现,算力集中于拥有大量矿机的参与者手中,而普通矿工参与的机会大大减小。
采用DPoS的区块链中,每一个节点都可以根据其拥有的股份权益投票选取代表,整个网络中参与竞选并获得选票最多的n个节点获得记账权,按照预先决定的顺序依次生产区块并因此获得一定的奖励。竞选成功的代表节点需要缴纳一定数量的保证金,而且必须保证在线的时间,如果某时刻应该产生区块的节点没有履行职责,他将会被取消代表资格,系统将继续投票选出一个新的代表来取代他。
DPoS中的所有节点都可以自主选择投票的对象,选举产生的代表按顺序记账,与PoW及PoS相比节省了计算资源,而且共识节点只有确定的有限个,效率也得到了提升。而且每个参与节点都拥有投票的权利,当网络中的节点足够多时,DPoS的安全性和去中心化也得到了保证。
4. 实用拜占庭容错算法(PBFT)
在PBFT算法中,所有节点都在相同的配置下运行,且有一个主节点,其他节点作为备份节点。主节点负责对客户端的请求进行排序,按顺序发送给备份节点。存在视图(View)的概念,在每个视图中,所有节点正常按照处理消息。但当备份节点检查到主节点出现异常,就会触发视图变换(View Change)机制更换下一编号的节点为主节点,进入新的视图。PBFT中客户端发出请求到收到答复的主要流程如图4.1所示[10] [11],服务器之间交换信息3次,整个过程包含以下五个阶段:
图4.1 PBFT执行流程
目前以PBFT为代表的拜占庭容错算法被许多区块链项目所使用。在联盟链中,PBFT算法最早是被Hyper ledger Fabric项目采用。Hyperledger Fabric在0.6版本中采用了PBFT共识算法,授权和背书的功能集成到了共识节点之中,所有节点都是共识节点,这样的设计导致了节点的负担过于沉重,对TPS和扩展性有很大的影响。1.0之后的版本都对节点的功能进行了分离,节点分成了三个背书节点(Endorser)、排序节点(Orderer)和出块节点(Committer),对节点的功能进行了分离,一定程度上提高了共识的效率。
Cosmos项目使用的Tendermint[12]算法结合了PBFT和PoS算法,通过代币抵押的方式选出部分共识节点进行BFT的共识,其减弱了异步假设并在PBFT的基础上融入了锁的概念,在部分同步的网络中共识节点能够通过两阶段通信达成共识。系统能够容忍1/3的故障节点,且不会产生分叉。在Tendermint的基础上,Hotstuff[13]将区块链的块链式结构和BFT的每一阶段融合,每阶段节点间对前一区块签名确认与新区块的构建同时进行,使算法在实现上更为简单,Hotstuff还使用了门限签名[14]降低算法的消息复杂度。
5. Paxos与Raft
共识算法是为了保障所存储信息的准确性与一致性而设计的一套机制。在传统的分布式系统中,最常使用的共识算法是基于Paxos的算法。在拜占庭将军问题[3]提出后,Lamport在1990年提出了Paxos算法用于解决特定条件下的系统一致性问题,Lamport于1998年重新整理并发表Paxos的论文[15]并于2001对Paxos进行了重新简述[16]。随后Paxos在一致性算法领域占据统治地位并被许多公司所采用,例如腾讯的Phxpaxos、阿里巴巴的X-Paxos、亚马逊的AWS的DynamoDB和谷歌MegaStore[17]等。这一类算法能够在节点数量有限且相对可信任的情况下,快速完成分布式系统的数据同步,同时能够容忍宕机错误(Crash Fault)。即在传统分布式系统不需要考虑参与节点恶意篡改数据等行为,只需要能够容忍部分节点发生宕机错误即可。但Paxos算法过于理论化,在理解和工程实现上都有着很大的难度。Ongaro等人在2013年发表论文提出Raft算法[18],Raft与Paxos同样的效果并且更便于工程实现。
Raft中领导者占据绝对主导地位,必须保证服务器节点的绝对安全性,领导者一旦被恶意控制将造成巨大损失。而且交易量受到节点最大吞吐量的限制。目前许多联盟链在不考虑拜占庭容错的情况下,会使用Raft算法来提高共识效率。
6. 结合VRF的共识算法
在现有联盟链共识算法中,如果参与共识的节点数量增加,节点间的通信也会增加,系统的性能也会受到影响。如果从众多候选节点中选取部分节点组成共识组进行共识,减少共识节点的数量,则可以提高系统的性能。但这会降低安全性,而且候选节点中恶意节点的比例越高,选出来的共识组无法正常运行的概率也越高。为了实现从候选节点选出能够正常运行的共识组,并保证系统的高可用性,一方面需要设计合适的随机选举算法,保证选择的随机性,防止恶意节点对系统的攻击。另一方面需要提高候选节点中的诚实节点的比例,增加诚实节点被选进共识组的概率。
当前在公有链往往基于PoS类算法,抵押代币增加共识节点的准入门槛,通过经济学博弈增加恶意节点的作恶成本,然后再在部分通过筛选的节点中通过随机选举算法,从符合条件的候选节点中随机选举部分节点进行共识。
Dodis等人于1999年提出了可验证随机函数(Verifiable Random Functions,VRF)[19]。可验证随机函数是零知识证明的一种应用,即在公私钥体系中,持有私钥的人可以使用私钥和一条已知信息按照特定的规则生成一个随机数,在不泄露私钥的前提下,持有私钥的人能够向其他人证明随机数生成的正确性。VRF可以使用RSA或者椭圆曲线构建,Dodis等人在2002年又提出了基于Diffie-Hellman 困难性问题的可验证随机函数构造方法[20],目前可验证随机函数在密钥传输领域和区块链领域都有了应用[21]。可验证随机函数的具体流程如下:
在公有链中,VRF已经在一些项目中得到应用,其中VRF多与PoS算法结合,所有想要参与共识的节点质押一定的代币成为候选节点,然后通过VRF从众多候选节点中随机选出部分共识节点。Zilliqa网络的新节点都必须先执行PoW,网络中的现有节点验证新节点的PoW并授权其加入网络。区块链项目Ontology设计的共识算法VBFT将VRF、PoS和BFT算法相结合,通过VRF在众多候选节点中随机选出共识节点并确定共识节点的排列顺序,可以降低恶意分叉对区块链系统的影响,保障了算法的公平性和随机性。图灵奖获得者Micali等人提出的Algorand[22]将PoS和VRF结合,节点可以采用代币质押的方式成为候选节点,然后通过非交互式的VRF算法选择部分节点组成共识委员会,然后由这部分节点执行类似PBFT共识算法,负责交易的快速验证,Algorand可以在节点为诚实节点的情况下保证系统正常运行。Kiayias等人提出的Ouroboros[23]在第二个版本Praos[24]引入了VRF代替伪随机数,进行分片中主节点的选择。以Algorand等算法使用的VRF算法为例,主要的流程如下:
公有链中设计使用的VRF中,节点被选为记账节点的概率往往和其持有的代币正相关。公有链的共识节点范围是无法预先确定的,所有满足代币持有条件的节点都可能成为共识节点,系统需要在数量和参与度都随机的节点中选择部分节点进行共识。而与公有链相比,联盟链参与共识的节点数量有限、节点已知,这种情况下联盟链节点之间可以通过已知的节点列表进行交互,这能有效防止公有链VRF设计时可能遇到的女巫攻击问题。
7. 结合分片技术的公式算法
分片技术是数据库中的一种技术,是将数据库中的数据切成多个部分,然后分别存储在多个服务器中。通过数据的分布式存储,提高服务器的搜索性能。区块链中,分片技术是将交易分配到多个由节点子集组成的共识组中进行确认,最后再将所有结果汇总确认的机制。分片技术在区块链中已经有一些应用,许多区块链设计了自己的分片方案。
Luu等人于2017年提出了Elastico协议,最先将分片技术应用于区块链中[25]。Elastico首先通过PoW算法竞争成为网络中的记账节点。然后按照预先确定的规则,这些节点被分配到不同的分片委员会中。每个分片委员会内部执行PBFT等传统拜占庭容错的共识算法,打包生成交易集合。在超过的节点对该交易集合进行了签名之后,交易集合被提交给共识委员会,共识委员会在验证签名后,最终将所有的交易集合打包成区块并记录在区块链上。
Elastico验证了分片技术在区块链中的可用性。在一定规模内,分片技术可以近乎线性地拓展吞吐量。但Elastico使用了PoW用于选举共识节点,这也导致随机数产生过程及PoW竞争共识节点的时间过长,使得交易延迟很高。而且每个分片内部采用的PBFT算法通讯复杂度较高。当单个分片中节点数量较多时,延迟也很高。
在Elastico的基础上,Kokoris-Kogias等人提出OmniLedger[26],用加密抽签协议替代了PoW选择验证者分组,然后通过RandHound协议[27]将验证者归入不同分片。OmniLedger。OmniLedger在分片中仍然采用基于PBFT的共识算法作为分片中的共识算法[28],并引入了Atomix协议处理跨分片的交易,共识过程中节点之间通信复杂度较高。当分片中节点数量增多、跨分片交易增多时,系统TPS会显著下降。
Wang等人在2019年提出了Monoxide[29]。在PoW区块链系统中引入了分片技术,提出了连弩挖矿算法(Chu ko-nu mining algorithm),解决了分片造成的算力分散分散问题,使得每个矿工可以同时在不同的分片进行分片,在不降低安全性的情况下提高了PoW的TPS。

⑹ 区块链中女巫攻击问题

何为女巫攻击?

解释一: 大规模的p2p系统面临着有问题的和敌对的节点的威胁,为了应付这种威胁,很多系统采用了冗余。然而,如果一个有恶意的实体模仿了多个身份,他就可以控制橘虚核系统的很大一部分,破坏了系统的冗余策略。我们把这种模仿多个身份的攻击定义为女巫攻击(Sybil Attack)。

解释二: 女巫攻击是在P2P网络中,因为节点随时加入退出等圆掘原因,为了维持网络稳定,同一份数据通常需要备份到多个分布式节点上,这就是 数据冗余机制 。 女巫攻击是攻击数据冗余机制的一种有效手段。誉锋 如果网络中存在一个恶意节点,那么同一个恶意节点可以具有多重身份,就如电影里的女主角都可以分裂出16个身份,那么恶意节点比它还能分。这样,原来需要备份到多个节点的数据被欺骗地备份到了同一个恶意节点(该恶意节点伪装成多重身份),这就是女巫攻击。

总而言之就是 分身诈骗术

如何解决这种攻击?

1.干活 你即便分身千千万,唯有真心能干活。分心是虚幻的,没有力气,pow证明。

2.发身份证 可靠第三方公安局给你发身份证,没有身份证都是分身妖怪(根据某一个可靠的第三方进行身份验证)

3.熟人社会 你迁户口到一个新的村子里,必须得到村子里,大部分人的认证,这就是中国传统社会的身份认证方法。群众的眼睛就是火眼金睛,照出一切妖魔鬼怪。(新加入的节点都需要获得当前网络中所有可靠节点的认证,这种方法采用了随机密钥分发验证的公钥体系的认证方式,需要获得网络中大多数节点的认证才能加入)

⑺ 比特币钱包

比特币(bitcoin)诞生于2008年的一篇论文。
一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?
Merkle tree
跟二叉树长得很像,只是这个是下面两个节点取哈希值得到上面节点。只需要记住根节点,就可以检测整棵树有没有被篡改。
根哈希值存在block header里,交易过程存在block body里。全节点包括block header和block body,但是轻节点(比如手机上比特币钱包)只包括block header。这棵树可以证明包含某个交易已经被写进了区块链。
3.共识协议
去中心化的货币要注意的两个问题:
1.谁能发行数字货币:挖矿。
2.怎么验证交易的合法性:区块链。
双花攻击(double spending attack)
双花攻击是数字货币的一个主要挑战。
比特币中的交易都要有输入和输出,币从哪来,花到哪去。
正常情况也可能有两个分叉,因为两个节点同时获得记账权,两个节点打包的区块,同时计算出了那个随机数。此时会暂时两个分叉共存,直到其中某一个区块抢先找到了下一个区块,这条就成了最长合法链,另一个分叉就被丢弃。

女巫攻击(sybil attack)
某恶意节点不停产生账户,账户总数超过总账户的一半,则取得了区块链的控制权。

比特币中的共识协议(Consensus)
一些节点是有恶意的,大部分节点是好的。

想法1:把一些交易打包到区块里作为候选区块,让每个区块投票,如果通过就写入区块链。

不行,因为有的恶意节点一直发布一些含有恶意交易的区块,则一直投票,占用资源。而且有的节点不投票。

想法2:不按账户个数投票,而是按照计算力投票。每个节点都可以产生合法交易放入区块,这些节点就开始试随机数,直到找到H(block header)≤ target,则这个节点有记账权。

唯一产生比特币的途径
coinbase transaction。这个不用指出币的来源,有了记账权的节点(找到了随机数)会有出块奖励。

50BTC->25BTC->12.5BTC,每21万个比特币,奖励就减半。

比特币争夺记账权的过程叫挖矿。争夺记账权的节点叫矿工。

⑻ 「守好钱包」Filecoin入门手册,看完再无选择困难症

投资有风险,入局需谨慎!不管什么样的投资,最怕的就是遇到骗子,一着不慎,多年的积蓄顷刻化为乌有。

而出现这种情况的主要原因,很大一部分都是因为投资者对这个项目了解不深,才会经常中招。

所以我为大家特地整理出了一台filecoin投资入门手册,帮助大家守好钱包

Filecoin挖矿机制

Filecoin采用的是预期共识(EC),而且用复制证明(PoRep)和时空证明(PoSt)来保证EC共识机制的运行。

预期共识

Filecoin采用的是预期共识(EC),而且用复制证明(PoRep)和时空证明(PoSt)来保证EC共识机制的运行。

复制证明

矿工要向系统证明自己确实存储了用户所需要的数据。而不是临时从其它节点或源头获取的数据,这个证明是系统为了防止女巫攻击所设定的一个指标。除此之外,还可以防止外源攻击和生成攻击。


时空证明

矿工要向系统证明自己不仅存储了用户的数据,而且在某一段时间内一直都存储了用户的数据。这是矿工向系统证明数据存储有效性和稳定性的一个指标。

质押机制

这是filecoin中维护生态的一种惩罚机制,矿工在进行挖矿前,必须向系统提交FIL质押


Filecoin经济收益

Filecoin挖矿角色以及收益模式

在Filecoin网络体系里,存在两种矿工类型,分别为存储矿工与检索矿工。Filecoin的奖励机制是建立在存储矿工、检索矿工与用户的交互上的。我们可以把存储矿工和检索矿工简单的理解为Filecoin系统的“打工者”,FIL币是他们辛勤劳动后所得的“工资”,用户是Filecoin系统的“消费者”。

存储矿工的收益:

存储矿工的收益由三部分构成,分别为新币发放收益,存储收益和区块收益。其中的新币发放收益与区块收益是在Filecoin的共识机制监督下获得的。

检索矿工的收益:

检索矿工的收益模式相对而言比较单一,他们不参与Filecoin的共识机制,不能获取新币分发收益。只能为用户的检索订单提供服务,并从中获得交易代币。但随着IPFS建设的越来越大,Filecoin的使用规模越来越广,检索订单的数量会呈现递增趋势,矿工的检索收益也会越来越大。此外,为一些热门文件和高下载量文件提供下载服务的检索矿工收益也会更多,检索矿工的收益与IPFS系统中的数据下载量成正比关系。

Filecoin激励

矿工的收益主要来自三个方面 ,第一个是区块奖励,也就是我们所说的爆块;第二个是存储的收益;第三个是检索的收益。 在网络的初期是区块奖励为主,后期随着存储的需求增长,存储和检索的收益会越来越多。通过挖矿产生的Fil币总共有14亿枚。

Filecoin存储矿工根据其存储能力获得块奖励。存储能力是Filecoin存储矿工为网络提供多少有用存储的度量。从较高的层次上讲,矿工通过接受客户的文件,公开承诺将其存储一段时间并反复证明它们实际上正在随时间存储来获得存储能力。

四种收益模式

在Filecoin经济体系里,检索矿工和存储矿工的收益构成是完全不同的,在Filecoin经济体系中矿工共有四种收益模式:

1、新币发放收益

存储矿工和检索矿工通过投入存储设备和带宽服务来获取Filecoin新币。这属于早期挖矿红利。

2、存储收益

存储矿工通过抵押一部分代币向网络提供可供出售的存储空间,存储空间被用户购买后,可获取用户支付的交易费用。

3、检索收益

检索矿工向网络提供数据检索服务,销售自己的网络带宽,通过找寻用户所需下载的数据进行交易,获取用户支付的数据下载费用。

4、区块链收益

存储矿工争取新的区块可获得两种收益。一种是打包区块所产生的的新币;另一种是区块内所有交易包含的交易费用。


影响挖矿因素

配置

硬盘:

预期共识在理论上是谁的存力占比大,谁的出块率就高,但现实中,由于受到网络拓扑、磁盘性能以及GPU等硬件因素的制约,有效存力和出块率并不是完全对等的关系。增加有效存力只需要完成封存并生成复制证明,这个难度不大。但是爆块是需要在45秒内完成时空证明的,这个难度就大大增加了。所以我们看到有些节点存力增加很快,但是出块效率却不高。

CPU:

1.文件切片,大的文件拆分成小文件

2.密封时会用到CPU,类似数据打包

3.复制证明共识机制需要用到CPU,需要计算哈希值等

4.运算一些基础的程序

GPU(直接影响出块效率)

在复制证明中,有个过程要进行“零知识证明”的计算。这个过程用GPU可以加速计算,但是如果CPU足够强大,那么加GPU的意义不大。

在时空证明中,Filecoin项目增加了“选举证明(election post)”这个指标。在每一个区块周期(Lotus测试网是45S),每个矿工根据自己的存力都可能获得一张选票,并被选中,被选中的矿工需要在不到45S时间内快速计算出“时空证明(PoSt)”并提交到链上,完成这个过程才能获得区块奖励,否则就和区块奖励绝缘了。而提交时空证明靠的就是GPU的算力。

内存:

密封文件时,临时存储密封的文件

运行挖矿程序各环节,计算数据缓存使用

网络、电力:

如果没有网络,光有硬盘也没用。挖矿的天花板取决于网络,即便做大矿场也好,做散户也好,网络是大家的天花板。

做大矿场的话,甚至需要在不同的城市去建不同的矿场,拿不同的网络资源。

filecoin需要保证24小时连续在线,如果掉线可能会被扣除抵押的币,虽然耗电量不大,但是电力的稳定性也是必然要保证的。

24小时不间断挖币,硬盘寿命5年左右,而里面的芯片,主板,内存,电源都是可以超过10年以上的寿命。正常情况下,一台矿机最少能持续工作3年。


矿机

矿机在单位时间内封存数据的能力。Filecoin是一个用于存储的区块链,我们要封存客户提交的数据,必须经过一个特定的过程,叫做precommit和commit。这里面用到业界一些现成的算法,比如SDR和zk-SNARK,都是需要消耗计算资源的。这些计算资源由CPU和GPU提供,我们要解决的是如何搭配各个组件,让整机性能发挥到最大,在最短的时间内封存最多的数据。单位时间内封存的数据越多,有效存力的增长速度就越快。有效存力的增长速度越快,就越能提高存力占比。在Filecoin预期共识下,存力占比越高,理论上拿到区块奖励的概率也越高。

从这两个方面,我们可以得出一个矿机投入产出比的计算公式:

每万元每小时有效存力×单位存力出块率

即使是同样的价格,节点越多,性价比也不一定越高。因为如果CPU、GPU、内存等存在较大差异,同一个节点,其算力累积的速度可能差几十倍。

同样配置的硬件,销售价格也可能不一样。因为软件优化是决定FIL产出的核心因素。同样的硬件,运行的代码不一样,对硬件的优化可能存在天壤之别,在稳定性方面也各有差异。

矿机指标

两方面来衡量矿机的性能。

矿机在单位时间内封存数据的能力。Filecoin是一个用于存储的区块链,我们要封存客户提交的数据,必须经过一个特定的过程,叫做precommit和commit。这里面用到业界一些现成的算法,比如SDR和zk-SNARK,都是需要消耗计算资源的。这些计算资源由CPU和GPU提供,我们要解决的是如何搭配各个组件,让整机性能发挥到最大,在最短的时间内封存最多的数据。单位时间内封存的数据越多,有效存力的增长速度就越快。有效存力的增长速度越快,就越能提高存力占比。在Filecoin预期共识下,存力占比越高,理论上拿到区块奖励的概率也越高。

从这两个方面,我们可以得出一个矿机投入产出比的计算公式:

每万元每小时有效存力×单位存力出块率

即使是同样的价格,节点越多,性价比也不一定越高。因为如果CPU、GPU、内存等存在较大差异,同一个节点,其算力累积的速度可能差几十倍。

同样配置的硬件,销售价格也可能不一样。因为软件优化是决定FIL产出的核心因素。同样的硬件,运行的代码不一样,对硬件的优化可能存在天壤之别,在稳定性方面也各有差异。

Filecoin什么机器不能买?

集群

集群是filecoin中一个很重要的概念,由于filecoin对带宽和环境要求很高,所以最好是有一所IDC机房。


其他因素

算法优化: Filecoin原生代码有很多可以改进的地方,所以有技术的团队会对代码进行优化,提升封存和零知识证明速度,从而提升爆单率。

注:改为NSE算法?

PoREP算法,从window SDR改成SDR,时间并不长。新的PoREP算法NSE已经在酝酿中。NSE算法的全称:Narrow Stacked Expander PoRep。

PoREP的NSE算法,是SDR算法的另外一种尝试。尝试降低单个处理的数据大小(window),尝试不采用节点的前后依赖(layer的计算可以并行),加大单层的依赖,加大layer的层数。整个算法底层还是采用sha256算法。NSE算法可以理解为安全性和性能之间平衡的一种尝试。

协议实验室在2020年5月29日称,主网上线时,暂时不使用新的NSE算法。社区对NSE算法的担忧,主要是怕又要更新相应的硬件设备。但是目前所用的硬件配置已经比较高的,需要继续升级硬件的概率不是很大,否则大量硬件会被抛弃,会引来社区的强烈不满。

软件支持: 在Filecoin市场体系中,涉及到一些经济行为,比如提交订单,接收订单,如何管理钱包,以及机器交付后如何管理机器和矿场等等,这都需要管理软件来支持。

网络运维: 单独一台矿机拿到手里是没什么用的,只有把所有的硬件联网,协同作战才能发挥出机器的最大性能。这里涉及到机房、网络拓扑、网络交换硬件配置、系统稳定性测试、阵列升级、故障排除等等,这一块主要是在交付以后,所以是否有一支技术扎实的运维团队非常重要。


FIL

发行量

总量20亿,60年挖完,每个区块都减少一次,大约6年产量减半一次。

PFS(Filecoin)在2017年8月份募集到了2.5亿美金,而这次Token Sale仅仅只出售10%的代币(2亿个),ico时市值25亿美金。ICO成本: 预售阶段 0.75美元, 正式阶段 1.3到5美元。

矿工:70%,通过区块奖励的方式线性释放,每6年减半;

团队:15%,作为协议实验室团队的研发及运营费用,按6年线性释放;

投资人:10%,分配给参与私募与公募的投资者,按6-36个月线性释放;

基金会:5%,作为长期社区建设,网络管理等费用,按6年线性释放;

每个区块约30秒,第一年平均每个区块产量为(153+137)/2=145个。

第一年,每天产币数量约为145*1440/2=41.76万个,第一年总产币数量约为1.5亿个。


期货

目前在交易的Filecoin并不是我们平常意义的数字资产,它只是一个期货产品的期货,在其中隐藏着极大的风险。主网没上线前,没有任何一枚Filecoin是实际存在的。

当时参与ICO的投资人相当于从Filecoin官方购买了一些Filecoin的期货,然后某些投资人把这些Filecoin的期货放到交易所上再次以期货的形式进行交易。

目前Gate.io,LBank和比特股内盘上的Filecoin期货交易都没有提供相应的原始期货出让者和交易所之间签订的期货出让协议。所以目前大家购买的Filecoin期货存在非常巨大的风险,只能依靠交易所和原始期货出让人的个人信用。

总体来看,想要投资filecoin,技术门槛相当的高,所以一个好的技术支持真的很重要

⑼ pos机制的起源与设计理念

POS起源

2012年,背景是POW进沦为资本玩家的玩具,算力过于中心化,随时都有被“51%攻击”。

开放者Sunny Kind第一次提出了POS(股权证明)的概念,与POW是完全不一样的。

POS不用大量的算力来维持网络安全,只要参与者打开自已的钱包在线增加权重,获得相应的奖励也就是利息。

POS的设计理念

我们应该都知道,比特币的区块产量每四年就会减半,这样区块的产量将会越来越少,矿工就会“旷工”,因为赚到的越来越少。

那么,人数少了,比特币就可能被一些高算力的人所掌握,数字货币网络将会瘫痪。

POS解决方法:并非所有的区块都是靠挖矿得来的,只要打开钱包客户端程序,就能发现区块,也可以得到利息,这样就会有一个引流的效果。

POS机制可以描述成一种虚拟挖矿。鉴于POW主要依赖于计算机硬件的稀缺性来防止女巫攻击,POS则主要依赖于区块链自身里的代币。

女巫攻击

这个名字是基于1973年的小说《女巫》改编的同名电影,女主具有16重人格。

因为节点随时加入和退出等原因,为了维护网络的稳定,同一份数据可能备份在很多节点上,这就是数据冗余机制。

若是在网络上存在恶意节点,那这一个节点就具有多重身份。那这个恶意节点就可能骗到其他节点备份到他这里。

POW就是根据计算能力随机,而POS则根据拥有财产随机。POW是保证比特币、当前以太坊和许多其它区块链安全的一种机制。

但是POW算法在挖矿过程中因破坏环境和浪费电力而受到指责。POS试图通过以一种不同的机制取代挖矿的概念,从而解决这些问题。

PoS的优点

不再需要为了安全产生区块而大量消耗电能。由于不再需要大量能耗,通过发行新币以激励参与者继续参与网络的压力会下降。PoS机制下,全网每秒可以处理的交易数增加,可以提供比PoW机制更好的性能。

POS算法是个资本主义

你拥有的钱越多,得到的权利也就越大。为什么?

因为你在里面的钱越多你想要维护系统的愿望也就更大。若是有恶意攻击,他们的钱也就只能是竹篮打水一场空。

POS算法

如果我手上有500个代币,把它放进POS机制,这样里面的500个代币就变成了验证者.假设它在区块链里最新的块。

POS算法将从验证者里面抽取一个随机的,给他们权利产生下一个区块。

PoS 机制由股东自己保证安全,工作原理是利益捆绑。在这个模式下,不持有 PoS 的人无法对 PoS 构成威胁。PoS 的安全取决于持有者,和其他任何因素无关。

PoS机制源于人们对PoW机制的不满以及改进。早期的PoS机制有各种缺陷,随着各种项目对PoS机制的不断改进,PoS正逐渐成为主流的共识机制。

⑽ 区块链为什么有分叉分叉会发生什么情况

    区块链的分叉(fork)的形成原因可能有多种。

    当两个结点几乎在同一个时间挖到了矿并同时发布区块,此时就出现临时性的的分叉(state fork),

    本质上是对比特币这个区块链当前的状态产生了意见分歧,

    当人为的发起分叉攻击(forking attack),也就是故意造成这类分叉(deliberate fork)还有一类分叉是,当比特币的协议发生了改变的时候,软件需要升级。而在分布式系统中不能保证所有节点同时升级软件,假设存在部分节点未升级,会导致协议分叉(protocol fork)。对协议修改的内容的不同,又可以将分叉分为硬分叉(hard fork)和软分叉(soft fork);

    比特币协议增加新协议,扩展新功能,未升级软件的旧节点会不认可这些修改,会认为这些特性是非法的。这也就是对比特币协议内容产生分歧,从而导致的分叉叫 硬分叉 。此时,就出现了新节点永远沿着新节点产生的链挖矿,旧节点永远沿着旧节点链挖矿,由于新节点算力足够强,所以形成两条永远都在延伸且平行的链。只要这部分旧节点永远不更新,则旧链将一直延续,可见这种分叉是持久性的。

出现hard fork后,便变成了两条平行的链,也就造成了社区分裂。社区中有一部分人,会认为下面的链才是根正苗红,各个链上的货币独立。以太坊历史上的一件大事就是硬分叉事件。以太坊称为ETH,但目前看到的ETH已经不是最初的ETH了,以太坊在历史上发生过硬分叉,另一个链称为ETC。实际上,ETC才是以太坊设计原本的协议,而ETH是黑客攻击ETH上一个智能合约THE DAO后,进行回滚的协议链(将黑客攻击偷取的以太币采用硬分叉方式回滚回到另一智能合约,然后退还给真正拥有者)。

    分叉之初,由于两个链分叉造成了互相影响,产生了很多麻烦。比如:在ETH链上有一笔转账B->C,有人便在ETC链上回放,将ETC链上的货币页转给了C(C收到两笔钱)。后来,对两条链各添加了一个chainID,将两个链区分开,才使得这两条链真正分开。

如果对BTC协议添加限制,使得原本合法交易在新交易中不合法,便会形成软分叉。

当大多数节点已经更新完毕之后,旧节点认可新节点挖出的区块,因此发布自己挖出的区块,但新节点不认可旧结点挖出的区块,便沿着上一个新节点发布的区块继续挖矿,当新节点拥有大部分算力的时候,新链会越来越长,从而旧节点挖出并发布的区块一直被抛弃,无法获得出块奖励,最终倒逼旧节点升级软件,实现所有节点认可新协议并进行升级。可见,只要系统中拥有半数以上算力节点更新软件,此类分叉不会出现永久性分叉。比特币脚本中的P2SH就是通过软分叉方法加进去的。

 

    这一部分我并没有查到太多的资料,但是在绝大多数共识协议之中我们都假设需要过半算力;

    在理论上,如果掌握了50%以上的算力,就拥有了获得记账权的绝对优势,可以更快地生成区块,也拥有了篡改区块链数据的权利。因此,当具有过半的算力,也就是51%都是诚实可靠的,能保证整一个区块链在合法有序的进行运行。

    但是为什么选择过半的算力,而不是过半的用户?比特币系统,任何人都可以加入,且创建账户及其简单,只需要本地产生公私钥对即可。只有转账(交易)时候,比特币系统才能知道该账户的存在。这样,黑客可以使用计算机专门生成大量公私钥对,当其产生大量公私钥对超过系统中一半数目,就可以获得支配地位(女巫攻击)。因此,比特币系统中很巧妙的使用算力作为投票的依据。

相关推荐

评论列表
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
关闭

用微信“扫一扫”