注:没有全部复原,抽取了主体知识,加入了一些自己的理解,强烈建议去学习肖臻老师的课程,这绝对算得上是国内区块链讲解的*教程,纯学术和技术
如果银行用化名,隐私性,匿名性和BTC相比哪个更好?
银行的更好,因BTC的账本是公开的,银行是受控制的,银行工作人员可以查询,但是普通老百姓并不能查询银行的流水
BTC什么情况下会破坏匿名性?
-
创建了多个账户,但是这些账户可能会关联起来
输入一般不会正好等于输出,所以一般是同一个人的多个账户,输出的话还可能会使用自己的地址来接收零钱,所以可以通过分析交易来判断是否是同一个人。
现在这些交易一般是用wallet生成的,wallet一般不会生成多余的账户来迷惑敌人,所以可以通过分析现有wallet的机制发现一些规律来分析交易
-
地址账户可能与真实生活中的真实身份产生关联
与真实世界产生交互的时候最容易发生,
- 资金的转入转出,很可能要通过交易所,如何防范BTC的洗钱?盯住资金的转入转出链是一个常用的手段,
- 用BTC支付,国外支持BTC PAY,可以通过分析你的消费习惯等将账户与人对应起来
Hide your idendity from whom?
BTC的匿名性是相对的,你对亲戚邻居保密是很容易的,但是要是从事非法活动想要逃过*等还是很难的
采取什么样的方法尽量提高你的匿名性?
- 网络层,P2P的网络:使用洋葱路由TOR,多跳路径转发,节点只知道上一个节点是谁而不知道是谁发出来的
- 应用层:coin mixing,将你的与其他人的混合在一起,从而让人分不清楚到底是谁
零知识证明
是指一方(证明者)向另一方(验证者)证明一个陈述时正确的,而无需透露除该陈述是正确的外的任何信息。
零知识证明的数学基础是同态隐藏
第一个性质和哈希函数也不太一样,哈希函数还是可能会产生碰撞的
如果E(x)和E(y)相同,那么x,y也相同
第二个性质与hash运算类似,hiding的特性
专门为了匿名性而设计
知道是系统里的coin但是不知道是哪个,破坏了关联性