.jpg)
一、聊聊钱包、私匙、公匙和地址
自从比特币诞生伊始,与此相关的私钥、公钥、地址等名词概念就不断出现在大众眼前,那么这四个概念之间是什么样的关系呢?今天就给大家简单聊一些相关的专业名词和背后的逻辑。
1这些名词的关系是什么样的?
如果用一句话说明这几个名词的关系,那就是:钱包生成私钥→私钥生成公钥→公钥生成公钥哈希→公钥哈希生成地址→地址用来接受比特币,简单吧,能听懂吧。
2这几个名词究竟是什么东西?
还是一句话概括,除了钱包是软件以外,剩下的四个都是长度不一的字符串,比如私钥是52位的字符串,地址是34位的字符串。
3这四个字符串分别从哪里来的?
私钥由钱包软件随机生成,随后用密码算法生成公钥和地址,如果用等式表示的话,可写成如下形式:
公钥=算法1(私钥)
公钥哈希=算法2(公钥)
地址=算法3(公钥哈希)
所以,地址=算法3(算法2(算法1(私钥)))
其中,算法1,算法2,算法3都是公开的算法。
4这几个字符串哪个必须保密,哪个可以公开?
私钥绝对不能公开,因为有了它本质上就取得了对应比特币的所有权。
地址可以公开,因为它是用来接受比特币的,公钥和公钥哈希也可以公开,不过一般情况下你看不到。
5为什么地址和公钥可以公开?
因为即使被别人知道了地址和公钥,对方也推算不出你的私钥,也就掌握不了你的比特币。
为什么推算不出?
举个例子。电影《模仿游戏》中,英军即使在得到了engima密码机(算法)后仍然无法破解德军的密码,原因就是德军每次发信息都会用一个新的口令(私钥)作为起始点。在不知道口令的前提下,进行反向暴力破解大概需要几千万年,不过最后因为刻板的德国人每次都用同一个口令作为起点,而这个口令还是自然语言,导致密码被破解。
所以,每次交易的时候才会要求生成一个新的私钥,然后得到一个新的地址,这样你的交易安全性就有了很大的保障。
6做自己开心的事
从上面的描述我们可以推出,私钥的本质是一个复杂数学问题的解,当有人向公开地址发送比特币时,其实是在向全网所有比特币客户端发出了一道数学题,而这道题目的正确解,就是你的私钥。因为那道题是用你的私钥生成的呀,所以只有你能在第一时间回答出答案,于是比特币就归你了,因此私钥千万不能告诉别人。
如何找到私钥并妥善保管?
在bitcoin-qt软件中,进入windows debug或者调试窗口,在命令行下输入 getaddressbyaccount命令可以查看所有已经生成的钱包地址。选取其中一个地址,然后用 dumpprivkey “地址”命令就能看到私钥了(54位字符串)。
下图是用getaddressbyaccount“”命令查看地址列表,用dumpprivkey查看私钥的截图,注意第一张图中由于钱包是加密的,所以直接打dumpprivkey命令是看不到私钥的。
输入钱包密码后才能用dumpprivkey命令看到私钥。
刚已经说了私钥非常的重要,它是真正决定比特币归谁的证明。私钥在bitcoin-qt客户端里,实际上是存在于一个叫wallet.dat的文件里的,而且刚安装的bitcoin-qt客户端是不设密码的。万一电脑落入不法分子手中或被黑客攻击,导致私钥丢失,就狠尴尬了,所以一定要设置密码,且密码一定要遵守随机复杂大小写字符数字都有的规则。建议用专门的密码生成软件生成,关于密码软件,找机会专门说一下。
特别注意,千万千万千万记住了,一定不要把密码给忘了!因为你忘了密码就打不开钱包 wallet.dat文件了,也就找不到私钥了,然后,就没有然后了。
我就发生过刚开始倒腾钱包把密码搞错了,然后打不开钱包的尴尬,最后只好怒删wallet.dat文件,让系统再自己生成一个,这时候的感觉大约相当于把一笔钱埋在了宇宙某颗星球上,然后把坐标图搞丢了,因为比特世界只认私钥不认身份证,你掉了就是掉了,再也找不回来了。
不过正因为比特币的所有权是依靠私钥确认的,也就有个最狠的保存办法,老猫也提过,那就是,找到私钥后记在纸上,然后把纸锁在保险柜里,或者干脆记在脑子里,不过54位的字符串谁特么能记住?然后把电脑上的客户端连同钱包文件一起删除。
好了,关于钱包客户端,大概就说这些吧,相关知识我也是刚开始了解,随着了解信息的增加,可能会有更新的认识,到时候会再写出来。
千万注意,千万注意,千万注意不要搞丢了私钥。
二、Bitcoin***qt客户端加密了***如何导入导出私钥拜托各位大神
一、Bitcoin-qt客户端加密后如需要导出某一地址对应的私钥,需要先调用 walletpassphrase密码解锁持续时间(秒),如:walletpassphrase h123456789*/* 120,注意留有英文空格。phrase为短语的意思。然后 dumpprivkey地址如:dumpprivkey 15YtPkrChjpCWJX49saJLSJXyzoDnquOPW(33位公钥,字母区分大小写、数混合字)就可以得到诸如:L1ZHQoDroNSgusqdlopwmDYmM9oDSUBUSpA8hJfmEbqDibGoPiko(52位私钥,字母区分大小写、数字混合)二、Bitcoin-qt客户端没有加密如需要导出某一地址对应的私钥,直接在RPC控制台输入dumpprivkey地址就可以。多多试几个地址,你就可以知道,公钥和私钥都是成对使用的。一个公钥对应一个私钥。数据被Bitcoin-QT发送出去之前,需要两层加密,第一层是随机用某个公钥对应的私钥来加密数据,然后把这个公钥明文发送给收款方。收款方使用这个公钥打开对应私钥加密的数据,这样就可以确保数据是付款方发送。第二层是用收款方的公钥(其实就是33位的收款地址)来加密。经过这次加密后,只有掌握这个公钥对应私钥的人,才能收到这笔钱。猜测,Bitcoin钱包文件wallet.dat里面保存的应该是一对对的公钥和私钥。公钥和私钥一一对应。另外,可能出于安全性的考虑,Bitcoin-QT在加密钱包后是不能去掉密码的。如要去掉密码,可以创建一个新钱包,然后把私钥导入到新钱包里去。使用命令:importprivkey私钥私钥导入后,Bitcoin-QT会在“接收”窗口自动显示对应的地址(公钥)。而如果这个地址有BTC余额,那就恭喜你了,别人的钱就归你了。所以你可知道保护钱包文件wallet.dat的重要性了吧?加密钱包后,向别人发送(付款)BTC时,会被要求输入加密密码,这样安全性上多了一道保障。查看原帖>>
三、如何开发数字货币
谢邀~
为何要开发数字货币?从中央银行的角度来看有6个好处:
第一、提升经济交易活动的便利性和透明度
第二、降低传统纸币发行、流通的高昂成本
第三、更好地支持经济和社会发展
第四、助力普惠金融的全面实现
第五、减少洗钱、逃漏税等违法犯罪行为
第六、提升央行对货币供给和货币流通的控制力
数字货币开发步骤:
第一步、
首先我们要从git上下载某套区块链体系的源码,比如选择比特币的主干代码下载好
相关源码。
同时准备好对应的编译环境(C++的建议在Linux)和安装好对应开发环境和工具。
第二步、
代码都是需要编译的,因此需要准备编译环境和工具,需要下载环境编译工具、配
好系统环境变量, qt环境等文件,编译命令在Itc源代码里的文件里有详细说明。
不过系统和开发环境的搭建、程序编译等过程都比较繁琐,不建议普通用户自己制作。对于开发人员,第一次可能要预计2-3天的安装配置时间。
第三步、
拿比特币开发来说,他是Q的开发环境,下载好源码并配置好环境后,在QtCreator内打开该比特币核心的源码,配置相关文件和编译器,开始尝试编译比特币核心的客户端。
第四步、
改造成自己的数字货币,打开各个源文件,找到对应的地方调整参数即可,如调整
每个区块出币数,总产量,调整难度等等,然后就到最关键的点,就是改名为自己的币名。
想怎么取名就怎么取名,别忘记在资源文件夹里替换掉相关图标。如果一切顺利,经过重新
编译,你的新币就顺利发明了。
对于这个数字货币的开发,还是属于技术比较专业的,因此最好有-个专业的团队协助。
数字货币开发大致需要学习的框架:
1、搭建以太坊私链测试环境以及公链节点环境配置
2、以太坊中以太币的交易、确认原理
3、以太坊中json rpc接口
4、以太币转账与提现原理
5、服务器对接以太坊公链接口,自有服务器存储业务数据,公链存储交易可匿名数据
6、私钥的安全处理
以下是开发的代码示例:
举例下市场上常用的数字货币钱包有:
APP类:kcash、imtokenweb:myEthereumWalletgoogle浏览器插件:metaMask
其中最常用的就是imToken
区块链交易技术概念:
让我们来看看区块链交易是如何以比特币为例进行处理的。为了将一定数量的比特币发送到另一个钱包,您需要以下信息:将资金发送到您的钱包的地址,您想要发送的加密货币数量
接收者的钱包的ID。
每笔交易都使用唯一的机密私人密钥进行签名。一旦付款由发件人签署,它就变为公开可用。交易仍需要确认,以便收款人可以得到这笔钱为了确认交易,有必要生成一个新的链条块。
这些块是通过进行复杂的数学计算来找到唯一的密钥而生成的。创建一个新块需要10分钟,找到该密钥的人获得一定数量的硬币作为奖励。一旦创建了链的新块,就不可能将其从数据库中删除或以某种方式更改信息。因此,区块链交易是最终且不可逆的。
数字货币的三大核心优点:
第一点、数字货币是公平的货币
数字货币没有特定的发行机构,不是由某一国家发行的,仅仅是依靠特定算法产生的,这就意味着无法通过操纵发行数量来操纵数字货币,因此数字货币是一种自由的、非国家的货币。
我们可以看到现在有许多国家是直接认可了虚拟货币,那么有需求,就需要交易的平台。
我们现在许多想搭建虚拟货币交易平台的投资者,为什么不能去这些地区搭建交易平台呢?搭建虚拟货币交易平台,这不就是一个很好的商机吗?
第二点、数字货币的安全系数更高
纸币的出现虽然方便了我们日常生活中的交易,但是会有被偷盗以及收到的风险。电子货币虽然可以避免这些风险,但是会出现诸如被盗刷、等新的问题。
数字货币则可以避免以上问题。并且将每一笔交易记录在网络上进行广播,是的所有节点都保存全部货币的流通信息,这样任意一个节点在交易之前就可以轻易地发现货币的流通。
第三点、数字货币的交易可以实现匿名交易
由于没有传统银行开户和身份认证的过程,数字货币是纯匿名的。虽然可以根据本地完整的交易记录查询到每个账号的流水信息。
但却无法知道这个账号的主人是谁,同样也没有任何人有能力操纵他人账号上的数字货币,这样很好的保护了使用人的隐私。
如果您也在持有交易数字货币、外汇黄金原油、合约期货:
本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/jys/179772.html


发表回复
评论列表(0条)