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

学习笔记《区块链技术与应用》第六天 问答 匿名技术 零知识证明


问:如果转账时候收款人没在线怎么办
答:不影响记录在区块链


问:收款地址没有在全节点中出现过
答:可能的。创建账户不需要通知其他人只生成密钥对,发生交易才通知其他节点


问:私钥丢失怎么办
答:没有办法,变成死钱。交易所一般是中心化的需要提供身份验证,类似于银行,私钥也由交易所保管。丢失是可以通过身份验证找回。


问:私钥泄露,账户出现可疑交易
答:赶紧转移


问:转账写错地址怎么办
答:地址是公钥的hash。digital commitment
Proof of Burn
OP_RETURN(写在输出脚本里,验证当前交易合法性不会被执行。有人要花钱需要作为输入执行才会被执行)
…(想要存储的内容)


问:偷拿别人的nonce
答:coinbase tx->A , hash会改变,不可能偷答案因为和地址绑定


问:交易费该给哪个矿工
答:不需要提前知道,total inputs > total outputs, 差额就是交易费,区块差额就会给矿工。


Blockchain Size是不断增大的
Number of Unspent Transaction Outputs, 趋势是不断变大,丢失账户永久保存


Bitcoin and anonymity

pseudonymity 假名

以前银行是不实名的,谁有存折谁能取

比特币哪些情况会破坏匿名性?

将不同的地址关联到一起。addr4就是找零的地址

在这里插入图片描述

账户与现实关联。

任何跟实体世界发生联系都可能,比如买比特币的时候。
中本聪保密做的最后因为没花过钱。

eBay for illegal drugs

匿名性 你不想向谁暴露身份

hide your identity from whom?


问:哪些方法提高匿名性
答:
应用层:coin mixing 有提供这种服务的网站但容易跑路。在线钱包
网络层:多路径转发,洋葱路由,

零知识证明

零知识证明是指一方(证明者)向另一方(验证者)证明一个陈述是正确的,而无需透露除该陈述是正确的外的任何信息。

例, 我想你证明账户是我的,但不能把私钥给你,可以提供验证签名。此案例不是零知识证明

同态隐藏
如果x,y不同,那么它们的加密函数值E(x)和E(y)也不相同。
给定E(x)的值,很难反推出x的值。
给定E(x)和E(y)的值,我们可以很容易地计算出某些关于x,y的加密函数值。
-同态加法:通过E(x)和E(y)计算出E(x+y)的值
-同态乘法:通过E(x)和E(y)计算出E(xy)的值
-扩展到多项式

例子
Alice想要向Bob证明她知道一组数x和y使得x+y=7,同时不让Bob知道x和y的具体数值。


简单的版本
Alice把E(x)和E(y)的数值发给Bob
Bob通过收到的E(x)和E(y)计算出E(x+y)的值(利用了性质3)
Bob同时计算E(7)的值,如果E(x+y)=E(7),那么验证通过,否则验证失败。


盲签方法
用户A提供SerialNum,银行在不知道SerialNum的情况下返回签名Token,减少A的存款
·用户A把SerialNum和Token交给B完成交易
用户B拿SerialNum和Token给银行验证,银行验证通过,增加B的存款
银行无法把A和B联系起来。
,中心化


零币和零钞
零币和零钞在协议层就融合了匿名化处理,其匿名属性来自密码学
保证。
零币(zerocoin )系统中存在基础币和零币,通过基础币和零币的来回转换,消除旧地址和新地址的关联性,其原理类似于混币服务。
零钞(zerocash)系统使用zk-SNARKs协议,不依赖一种基础币,区块链中只记录交易的存在性和矿工用来验证系统正常运行所需要关键属性的证明。区块链上既不显示交易地址也不显示交易金额,所有交易通过零知识验证的方式进行。
依然不能摆脱现实关联

http://www.dtcms.com/a/312412.html

相关文章:

  • Apple基础(Xcode④-Flutter-Platform Channels)
  • Stream 过滤后修改元素,却意外修改原列表
  • Swift 运算符
  • 【Django】-9- 单元测试和集成测试(上)
  • Android 之 蓝牙通信(4.0 BLE)
  • Redis+Lua的分布式限流器
  • C++编译过程与GDB调试段错误和死锁问题
  • 北邮:LLM强化学习架构Graph-R1
  • C++-二叉树OJ题
  • 【反转字符串中的单词】
  • 从零开始设计一个分布式KV存储:基于Raft的协程化实现
  • 吴恩达【prompt提示词工程】学习笔记
  • C# async await 实现机制详解
  • GR-3:字节跳动推出40亿参数通用机器人大模型,精确操作提升250%,开启具身智能新纪元!
  • FasrCGI
  • ospf笔记和 综合实验册
  • visual studio code 怎样将主题修改成亮色,并且配置中文界面
  • zookeeper常见命令和常见应用
  • MySQL——运维篇
  • K8S部署ELK(五):集成Kibana实现日志可视化
  • MySQL面试题及详细答案 155道(021-040)
  • 使用Database Navigator插件进行连接sqlite报错invalid or incomplete database
  • 2025年开关电源行业深度解析:从传统应用到新兴赛道的黄金赛道
  • MVC 发布
  • 代码随想录day53图论4
  • trace-cmd记录线程被中断打断的时间
  • 笔试——Day27
  • RabbitMQ面试精讲 Day 10:消息追踪与幂等性保证
  • spring-ai-alibaba 之 graph 槽点
  • 【设计模式】4.装饰器模式