btc用的什么算法 btc用处
zk-SNARK算法有什么数字货币应用了的吗?比比特币能实现安全性多高呢?
零币(Zcash)官网、钱包、矿池及交易网站
文章来源:零币官网
零币,Zcash
2018/01/21 17:30
27026
零币Zcash(ZEC)是一种采用零知识证明算法的透明和匿名性共存的新型加密数字资产,采用EquiHash算法和PoW的方式构建适合普通电脑挖矿的分发机制。发行总量与比特币相同,总共2100万。
Zcash是一个去**化的开源密码学货币项目,通过使用先进的密码学技术提供交易隐私和可选择的透明性。Zcash支付被发布在一个公有区块链上,但是交易发送者、接收者和交易数额是保密的。Zcash基于同行评议的密码学研究,并且是由专注于安全的世界级团队基于比特币核心代码开发的。我们对比特币的改进是增加了隐私性。Zcash使用先进的密码学技术,即零知识证明,**程度地保护网络上交易的隐私。
ZCASH 如何工作Zcash 可以加密交易中的特定内容。由于交易信息是加密的,Zcash 协议使用了一个新颖的密码学技术来验证交易信息的真实性。
Zcash使用一个被称为 zk-SNARK的零知识证明架构,该架构是由我们的经验丰富的密码学家团队在近期的突破基础上开发的。这个框架允许网络在不公开交易参与方或者交易数额的情况下维护一个安全的账户余额账本。Zcash交易的元数据是加密的,而不是公开地展示交易参与方和交易数额,zk-SNARK被用来证明没有人进行欺骗或者偷窃。
Zcash 同样可以像比特币一样使用户具有发送公开透明交易的功能。通过同时使用隐私地址和透明地址,用户可以选择使用隐私方式或公开方式发送 Zcash。从隐私地址向透明地址的的 Zcash 交易完成时,账户的资金将被揭露,而从透明地址向隐私地址的交易完成时,账户的资金将被隐藏。
Zcash官网:
交易平台
币安网 : Bithumb : :火币Pro : : :网 : :
zk-SNARK 算法简介
zk-SNARK 是 zero-knowledge succint non-interactive arguments of knowledge 的简称,其中:
Succint (简洁性) : 与实际计算的长度相比,生成的零知识证据消息很小。
Non-interactive (非交互性) : 几乎没有**交互。对于 zk-SNARK 算法来说,通常有一个构建阶段,构建阶段完成之后,证明者 (prover) 只需向验证者 (verifier) 发送一个消息即可。而且,SNARK 通常还有一个被称作是 "公开验证者" 的特性,意味着**人无需**交互即可验证零知识证据,这对区块链是至关重要的。
Arguments (争议性) : 验证者只能抵抗计算能力有限的证明者的攻击。具有足够计算能力的证明者可以创建**的零知识证据以欺骗验证者 (注意刚提到的足够的计算能力,它足可以打破公钥加密,所以现阶段可不必担心)。这也通常被称为 "计算完** (computational soundness)",而不是 "**完** (perfect soundness) "。
of Knowledge : 对于一个证明者来说,在不知晓特定证明 (witness) 的前提下,构建一个有效的零知识证据是不可能的。
zero-knowledge 前缀说明了在验证过程中,验证者除了知道证明者的陈述是正确有效的,不能学习到**关于该论述的内容,举例来说,在 zcash 中,矿工知道一笔交易是有效的,但是却不知道这笔交易的发起者,接收者以及转账金额等关键性隐私信息。
一、了解 zk-SNARK 算法
我们首先来了解一下将 zk-SNARK 算法应用到实际场景中需要经过哪些步骤 (参考 vitalik 在 medium 发布的关于 zk-SNARK 算法的一系列文章 , , 有兴趣和能力的朋友应该去读一读,深入浅出的文章,我正是看了这些文章才入的门):
验证规则到 R1CS 形式的转换: 实际场景中,大部分问题但是 NP 问题,即可以在多项式时间内验证结果的正确性,zk-SNARK 算法适用于所有的 NP 问题,目前还不清楚,对于 NP 之外的问题,zk-SNARK 算法是否适用。我们要做的就是确定问题的验证规则,例如在比特币中,一笔交易是否有效的问题就是 NP 问题,验证规则主要是,输入的金额是否大于等于输出的金额,这笔交易是否有合适的签名,输入是否属于 UTXO等。所谓的 R1CS (rank-1 constraint system) 就是一系列三元组向量 (a, b, c),它是验证规则的数学形式体现,如何将验证规则转换为 zk-SNARK 友好的 R1CS 形式,可查看 vitalik 的文章,这里就不再赘述。
R1CS 到 QAP 的转换: QAP 是 Quadratic Arithmetic Programs 的简称。通过拉格朗日插值法或者快速傅里叶变化,我们可以将 R1CS 转换一系列成多项式的形式,使得 A(x) B(x) - C(x) = H(x)Z(x) 成立,零知识证据的证明主要围绕着 QAP 展开。
其实 zk-SNARK 算法背后还涉及了有限域、椭圆曲线等知识,最重要的椭圆曲线结对的使用,大家有兴趣可去寻 vitalik 的文章查看。
二、如何使用 zk-SNARK 算法
zk-SNARK 算法的主要作者们写了一个 libsnark 库,提供了一些基础组件,zcash 用的零知识证明库就是 libsnark 的一个 fork 版本。我本人刚开始看到这个库时也是一筹莫展,即使在我了解了这么多关于 zk-SNARK 背后的技术知识后。而后,寻得一个作者编写的简单例子,才基本入了门。**,自己也加了一些复杂的功能,放在了我的 git** 上。
比特币算法?
比特币挖矿的核心是寻找符合特定条件的哈希值,这需要使用SHA-256加密算法。SHA-256算法能够将任意长度的数据转换成一个固定长度(256位)的哈希值。
在比特币系统中,矿工将包括新交易数据和前一个区块的哈希值在内的信息作为输入,计算得到新区块的哈希值。
如果这个哈希值符合预定的难度目标,这个区块就被视为有效,可以被添加到区块链上。
比特币的算法是怎样的?
看比特币的书,每个步骤10分钟哈希碰撞保证全世界**才能获得写入权利,得比特币作为酬劳,得到2个哈希符号,一个公钥匙,公开用让别人知道你有,一个私钥匙。必须小心保存交易时才能输入,只要之前让别人看到输入系统就等于被偷窃走
里面的那些长字符叫哈希字符,依据是从时间,系统总计算力到你的电脑名字IP,但是不能让你直接看出对应关系,否则你会自己直接写那种字符偷窃,好比钱币如果你知道什么原材料,什么机械步骤制作的就自己直接成千上万复制,反正最值钱的就是那些密码产生的过程,让你无法复制这个过程直接生产凭空**新比特币,只能保存输入得到的密码守卫的滴水不漏,其他什么盗版复制门都不能有,如果有成功的比特币就崩溃,我们只能另外制作个数字币,密码是所有知识中要求最特殊的几个职业,看到密码就能看出要加密保护的消息是最忌讳的事情,这个密码体系和要保护的相关事物都要崩溃洗牌,不死也掉层皮那样,所以问的太详细有无法给答复,好比能计算出一个人身份言谈举止就属于社交社会学密码,计算出那个行业会升值人人去打破头学习加入那个职业,社会也会乱套,
比特币密码算法攻破,比特币玩家的钱怎么办,疯狂卖出?
有开始一本正经的胡说八道了。算法攻破,尼玛,不是八道已经超过九道了。比特币是区块链数字货币,本身除加密算法外,最主要的还要有区块链节点记账。只有超过一半以上的有效节点记账才**形成比特币。
比特币采用的是工作量证明机制,每**钟出一个区块,对应一串哈希值,所谓矿机就是显卡,用来生成哈希值与产生的那个**的哈希值对比,如果两者一致即为挖矿成功,同时向**广播,校验记录。目前的矿机所产生的算力已经极为恐怖了,挖矿仍然不易,如果想攻破,需要算力占比超过51%。即便用**的超算也不易实现,且成本不合适。如果未来量子计算机能有大突破,这倒是有可能的。不过那也是对还没挖出来的而言,比特币一共发行2100万枚,**挖完约需100年,现在已经产生了快1800万枚了,所以付如此大的算力成本只有这点收获是不值得的,对已产生的币价值影响有限。与其费力攻击比特币公链,还不如去攻击那些交易所来得合适。回答完毕,请采纳。
我理解的是算法**不会被攻破,除非你有**级别的那个计算器,每秒运算速度
NO.1 天河一号(**) 2570万亿次/秒。但是不会因为这个,而去使用计算机。
即便是攻破,那么体制已经建立,总量也是固定的,只能是去把剩余的币都挖出来,这样你的确能够赚到钱。剩下的还是可以正常交易,因为每交易一次,就会有一部分聪,转入区块,然后继续计算获得奖励,这样就不会说有挖完币的那一天,也就是你能够找到足够大运算量计算机,就可以获得**大的币,但是这些币总量是固定的,你只能获得剩余的那些。所以还是有价值的,除非是大家都抛弃了这个,转而使用法币,那么这个就没有价值了。
首先算法都是基于当前的一些数学难题来处理,破解难度很大。其次比特币的代码是开源的,也有专门的人来维护。所以算法是可以更换的,如果某一个数学难题被攻破了,又可以根据当时的数学发展程度,换一个新的数学难题对应的加密算法。