首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是去中心化身份(DID),为什么你应该关心它?

使用一个受信任的工具,对方可以检查你的凭证的有效性。在这种情况下,该工具检查公钥和交易细节,以确认发行机构和发行日期。 请注意,信息本身并不存储在区块链上。...可验证凭证可从三个方面解决这些问题: 使用零知识证明[8]来证明申领数据的有效性而不透露私人信息 使用公钥密码学来验证凭证发布机构 将索赔信息存储在可验证的数据注册处(区块链、分布式账本)。...使用我们最初的例子,你就不需要在 KYC 期间上传整个驾驶执照。相反,你可以只分享一个可验证凭证的链接。 可验证凭证使用零知识证明来保护身份持有人的隐私。...然而,该证书将通过公钥识别发行者(DMV)。由于 DMV 只向一定年龄范围内的个人发放执照,那么我们可以假设你的年龄主张是正确的。...而且,你将来不需要一个账户来登录,因为服务提供者可以签发一个可验证凭证来进行持续验证。登录网站将像连接你的数字钱包一样简单!

1.3K21

Meta 如何实现大规模无身份信息认证?

匿名凭据基于 VOPRF(可验证不经意伪随机函数,它使客户端能够获知自定义输入的可验证伪随机函数评估)和盲签名(一种数字签名,可以防止签名者知道发送者的消息内容)创建。...然后,服务器可以通过检查这个 HMAC,来验证客户端发送的 shared_secret 与本地计算的 shared_secret 是否相同。如果此检查通过,则服务器将请求视为合法,并处理业务数据。...我们不希望恶意行为者发送欺诈性的模型更新数据,但我们希望确保合法用户能够帮助改进全局模型。通过利用匿名凭据服务,我们可以确保合法客户端以无身份信息认证的方式发送客户端模型的更新信息。...此外,我们还有另一项工作是,在密钥轮换后,发布更新的匿名凭据服务公钥,让客户端可以获取更新后的密钥。...尽管理论上这是个好主意,但这种模型实际上是在对我们的服务器进行分布式拒绝服务攻击(DDOS),因为突然有众多客户端同时发送了许多请求。

