BCH下周硬分叉升级 Schnorr签名功能终于来临

news/2024/6/28 20:24:51

链客,专为开发者而生,有问必答!

此文章来自https://www.liankexing.com,未经允许拒绝转载。

在这里插入图片描述
比特币现金(Bitcoin Cash)网络计划于5月15日进行分叉,社区此前一直在为这次升级做准备,升级将包括增加Schnorr签名和隔离见证(Segwit)复原。

图片来源:pixabay

BCH升级时间:2019年5月15日,下午12点之后不久

根据路线图,每六个月,BCH区块链就会协议升级,以添加新的功能,从而提高扩展性、隐私性和整体网络性能。即将于5月15日(下周三)推出的硬分叉将要求所有参与者升级他们的软件。兼容这次硬分叉的BCH完整节点实施包括Bitcoin ABC 0.19.4、Bchd 0.14.2、Bitprim 0.19.0和Bitcoin Unlimited Cash Edition 1.6.0.0等客户端版本。这次升级最终将为BCH增加两个新的协议功能:Segwit复原和备受期待的Schnorr签名。

升级:Segwit复原以及Scnorr签名的好处

Segwit复原基本上是一个附加到最新协议升级实现的一个新的CLEANSTACK规则,这使得矿工不可能从Segwit地址恢复BCH。从本质上讲,5月15日以后的升级将豁免这些无法找回的币,并使它们可以消费。Github上的BCH硬分叉规范解释说:“这意味着一旦P2SH赎回脚本预映像(例如,通过从对应的BTC地址花费币)被显示出来,任何矿工都可以获得这些币。”

最引人注目的是这次升级添加了Schnorr签名。这种由克劳斯·施诺尔发明的数字签名方案将允许BCH用户以不同寻常的方式构建密钥。例如,使用Schnorr签名代替ECDSA签名允许将来使用多签名聚合之类的概念。对于外行人来说,与使用多个签名相比,该概念通过使用聚合签名本质上减少了交易大小。本质上,这种分组产生了相同的密码证明,从而减少了区块链的存储和带宽。Schnorr签名能够提供的另一个优势是,当用户和开发人员将一个批处理的公钥方案与OP_CHECKSIG和payto -public-key-hash (P2PKH)地址等不同协议组合在一起时,可以提供隐私。

BCH开发人员已经添加了Schnorr签名方案作为传统ECDSA签名的可选替代品。工程师们将使用与ECDSA相同的曲线引入Schnorr,这样普通用户就不会像以前的分叉那样注意到升级,比如当区块大小提高时。然而,在开发方面,Schnorr签名只使用64个字节,低于典型的70字节ECDSA签名。基本上,实现升级特性的程序员可以将交易大小减少大约4%。但是,从ECDSA到Schnorr的转换是完全可选的,但是实现这种更改有一些令人鼓舞的好处。除了可扩展性和隐私性,Schnorr还为使用该协议的钱包平台提供了一个特性:重放保护。Schnorr的其他好处,BCH开发者将能够在5月15日之后使用,包括:

支付通道隐藏为普通支付。

隐藏为普通支付的原子级互换。

如果需要的话,可以实现闪电网络形式的支付通道网络。

涉及多方的未经确认的交易的安全链(layer 2)。

未来与Schnorr相关的升级可以增强公共签名聚合,将区块链存储和带宽降低25%,并设计复杂的智能合约

在过去,许多密码学家认为Schnorr比ECDSA更完善,但是区块链程序员不能使用这个概念,因为它获得了专利。既然如今这个专利已经过期,BCH程序员可以使用Schnorr签名,并构建大量的改进。在5月15日的分叉之后,新功能将首先带来Schnorr签名的基础能力,这将为将来与Schnorr相关的分叉设置好协议。例如,进一步的升级将能够支持公共签名聚合,从而将区块链存储和带宽降低20-25%。另一个升级可以帮助消除签名的延展性,这样程序员就可以设计复杂的智能合约。

进一步的升级可以引入公共签名聚合,在引入更复杂的概念的同时,还可以减少存储和带宽。

如上所述,这次分叉将在下周三(5月15日UTC时间下午12点后不久)进行,协议将锁定在特定的区块高度。在此之后,再过11个区块,BCH链将执行升级,规则更改将生效。BCH的粉丝们将能够在像Coin Dance这样的数据网站上实时观看分叉,以便看到共识规则的改变已经按计划实施。

此外,使用ESDSA的现有钱包将以与以前相同的方式运行,因此普通用户可能不会马上注意到有多大不同。开发人员会发现这个功能很有吸引力,因为它减少了4%的交易大小,并且能够以新的方式构建。未来将会有各种各样的复杂方案推出,5月15日的升级将会是所有创新概念的基础。

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/237695.html

相关文章

Docker 宿主机定时清除容器的运行日志

为什么80%的码农都做不了架构师?>>> docker 宿主机定时清除容器的运行日志 一般docker容器都是最小化安装,不仅如此系统定时器相关的服务也不存在,自己去安装也很麻烦,故此直接使用宿主机的定时器即可。 一、在容器中…

fcm和firebase_我如何最终使Netlify Functions,Firebase和GraphQL一起工作

fcm和firebaseIn a previous post I confessed defeat in attempting to get an AWS Lambda GraphQL server to connect to a Firebase server. I didn’t give up right away, though, and a short time later found a different Node package to achieve what I couldn’t be…

Spark笔试

1.Spark 的四大组件下面哪个不是 (D ) A.Spark Streaming B Mlib C Graphx D Spark R 2.下面哪个端口不是 spark 自带服务的端口 (C ) A.8080 B.4040 C.8090 D.18080 3.spark 1.4 版本的最大变化 (B ) A spark sql Release 版本 B 引入 Spark R C DataFrame D支持动态资源…

Android逆向之调试smali代码基础

点击上方↑↑↑蓝字[协议分析与还原]关注我们 “ 介绍Android逆向中调试smali代码的方法。” 最近在重整Android逆向分析环境,一切都在从零开始,做下记录,给大家分享。 本文介绍Android逆向中smali代码的调试及环境的准备。 事先准备如下工具…

智能合约语言Solidity - 错误处理

链客,专为开发者而生,有问必答! 此文章来自https://www.liankexing.com,未经允许拒绝转载。 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解…

Docker网络解决方案-Flannel部署记录

Docker跨主机容器间网络通信实现的工具有Pipework、Flannel、Weave、Open vSwitch(虚拟交换机)、Calico实现跨主机容器间的通信。其中Pipework、Weave、Flannel,三者的区别是: Weave的思路 12在每个宿主机上布置一个特殊的route的…

postgres语法_SQL Create Table解释了MySQL和Postgres的语法示例

postgres语法A table is a group of data stored in a database.表是存储在数据库中的一组数据。 To create a table in a database you use the CREATE TABLE statement. You give a name to the table and a list of columns with its datatypes.要在数据库中创建表&#…

json的简单的数据格式

json的简单数据格式 var arr{"obj1":["张三","12","女"],"obj2":["李四","12","女"],"obj3":["王五","12","女"],} var str""; $.each(a…