做网站在哪上海浦东新区娱乐场所最新通知

当前位置: 首页 > news >正文

做网站在哪,上海浦东新区娱乐场所最新通知,网站js代码,做网站友情链接互换写在前面 这篇文章作为一个简单介绍#xff0c;很多技术只是大致提及或者引用#xff0c;之后会在详细学习后逐项解释。 补充知识 在了解扩容方案之前#xff0c;我们最好了解一些相关的知识概念 EVM “EVM” 是“Ethereum Virtual Machine”#xff08;以太坊虚拟机很多技术只是大致提及或者引用之后会在详细学习后逐项解释。 补充知识 在了解扩容方案之前我们最好了解一些相关的知识概念 EVM “EVM” 是“Ethereum Virtual Machine”以太坊虚拟机的缩写。 EVM是什么 EVM是由成千上万台计算机节点组成的一台云计算机每台计算机上运行一个软件该软件基本上只是计算智能合约交易的输出 EVM这台虚拟机一般用来处理Defi交易EVM是专门为了处理Defi交易设计的可以读取编译过的智能合约。如果两条链均适用EVM那么他们之间进行的资产转移和交互就比较方便而这种转移的合约一般使用的是Solidity语言编写的cardona和solana是用rust语言编写的这是区块链开发的另一种常见语言 EVM和正常的计算机一样读的是ByteCode0 1组成的机器码开发人员一般使用的Solidity书写智能合约这种合约需要通过编译器比如常见remix编译后才能被EVM读懂。除了这两种语言再讲一下Opcode操作码类似于CPU读的汇编代码操作码是一种开发人员不写、EVM不读的代码但是我们可以借助这个概念理解汽油费的计算方式常说的汽油费就是 每个操作*该操作所需的费用最后求和得到的。
EVM的运行 EVM处理交易时每个交易依次运行不会同时执行 完成一笔交易称作EVM的状态被更新了 EVM持有状态与数据集合交易前和交易后的状态都被记录可以借此实现回滚而这些交易的列表组成了区块链
PoS权益证明 关于Pos的一些内容我们在以太坊的文章中谈到过这里简单的提一下。PoS即Proof of Staking通常指使用代币质押来获得出块权的方案。 运行流程 区块提议在 PoS 网络中验证者或烘焙者、出块者会在获得区块生成权利时提议一个新区块。这个过程通常是随机的系统会根据验证者的质押数量、网络的共识算法等因素来确定哪个验证者可以提议一个新区块。 区块验证提议的区块需要经过其他验证者的验证以确保区块中的交易和数据是有效的并符合网络协议的规则。这一步骤是为了防止恶意行为和保证区块的正确性。 区块确认经过验证的区块会被添加到区块链中成为新区块链的一部分。验证者会根据网络的共识规则获得一定的奖励作为他们参与区块生成和验证的回报。 奖励发放生成和验证区块的验证者会收到区块奖励这通常包括新生成的代币和交易手续费。
优势 在PoS中质押一定代币的节点才有出块权或者说是验证交易的权力这样使得能源得到节约以及使得区块链被破坏的风险降低本质上是增加了造假者的代价 PoS实现了“No one runs with no reward”使得大家参与区块链的成本降低不会无缘无故的浪费电力 使得去中心化程度加深一定程度上降低了矿场矿池对于算力垄断而达到的危害区块链的风险相交于PoW而言
选择验证者矿工的规则 往往是质押金额多的节点更优先得到出块权 同时引入了随机数选择器的方法
质押者的风险与奖励 风险 质押的Staking中的代币在质押期无法参与交易 对于没有审核交易经验的人往往需要雇佣技术人员来验证这就需要承担验证错误带来的质押金丢失的风险这是疏忽、和恶意节点的故意破坏动机不同以及支付一定数额的佣金 不良行为一旦被发现就会扣除所有押金 验证者的奖励发放有一定延时 区块生成时验证者在成功生成一个新区块后通常会获得该区块的奖励。这包括区块奖励通常是新生成的代币以及交易手续费。 奖励周期在一些PoS系统中奖励可能不是即时发放的而是在一定的奖励周期后集中发放。例如奖励可能会按照预定的时间间隔如每周、每月进行发放。 结算期某些PoS网络还可能设置一个结算期或延迟期以确保奖励的准确性和避免潜在的欺诈行为。在此期间奖励会暂时被锁定直到结算完成。
奖励 下面举的是常见代币的方式至于奖励的细节可以看一下以太坊的文章 Tezos代币6%每年 实际收益大约4.6% Cardano代币4-5%每年 Algo代币8-10%每年 Eth4-7%每年
缺点 没有原始资产coin的节点可能无法参与 总述 区块链扩容受到 Vitalik 提出的不可能三角的限制不可能三角是指区块链系统设计无法同时兼顾可扩展性去中心化和安全性三者只能取其二。这是一个很让人失望的结论但我们必须知道一切事物都有自己的边界公链不应该做所有的事情公链应该做它该做的事情“公链是以最高效率达成共识的工具能够以最低成本来构建信任”。作为共识的工具信任的引擎公链不应该为了可扩展性放弃去中心化与安全性。 拓展的常见思路方案 方案一拓展基础层Layer1 方案二将工作外包给新层Layer2 下面是详细的拓展层表格信息 Layer内容层layer 2链下扩展可编程应用层堆栈脚本 算法 智能合约合约层layer 1链上扩展分配机制 发行机制激励层PoA Raft PoW PoS共识层P2P网络 传播机制 验证机制网络层区块数据 链式结构 时间戳哈希函数 Merkle树 非对称加密数据层layer0第0层OSI模型中传输层与网络层 在底层区块链 Layer1 上构建一个扩展层 Layer2 ) Layer1 来保证安全和去中心化绝对可靠、可信它能做到全球共识并作为“加密法院”通过智能合约设计的规则进行仲裁以经济激励的形式将信任传递到 Layer2 上而 Layer2 追求极致的性能它只能做到局部共识但是能够满足各类商业场景的需求。 这篇文章要简要介绍的是Layer2的拓展方案 Layer2方案 很喜欢有人对Layer2的一个例比Layer2的拓展方案就像是公路上的车客车、货车、轿车、摩托车都可以运行都有发动机这一机动车的特性但是针对特定的运输任务往往只选择某一种特殊的车辆比如运送大型货物用货车、单人驾驶一般使用轿车和摩托车…… 这就像Layer2的拓展方案常见的Layer2拓展方案有以下五种Rollup打包、sidechain副链、Plasma子链、channel交易合并下面我将逐条介绍。 Layer2的拓展不是通过代码直接影响主链的状态而是允许网络通过他们拓展外部因素或工具 Rollup rollup很形象的一种解释就是“打包”比如你想发送几封信给到同一个地点往往可以将这几封信打包到一个大信封里面而不是分别发出这和Rollup的原理不谋而合再比如为了解决一道填空题它可能有很多步骤和过程但是这些都在演草纸上进行只是将最终的答案写在答题卡上。Rollup是在以太坊之外执行交易的方案之后将交易的最终数据发布到主链上 也就是将一系列交易汇总起来最终以一个数据的形式汇总到区块链上。 Rollup总述 Rollup 本质上是一条独立的区块链 和以太坊一样Rollup 协议也使用 “虚拟机” 来执行智能合约代码。Rollup 的虚拟机独立于以太坊自己的虚拟机EVM运行但是由以太坊上的智能合约管理这种联系可以让 Rollup 和以太坊之间进行通信。 Rollup 负责执行事务并处理数据以太坊负责接收并存储结果 不同于以太坊的区块是由多数节点认可来实现其合法性的监控 Rollup 状态的一方可以将 “断言” 发送至以太坊来说明交易是如何处理的以太坊将决定是否接受这个断言无论这个断言是否获得了 Rollup 上多数参与方的支持在 Rollup 上实际只有一方负责处理交易和生成区块这样的出块方式具有中心化的特性
ZkRollup zkRollup就是基于零知识证明的二层扩容方案(layer2)zkRollup的原理一句话就可以讲清楚链下进行复杂的计算和证明的生成链上进行证明的校验并存储部分数据保证数据可用性。zkRollup数据可用性可以让任何人都能根据链上存储的交易数据还原出账户的全局状态从而消除由于数据可用性带来的安全风险。 工作原理 zkRollup在链下利用Merkle tree存储账户状态由Operator收集用户的交易交易收集完成后Operator会执行每个交易校验余额校验nonce校验签名执行状态转换当交易执行完成后会产生一个新的Merkle tree Root为了证明链下状态转移是正确的Operator会在交易执行完成后生成一个零知识证明的proof。 下图表示Operator工作过程黄色的表示用户发送的交易绿色的表示Operator中维护的merkle treeOperator执行交易后本地的merkle tree root会由prev state root转换成post state root图中蓝色的表示Operator生成证明账户状态转移有效的零知识证明。 Operator把prev state rootpost state root交易数据和proof证明提交至链上合约合约校验proof通过后会将来新的状态写入到链上合约不需要单独校验每笔交易的合法性只需要校验proof是否有效降低了链上gas消耗其中交易数据是存储在较便宜的位置CALLDATA上。链下每一次的状态转变都需要提供零知识证明由主链上的合约进行验证只有验证通过才能更改状态。即每一次状态转变都严格依赖密码学证明。 zkRollup生成的证明大小很小验证时间很快基本上是常数不会随着交易数量的增长而变大所以zkRollup可以极大地提高TPS。影响zkRollup链上性能的只有链上CALLDATA存储数据的成本,随着以太坊Istanbul升级CALLDATA使用成本降为原来的1/4zkRollup的性能则获得4倍提升TPS可达到近2000左右。 上链的数据中prve state rootpost state root与proof基本上是不会随着交易增长变化的只有上图中黄色交易部分会随着交易增长变大所以为了能在一个区块链中容纳更多的交易需要对上链的交易进行压缩。zkRollup使用merkle tree来记录地址这样地址就可以表示成merkle tree的索引值地址数据的大小就从原本的20 bytes减少到3 bytes在以太坊上金额用32个字节256位的大整型来表示这里压缩到6个字节货币最小单位从wei变成Mwei10^6 wei手续费压缩到1个字节nonce压缩到2个字节nonce的范围0~65535也就是说一个账户最多可以发送65535笔交易交易的签名直接删除了不出现交易中因为每笔交易的合法性在链下都通过零知识证明的电路约束校验过了。 关于工作原理的简要介绍来自登链社区 OptimisticRollup 发展历史 增强比特币可扩展性的最早举措之一是侧链。侧链是与父链共同运行的区块链但具备不同的特点出块时间更短、区块大小更大、智能合约的表达性更强等。然而普通的侧链有个致命的缺点如果一条侧链上的绝大多数矿工/验证者都是不诚实的用户资金就会被盗。这些年来有很多技术都在尝试增强侧链的安全性来保证在绝大多数参与者不诚实的情况下用户资金也不会被盗这被称为信任最小化的双向锚定。更早一点的例子有合并挖矿merged mining、影子链shadow chain之后又出现了 Plasma 和 ZK rollup。有趣的是在 ORU 出现之前一个类似的方案是分片机制下的延迟状态执行我们很快会讲到这点。这些研究的集大成者就是我们如今所知的 Optimistic Rollup。2019 年 6 月《最小可行合并共识》首次阐述了这一技术。从那时起以太坊社区就开始大力支持 ORU将其作为以太坊式智能合约执行的可扩展性方案。该段落引自登链社区 执行过程 聚合者将 rollup 上的交易收集起来打包进 rollup 区块并将该 rollup 区块连同保证金我们很快就会解释为什么需要保证金一起发送到以太坊或另一条类似以太坊的区块链上面运行着具有大量状态的智能合约上的智能合约中。这个 rollup 区块不会被翻译或执行——智能合约只记录区块哈希并追踪所有 rollup 区块的哈希。rollup 区块本身不存储在智能合约内但是所有人都可以在以太坊的历史交易中找到它们。 rollup 区块包含一个状态根即该 rollup 区块的状态树的根。如果该状态根是无效的则任何人都可以在挑战期内使用欺诈证明来证明它是无效的。这可能是因为这个 rollup 区块中有一笔交易是无效的或者因为状态根是无效的。如果一个 rollup 区块被证明是无效的合约就会将 rollup 链回滚这个无效区块后面的所有的 rollup 区块都会变成孤块。一旦欺诈证明成功保证金中的一部分会支付给证明者剩余部分则销毁。 如果直到挑战期结束都没有人提交欺诈证明合约会敲定 rollup 区块允许聚合者取回保证金。用户将款项从 rollup 链上取回到主链上时需要在 rollup 链上发起取款请求只有当合约敲定该 rollup 区块后款项才能取回。
缺点 在默认情况下由于与以太坊上的智能合约交互本身存在延迟欺诈证明的挑战期会很长长达数周还会因此导致提款延迟。客户端执行可以大幅缩短挑战期。但是我们只需要让流动性提供者通过原子交换来提供提款服务并收取少量费用就可以轻松解决延迟问题。实际上这是一种新的 DeFi 元件流动性提供者可以通过提供服务利用其流动性来赚取收益。 ORU 的吞吐量以以太坊的数据可得性吞吐量为上限。在这种情况下我们可以将 ORU 视为伪分片。多个 ORU 可以在同一个数据可得性层上并行运行。幸运的是数据可得性相比执行更容易扩展。LazyLedger 等项目经过专门优化可以提供具备高度可扩展性的通用数据可得性层让所有 rollup 项目都能充分发挥其潜力。
sidechain sidechain借助主链数据使用自己的EVM进行交易的处理最后将其拥有的数据同步给主链。Sidechain使用的方案以安全性为代价换取速度。Sidechain里面的有趣的地方有“双重挖矿”和”双向锚定“双向锚定结合一个代币交换项目来理解。在同专栏的另一篇文章中以Polygon跨链桥MATIC网络作为例子进行讲解。 Plasma Plasma即子链方案就是一条链的子链通过Plasma网络将自己的重要消息通知到主链上。 Plasma之所以不能称为主流的扩容方案在于Plasma的数据并没有提交到链上所以在Plasma上退出一笔资产的周期会长达一周左右争议期如果在争议期间没有人提交欺诈证明那么资产才可以安全退出到主链。这里不做详细介绍等我学习差不多之后再写一篇文章介绍 channel 我对于channel的理解为“多笔交易化作一笔交易”就是将主链上的资产转换为虚拟币在所有交易完成后结算虚拟币并等比例换回主链资产。channel的典型案例是lighting network闪电网络我们下面就以其为例进行讲解。值得注意的是channel没有自己的EVM因此无法运行合约只能用来处理交易。 闪电网络 通俗理解闪电网络的支付方式可以理解为“欠条版比特币”即用户将BTC存在一个多签钱包中创建一个支付通道并进行互相的交易如果用户想要回比特币就可以将自己现有在这个网络中的资产换成BTC。