75910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    区块链基础知识(上):区块链基本原理、加密哈希、公钥加密

    每当有人想要进行一次交易,比如转账给其他人一定数量的金币,他们会把这个交易写在自己的账本上,并通知其他人。其他人会验证这个交易是否有效,比如检查发送人是否有足够的金币进行转账。...如果交易被验证通过,它就会被添加到每个人的账本上,表示账本的状态发生了变化。 为了确保每个人的账本都保持一致,我们约定一些规则。...也就是说,通过应用第二轮 SHA-256 算法 公钥加密: 希望有人向你发送只有你才能打开的加密文档/消息时使用 PKC 首先,我们来看一下公钥和私钥。...你首先生成一对公钥和私钥,并将公钥发送给Alice。Alice使用你的公钥来加密她想要发送的消息。 现在,即使消息被加密,只有你拥有与公钥配对的私钥,才能解密消息。...公钥可以与其他人分享,而私钥必须保持机密,只有你自己能够访问。 哈希处理:对于要进行数字签名的文档或消息,你需要使用加密哈希算法对其进行哈希处理。

    1.1K10

    Libra教程之:Libra协议的关键概念

    Libra区块链中的交易包含如下信息: 交易发送人的账户地址 发送人公钥-与用于签署交易的私钥相对应的公钥 程序: 移动字节码的交易脚本 脚本输入的可选列表。...签名:发送者的数字签名。 交易脚本是一个任意程序,可对交易逻辑进行编码并与在Libra区块链的分布式数据库中发布的资源进行交互。 账本状态详解 Libra的账本状态由区块链中所有帐户的状态组成。...在公钥私钥体系中,帐户地址是用户公钥的加密哈希。要签署从其帐户地址发送的交易,用户(或代表该用户的托管客户端)必须使用与该帐户相对应的私钥。...在区块链中,客户端不需要信任从其接收数据的实体。客户可以查询帐户余额,询问是否处理了特定交易,等等。与其他Merkle树一样,账本的历史记录可以提供特定交易对象的Proof。...共识 共识组件负责通过与网络中的其他验证器节点一起参与共识协议来对交易块进行排序并就执行结果达成一致。 执行 执行组件利用虚拟机(VM)执行事务。

    48431

    你需要学懂这门语言

    CA 会在确认申请者的身份后签发证书,同时会在线提供其所签发证书的最新吊销信息,这样使用者就可以验证证书是否仍然有效。 证书是一个包含公钥、申请者相关信息以及数字签名的文件。...数字签名保证了证书中的内容不能被任何攻击者篡改,而且验证算法可以发现任何伪造的数字签名。这样公钥和身份被捆绑在一起,不能篡改,也不能伪造,就可以实现成员管理。...PKI 是一个基于公钥加密的框架体系,它不仅可以确保网络上的数据安全交换,而且还可以用来确认管理对方的身份。同时在 Fabric 系统中,PKI 还被运用于管理密钥和数字证书的生成、分发以及撤销。...共识管理用于在多个节点的分布式复杂网络中使消息达成共识,分布式账本与账本存储负责区块链系统中所有的数据存储,比如交易信息、世界状态等。...它们会收到共识服务广播的消息,以区块的形式接收排序好的交易信息,然后更新和维护本地的世界状态与账本。 与此同时,Peer 节点可以额外地担当背书节点的角色,负责为交易背书。

    82380

    ACM Queue 顶级论文:厘清关于区块链、比特币的所有误区

    第三,在每个区块内,文档可以与哈希指针的二叉树链接在一起,称为默克尔树,而不是线性链。...公钥作为身份 本文开始达成的理解是,安全的账本使创建数字货币成为可能。让我们回顾一下这个说法。当 Alice 希望支付给 Bob 时,她将该交易广播到所有比特币节点。...而矿工最终将此签署声明纳入账本中才能使交易成为现实。请注意,这不需要 Bob 以任何方式参与。我们关注一下交易中没有的内容:明显无需 Alice 和 Bob 的身份;交易只包含他们两位各自的公钥。...这是比特币的一个重要概念:公钥是系统中唯一的身份。交易在公钥之间转移价值,这被称为地址。 必须知道相应的私钥才能“代表”身份。你可以随时通过生成新的公钥私钥来创建新的身份,而无需通过中枢机构或注册。...)中指出:“数字化名是用于验证相应私钥匿名持有人签名的公钥。”

    1.5K110

    Filecoin的过去、现在和未来

    Merkle的公钥加密系统基于二次复杂度的计算,对于大多数实现来说不够安全。...RSA成为第一个广泛使用的公钥加密方案之一,现在仍被用于V**服务器和客户端之间的TLS握手,以建立安全的通信通道。...这一发现后来对Filecoin的检索市场结构有重要的启示,促使市场参与者通过增加deal成功率来引导信任。 几年后,在21世纪初,我们可以看到与Filecoin设计直接相关的想法开始出现。...比特币的发布是一个“终结”的时刻:比特币证明了分布式账本技术可以在现代计算环境中大规模运行。 2、 后比特币时代 比特币的出现促进了分布式账本技术的快速发展,并开启了现代区块链时代。...除了优化现存协议,白皮书还包括建议扩展Filecoin的功能:建立一个类似于比特币闪电网络的支付网络,可能需要吸收Sprites系统的特性,并且实现智能合约系统:用户可以通过区块链账本与之交互的有状态程序

    69240

    腾讯云高可扩展性区块链平台原理剖析

    因为是公证人集合发起的,不是某一个公证人发起的,所以提案可验证是为了防止公证人作恶,需要两边的应用子链对公证人的提案有效性进行验证。 第二个方面就是提交的可验证。提交可验证是防止两边的应用子链作恶。...这就是公证人作恶的情况,所以需要公证人也要去中心化,也要通过区块链的方式来表决。另一方面就是公众人集合也要验证 A 和 B 是否真的提交了。 可验证要如何实现,就需要借助事务链。...比如基于超级账本或者以太坊的,协议是互不相通的,需要再进行一层封装,就可以进行异构的跨链。不同的区块链要进行协议的适配,增加一个适配层。目前有很多跨链的方案是支持不同底层框架的。...因为在线的时候没有办法完全保证数据是一致的。 Q:公钥能够发给任何人么? A:公钥是公开的,是放在身份中的,任何人都可以在身份链里看到你的公钥。只有能看到你的公钥才能验证你的签名是否正确。...在区块链还没有的时候,需要通过其他方式先进行分享,比如通过邮件把所有公钥都收集到一起,将共识信息写到区块链中,区块链中的第一笔交易就诞生了。 640.gif

    4.5K9223

    去中心化身份(Decentralized ID, DID)研究报告

    一般来说,简化的 DID 协议包括去中心化身份标识符、可验证声明、公钥基础设施和存储方案。...而公钥基础设施和私钥的存储结构将决定 DID 系统的安全性。 可验证声明(VC):参考 3.1 节中的 VC。...因为 DID 不依赖于特定类型的区块链分布式账本技术(DLTs),它可以与任何能够满足基本原理的区块链或 DLTs 一起使用。...为了防止关联信息的泄露风险,即使加密形式,也不会将私有数据存储在链上或分布式账本中,链上仅放置匿名标识符(DID),匿名公钥和代理地址,使所有私有数据的交换在账本外进行。...根据 W3C 制定的标注,DID 是全球惟一的标识符,与去中心化公钥基础设施(DPKI)元数据链接,元数据由包含公钥材料、身份验证描述符和服务端 DID 文档组成。

    5.5K10

    区块链是什么(上)超通俗的区块链入门干货

    读完这篇文章,我们就能弄懂大部分区块链基础知识,从而离保守和狭隘远一点。 区块链是一个去中心化的账本 我们首先需要弄清“去中心化”和“分布式账本”两个概念。去中心化相对“中心化”而言。...在区块链的世界里,不需要大企业做信用背书。 区块链是一个分布式账本 因此,我们也可以说:作为分布式账本,区块链是创造信任的工具。从字面上理解,“分布式”是指分布在不同的地方、各节点分开干活。...1)哈希函数 哈希也可以写作hash,哈希函数属于密码学范畴,用来验证交易信息是否被人动过手脚。...再记2条规则: 1 私钥能生成公钥和地址(有了地址,对方才能给你打钱); 2 私钥加密,公钥解密(加密、解密不是同一把密钥,因此称“非对称加密”); 3)无法篡改的交易数据 仍然以“比卡丘借给熊本熊10...更令人拍案叫绝的是,新区块里的每一笔交易数据,都由相应的交易发起方进行数字签名,链上所有人都可以用交易发起方的公钥(上文说过,公钥是公开的)验证该数字签名的真实性。

    2.6K90

    区块链比特币入门详解

    区块链可以充当“开放和分布式账本,可以以可验证和永久的方式记录双方之间的交易”。该网络中的每个人都共享的这个账户是公开的,所有人都可以查看。这带来了透明度和信任进入系统。...在这里,公钥与其他人共享,而私钥作为用户保密。为了理解这些密钥的作用,让我们看看下面的例子以获得更好的理解: ?...钱德勒的比特币地址(钱德勒的公钥) 现在,所有这些数据以及加密数字签名都会通过网络发送进行验证。数字签名再次是Chandler的比特币地址和他发送给joey的金额的组合实现的哈希值。...一旦必须验证此交易的矿工收到这些数据,他就会同时进行2个过程: 他将Joey和Chandler的所有未加密数据(如交易金额和公钥),并将其提供给散列算法以获取散列值,我们将其称为Hash1 他采用数字签名并使用...因此,发现这种随机数的人是成功的矿工,他/她可以将他们的区块添加到区块链中。通过我们的P2P分布式网络,他/她广播它们的块,并且每个人都验证散列是否匹配,更新它们的区块链并立即开始解决下一个区块。

    1.6K40

    ELI5:“区块链免信任机制”究竟是何意?

    一个真正免信任的交易系统是这样的: 两个人愿意与彼此进行交易并且直接转手。由于它们是实际存在的,因此可以轻松验证。...公钥密码体制 公钥密码体制(或不对称密码体制): 任何人都可以看到的一组公钥 并且存在一组只有所有者可见的私钥 私钥为用户所发出的每个区块链交易生成一个“数字签名”。...签名通过以下方式确保其真实性: 确认交易来自用户 防止交易一发布就被人篡改 以任何方式更改交易信息都会导致验证失败。 这样我们已经发现公钥密码技术可以帮助我们在点对点系统中验证用户身份。...但为了确保不出现双花问题,我们需要知道每次交易的足迹,以便我们知道是否有人发送真正的数字货币或虚假的数字货币。 这是“ 共识机制”发挥的作用——允许我们保留数字共享的事实。...比如说比特币,比特币协议有一个称为“工作量证明”的共识算法,它将系统保存在一起。为了在两个消费者之间进行交易,该算法要求一组节点(称为“矿工”)通过解决复杂的算法问题来竞争以验证交易。

    1.3K70

    区块链比特币入门详解

    它是一个不断增长的记录列表,称为块,它们使用密码技术进行链接和保护。区块链可以充当“开放和分布式账本,可以以可验证和永久的方式记录双方之间的交易”。...钱德勒的比特币地址(钱德勒的公钥) 现在,所有这些数据以及加密数字签名都会通过网络发送进行验证。数字签名再次是Chandler的比特币地址和他发送给joey的金额的组合实现的哈希值。...一旦必须验证此交易的矿工收到这些数据,他就会同时进行2个过程: 他将Joey和Chandler的所有未加密数据(如交易金额和公钥),并将其提供给散列算法以获取散列值,我们将其称为Hash1 他采用数字签名并使用...为此,我们有工作证明的概念。这基本上就像解决一个非常大的难题。它需要大量的计算工作。这项工作是由我们称为矿工的比特币网络中的人完成的。 这些矿工的工作是验证交易并解决与创建块相关的复杂数学难题。...因此,发现这种随机数的人是成功的矿工,他/她可以将他们的区块添加到区块链中。通过我们的P2P分布式网络,他/她广播它们的块,并且每个人都验证散列是否匹配,更新它们的区块链并立即开始解决下一个区块。

    1.6K40

    基础知识补充2:身份认证

    但是,如果使用对称性密钥进行加密,不可否认性是不被保证的。 数字签名的实施需要公钥密码体制,而公钥的管理通常需要公钥证书来实现,即通过公钥证书来告知他人所掌握的公钥是否真实。...购物者可以用人人皆知的公钥对发送的消息进行加密,然后安全地发送给商家,商家用自己的私钥进行解密。...在环签名方案中,环中每个成员可以用自己的私钥和其他成员的公钥进行签名,却不需要得到其他成员的允许,而验证者只知道签名者来自这个环,但不知道具体的签名者。...客户端将凭据和其他信息发送给应用,也就是说,微博App将微信的登录凭据发送给了微博后端。 应用收到凭据后,可以通过签名的方式,验证凭据的有效性。...或者,应用也可以直接和认证中心通信,验证凭据并获取用户信息。这也就是为什么微博APP能够拿到你的微信头像了。 用户完成认证。

    2.7K31

    Merkle Tree 简介

    这种结构使得 Merkle 树具有高效的验证能力,因为任何时候,只需要验证一小部分节点的哈希值即可验证整个数据集的完整性。 Merkle 树的根节点称为 Merkle 根(Merkle Root)。...最终,将计算得到的哈希值与 Merkle 根进行比较。如果它们相同,说明目标数据块存在于 Merkle 树中。 这种验证方法非常高效,因为只需计算路径上的几个节点的哈希值,而不需要计算整个树。 4....以下是一些用于确保数据完整性的方法: 哈希校验:使用哈希函数(如SHA-256)计算数据的哈希值,并将哈希值与传输的数据一起发送。...接收方可以再次计算数据的哈希值,然后将其与接收到的哈希值进行比较,以验证数据的完整性。如果两个哈希值不匹配,就表示数据已被篡改。...数字签名:发送方可以使用其私钥对数据进行数字签名,接收方可以使用发送方的公钥来验证签名。这可以确保数据未被篡改,并且只有发送方可以生成正确的签名。

    42030

    Libra教程之:执行Transactions

    ,存储着账本状态,从账本状态里面,我们可以获取现在每一个账户的资金情况和存储的相应资源。...所有的验证者节点都必须接受账本的初始状态,并在该初始状态之上进行后续的验证操作。...在账本的初始状态中,我们需要定义Libra的核心组件(比如:账户的逻辑,交易的验证,验证者的选择,Libra币等),这些核心组件都是以Move modules的形式存在的。...同样的,要保证交易的执行,我们还需要一个初始账户,和初始的验证节点,这些都是需要在初始状态中定义。...交易发送者的地址,VM可以通过读取该地址内的LibraAccount.T资源来获取该地址的序列号,认证密钥和余额等信息。 发送者公钥。和该公钥相匹配的私钥用来对交易进行签名。

    33520

    深入理解去中心化身份DID (Decentralized ID)

    什么是DIDDID 的全称是去中心化身份(Decentralized Identity)。用户首先生成一个公私钥对,然后将公钥和其他身份信息一起打包,形成一个 DID 文档。...DID 是一种自主、分布式、可验证和持久的身份标识符,它可以用于任何主体,包括人、组织、物品等。...与上述示例一样的是,DID还需要一个标识符注册机构(Identifier Registry)维护DIDs的数据库:如某条区块链、分布式账本,通常情况下也是DID里的example字段VC结构在VC的内部的结构...例如:社区活动需要年满18岁,我们只希望提供VC中的生日属性; 交友活动需要提供性别和年级,那我们只希望提供VC中的性别和生日属性即可。因此,VP就可以实现选择性身份信息验证。...我们举个例子:来验证一下是否包含真正的生日数据,我们需要提供4个数据信息:原始生日数据: 生日原始生日数据索引的位置: 1(数据索引从0开始)验证的Hash路径:Hash1,hash34默克尔根:MerkleRoot

    4.2K50

    有关Blockcerts V3提案你应该知道的事(二)

    等),我们可以将这些内容和可验证凭证(Verifiable Credential,VC)上的内容进行对应。...1.2 verification 就像前面提到的 Blockcerts 当前模式和示例中指出的一样,Blockcerts 的 verification 用于验证发行者的公钥和用于向区块链签发交易的公钥是否匹配...1.3 Signature / Proof Proposal 可验证凭据需要有个 proof 属性,该属性用于验证 VC 的不变性,并证明某个发行者已对该 VC 进行了签名。...一个 created 日期可应用于 proof,但由于可以与任何日期一起创建,这就不能证明它在某一时间的存在性。...为了符合可验证凭证的要求,我们需要使用其他签名证明。目前,MerkleProof2019 正在规范中,并将与可验证凭证兼容。

    52731

    ARPA基于BLS的门限签名算法随机数生成器设计

    当给定一组参与 ARPA 可验证 RNG 的计算节点时,密钥共享在密钥生成阶段由 Feldman 的可验证秘密共享方案分配。然后,每一个参与方计算并广播他们的公钥分片。...在这些片段的合法性被验证之后,它们将被通过插值法进行聚合。最终结果是由种子生成的 BLS门限 签名,且该签名可以用组公钥进行验证。...需要注意的是,无论哪个节点组贡献了随机数的片段,其结果都是相同的。 ARPA 去中心化 RNG 架构 有了BLS签名算法后,我们可以开始设计 ARPA 可验证 RNG 的架构。...RNG系统欢迎所有目前在运行ARPA计算节点的各位。系统中的节点会根据系统之前生成的随机数进行分组。分组完成后,它们就会运行分布式密钥生成运算,并将组公钥上传到区块链。...初始化完成后,新的随机数请求会随机分配给其中一组。当随机数生成并被组认可后,它将被发送到智能合约,根据组公钥对其进行验证。在ETH 2.0 基础设施的优势下,验证过程会是高效且经济的。

    79820

    Merkle Tree 简介

    这种结构使得 Merkle 树具有高效的验证能力,因为任何时候,只需要验证一小部分节点的哈希值即可验证整个数据集的完整性。 Merkle 树的根节点称为 Merkle 根(Merkle Root)。...3.最终,将计算得到的哈希值与 Merkle 根进行比较。如果它们相同,说明目标数据块存在于 Merkle 树中。 这种验证方法非常高效,因为只需计算路径上的几个节点的哈希值,而不需要计算整个树。...以下是一些用于确保数据完整性的方法: 1.哈希校验:使用哈希函数(如SHA-256)计算数据的哈希值,并将哈希值与传输的数据一起发送。...接收方可以再次计算数据的哈希值,然后将其与接收到的哈希值进行比较,以验证数据的完整性。如果两个哈希值不匹配,就表示数据已被篡改。...2.数字签名:发送方可以使用其私钥对数据进行数字签名,接收方可以使用发送方的公钥来验证签名。这可以确保数据未被篡改,并且只有发送方可以生成正确的签名。

    36420
    领券