DAO:详解Sui密码学中的灵活性

Sui在设计底层技术时考虑到了密码学的灵活性。该系统支持多种密码算法和?cryptographyprimitives,并可以在它们之间快速切换。开发人员不仅可以为系统选择同类最佳的?best-of-breedcryptography,还可以实施最新的?algorithms。

Sui在一个统一的类型别名或整个存储库共享的枚举包装器下定义其?cryptographyprimitives,例如公钥、签名、聚合签名和哈希函数。对这些原语进行更改会影响应用程序的所有组件。开发人员可以快速更新应用程序密码并确保统一的安全性。

目前?Sui通过执行交易端点支持以下用户交易签名方案:

1.PureEd?25519?

2.Secp?256?k?1ECDSA

用户账户密钥对的接口实现

下面是Sui中密钥对表示的?Demo。扩展到新的签名方案非常简单:

VOLLAR DAO报名竞选ZT DAO去中心化社区组织:据官方消息,ZT基金会已经推出ZT DAO去中心化社区组织,并于6月1日至6月30日期间启动报名竞选。VOLLAR DAO已经成功报名,且锁仓1万枚ZTB。

ZT DAO是由区块链行业的人士和区块链爱好者共同组建的区块链社区,隶属于ZT基金会的去中心化社区组织。同时ZT基金会将拿出1000万枚ZTB用于奖励所有ZT DAO的参与者和贡献者。[2021/6/24 0:02:45]

1.把它添加到enum

2.实现?fastcrypto?库中定义的KeyPairtrait

用户签名通过扩展一个额外的1字节标志来序列化,该标志标识关联的签名方案。尽管?Sui?团队考虑过使用?Multiformats,但其可变标志长度的性质使得序列化存在问题。相反,Sui?采用了单字节零起始标志模型。签名方案及其对应的标志定义如下:

公告 | ZT交易所创新板明日上线HYN:据官网公告,ZT交易所创新板即将上线HYN,具体时间如下:2020年1月11 日10:00(GMT+8)开放充值;1月13 日14:00(GMT+8)开启HYN/USDT交易对;1月14 日16:00(GMT+8)开放提币。HYN是目前最大的地图公链,致力于通过去中心化技术实现OneMap的便捷式地图解决方案,主要功能包括地图搜索、地图定位分享和地图导航。[2020/1/10]

当用户提交签名交易时,交易执行指定以下参数:

BSC序列化?transactionbytes为?Base?64??

Signatureschemeflag,可以传参为“ed?25519?”或“secp?256?k?1?”

公钥的?Base?64?格式

其?scheme?对应的签名的?Base?64?

动态 | ZT Global与MyToken再度达成战略合作:据官方消息,近日,ZT Global与MyToken再度达成战略合作,用户可通过MyToken网站和手机APP查看ZT Global生态的最新行情资讯。ZT Global是一家数字资产交易服务商,总部位于开曼群岛,旨在为用户打造安全、稳定、高效的数字资产交易平台。MyToken 成立于2017年8月,以数字资产行情服务为切入口,致力于打造一个安全可靠的加密资产社区平台。[2019/11/26]

如下代码是执行已签名的交易,curl如果成功则返回证书和交易结果。

如下代码展示了Sui的全节点如何将API请求字段组装成序列化签名?flag||signature||pubkey?并在执行前进行验证检查。

Sui?支持不同的签名方案的缘由剖析

使用secp?256?k?1椭圆曲线的ECDSA被比特币、以太坊和其他加密货币广泛采用。用户可能更喜欢这种签名方案,因为他们想利用现有的钱包和托管密钥管理工具,例如阈值签名和多签。此外,它与云基础设施和硬件安全模块具有更好的兼容性,同时支持从消息和签名负载中恢复公钥。

同时,Ed?25519是一种更现代的签名方案,具有确定性快速签名和简化数学的特点。虽然TypescriptSDK支持这两种签名方案。但是?Sui?还是选择Ed?25519作为推荐的Sui钱包算法。

因为?Sui支持不同签名方案,在后面使用?secp?256?r?1?曲线添加诸如ECDSA之类的方案将花费很少的精力,这条曲线目前是原生手机和未来密码学中都要支持的一条曲线,也是目前社区一个普遍要求的功能。

对这种灵活的签名方案支持还使Sui系统与不安全的空签名方案进行基准测试。对于像Sui这样的快速执行系统,并行设计签名和验证也发生在事务级别,而不仅仅是区块层,加密灵活性让?SuiCheck?出加密操作给系统带来的开销。这些基准测试结果已经能够为?Sui?提供识别瓶颈和优化方向。

授权密钥对

AuthorityonSui持有三个不同的密钥对:

Protocolkeypair协议密钥对

Accountkeypair帐户密钥对

Networkkeypair网络密钥对

Protocolkeypair协议密钥对

如果用户签名的交易经过验证,协议密钥对会提供授权签名。当为用户交易提供签名的权力机构的占比超过所需的三分之二门槛时,Sui将执行交易。目前选择BLS?12381方案来快速验证给定数量的授权机构的聚合签名。特别是决定使用minSigBLS模式,根据该模式,每个单独的公钥为96字节,而签名为48字节。后者很重要,因为通常验证者在每个纪元开始时注册一次他们的密钥,然后他们不断地签署交易;因此?Sui?优化了最小签名大小。

注意!使用BLS方案,可以聚合独立签名,从而产生单个BLS签名有效负载。Sui?还将聚合签名与bitmap一起表示签名的验证器。这有效地将当局的签名大小从(?2?f1)×BLS_sig?大小减少到只有一个?BLS_sig?有效负载,这反过来具有网络开销优势,可以独立于验证器集大小的压缩交易证书。

密钥材料类型别名集中在整个存储库使用的单个位置。事实上,仅通过?changingthealias(更改别名)就将协议密钥的Sui从Ed?25519切换到了BLS?12381?。

为了解决BLS?12381聚合签名的潜在恶意密钥攻击,在权限注册期间使用密钥知识证明(?KOSK)。当授权机构请求添加到验证器集时,将提交并验证所有权证明。校验协议密钥?kosk||protocolpublickey||suiaddress。与大多数标准不同,Sui?的知识证明方案也提交到地址,这提供了额外的保护,防止来自另一个恶意验证器的验证器的?BLS?密钥被恶意重用。

聚合签名在两种情况下很有用:

当仲裁驱动程序从多个授权机构返回的?SignedTransaction?形成?CertifiedTransaction?时

当权限形成?SignedCheckpointSummary?时,每个权限都会对检查点内容进行签名

Accountkeypair帐户密钥对

监管机构用来接收质押奖励付款的账户由账户密钥对保护,使用Ed?25519作为签名方案。

Networkkeypair网络密钥对

私钥用于执行?QUIC?对?Narwhalprimary及其worker网络接口所需的?TLS?握手。公钥用于验证节点ID,Ed?25519用作签名方案。

哈希和编码灵活性

目前,Sui的默认哈希函数是sha?3256?,正在运行基准测试以与sha?256和blake?2/blake?3系列进行比较。为了支持编码灵活性,Base?64?和?Hex?在?fastcrypto?中定义了一个编码特性,作为一个包装器base?64?ct::Base?64?和hex及其定制的序列化和验证。值得注意的是,选择了base?64?ct?crate而不是最流行的base?64Rustcrate,因为a)它是恒定时间b)明确拒绝损坏的编码以防止解码时的延展性攻击。Sui?的研究团队成员最近报告了大多数base?64解码器库中令人惊讶的延展性问题,获得了AsiaCCS2022最佳?Poster?奖,这是密码学和安全领域的重要会议之一。

下面的代码片段显示了如何在?fastcrypto?中实现包装器结构:

加密灵活性顺应密码学趋势

凭借在密钥对、签名和哈希函数方面的加密的灵活性,Sui在库选择、基础签名方案、编码和哈希函数方面非常便捷。这不仅允许Sui在库有发现漏洞或某种方案有?bug?的情况下快速升级,还允许根据选择的?cryptographyprimitives作为参数对整个系统进行基准测试。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

OKBDAO:ZT將下架部分幣種

親愛的ZT用戶: 為給用戶提供更好的交易體驗,ZT會對已上線項目進行嚴格審查,根據項目下架規則,ZT決定DogeApe,AION,FIS,MFT,GALFT,KOM,ARG,PSG,FEI.

[0:15ms0-4:25ms