tp钱包官网_tokenpocket钱包最新下载_tp钱包移动端下载|最安全的区块链钱包

TokenPocket钱包app安卓客户端 – ktz币最新价格(ktz是什么货币)

区块链安全是信息安全的一个应用领域。

信息安全是指:保证信息系统中的数据在存取、处理、传输和服务的保密性、完整性和可用性,以及信息系统本身能连续、可靠、正常的运行,并且在遭到破坏后还能迅速恢复正常使用的安全过程。

本文就三个典型的区块链应用:比特币、以太币、Zcash中的比特币进行分析。

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

比特币

比特币(BitCoin)是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。

从最初的比特币源代码可以看出,比特币系统没有明确的模块划分,下图是根据目前的代码情况勾画的比特币架构图。

?

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

比特币架构

比特币源代码bitcoin中含有两个与密码算法相关的文件夹: secp256k1和crypto。

假设用户A和用户B进行交易,用户A支付12个比特币到用户B的地址muPB5AygrXA4eT4Tj3WJJnVtEYpqm91ygZ,生成的交易原始数据为:

0100000001b82a1c86ad0fa4f634dfc0cf82ca3ab996b10a5883520cea76a17b735bbf11e00100000000ffffffff02008c8647000000001976a91498191988a4686997b024161668911f0910ac920188ac6081ad2f000000001976a9140e34abbd759901843cb0240cbcb3d841daa0de8388ac00000000

使用ECDSA对这段数据签名得到:

0100000001b82a1c86ad0fa4f634dfc0cf82ca3ab996b10a5883520cea76a17b735bbf11e0010000006a4730440220531df7a34b069e0f8e9b1095c172ef55524a9e5d4262d8fa7589f392c9d014bf02204a8af854d4340a018ed499490039168406b5b8a2b74076e6db43d37533f597b9012103b8a10e3d5edab3ef718077f15a91d607ede92bbc63df73d27afc22115e184eb6ffffffff02008c8647000000001976a91498191988a4686997b024161668911f0910ac920188ac6081ad2f000000001976a9140e34abbd759901843cb0240cbcb3d841daa0de8388ac00000000

解析这段数据得到:

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

解析后的交易信息

攻击者C截取交易信息后,把交易的接收地址改为自己的地址:mvXf3anW6XizkRBAFfFMMtjwJr 2sL4ZuBd。

修改后的交易原始数据为:

0100000001b82a1c86ad0fa4f634dfc0cf82ca3ab996b10a588 3520cea76a17b735bbf11e00100000000ffffffff02008c8647000000001976a914

a4abe7500b3f7bb2ebd76b4a8f1db900b79db0fc88ac6081ad2f000000001976a9140e34abbd759901843cb0240cbcb3d841daa0de8388ac00000000

其中黑体字符对应修改后的地址。由于ECDSA的签名需要用户A的私钥,所以攻击者C无法伪造数字签名,此时攻击者再转发交易,将返回验签错误。

?

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

验证交易

密码设备在运算过程中会泄露各种物理信息,如功耗、电磁辐射、时间、声音、可见光等。利用这些物理信息也是可以破解出秘密信息的,这种攻击方法被称为侧信道攻击。这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带来了严重的威胁。1996年美国科学家Kocher首先发现针对密码芯片的时间攻击法。该方法通过对密码芯片运算过程中执行时间信息的采集,结合密码算法的内部实现,证实了算法指令和执行时间存在相关性,从而推测出密钥信息。1999年,Kocher等人又提出了利用功耗采集数据去分析密码电路中的秘密信息,并提出了简单功耗分析(SPA)和差分功耗分析(DPA)的方法。

比特币的ECDSA算法在实现过程中考虑了防御侧信道攻击。

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

点加、倍点函数

Crypto文件夹主要处理地址,采用了SHA-256和RIMEMD-160两个hash函数。

同时,crypto还提供了hash函数SHA-1,强烈建议不要使用这个函数,因为它已经不再安全。我国密码管理局在2017年4月3日发布了《关于使用SHA-1密码算法的风险提示》: 近期,SHA-1杂凑密码算法碰撞攻击实例公布,对SHA-1算法的攻击从理论变为现实,继续使用SHA-1算法存在重大安全风险。

比特币核心钱包(Bitcoin Core)是官方发布的用于管理比特币私钥的客户端。拥有比特币地址的私钥代表拥有对应的比特币的控制权,为了防止非授权用户使用比特币,以及防止比特币被盗,应该对比特币钱包进行加密,加密比特币钱包的命令为:

./bitcoin-cli encryptwallet passphrase

加密完成后,需要重启客户端来加载加密后的钱包。进行交易前,需要先把passphrase存入内存,以解密钱包:

./bitcoin-cli walletpassphrase passphrase timeout

timeout是指这个口令在内存中有效的时间,计时单位是秒,超过这个时间后,需要重新调用这条命令。为了安全起见,timeout这个值不应该设置很长,尽量做到每次交易都要输入一次口令。

私钥一旦丢失将无法恢复,也就意味着比特币的丢失,因此,备份好钱包非常重要。备份钱包的命令为:

./bitcoin-cli backupwallet destination

这条命令把wallet.dat文件复制到目标文件夹中。为了安全起见,wallet.dat应该备份到安全的地方,比如离线的U盘。在多个地方安全地保管钱包文件可防止意外情况发生的时候恢复比特币。

为了保证资金的安全性,还可以使用冷存储,即把私钥存储在一台永不上线的电脑上,交易时使用离线签名。

具体步骤为:先在离线电脑上生成钱包wallet.dat,并生成比特币地址,然后删除这个钱包中的密钥,再把这个没有密钥的钱包复制到在线电脑上,冷存储比特币时,只需把比特币转账到该钱包中的地址;当需要使用冷存储的比特币时,需要先用在线电脑生成未签名的原始交易RawTransaction,然后把这个原始交易放到离线电脑上进行签名,最后使用在线电脑广播签名后的交易。但是,比特币官方钱包bitcoin core 0.14.2版本还未实现删除wallet.dat中的密钥,所以还不支持冷存储。可以使用其他钱包进行冷存储,比如armory钱包 https://www.bitcoinarmory.com/。

Bitcoin core的钱包提供多重签名,可以通过createmultisig命令来生成带有多重签名的地址。下面我们来演示如何生成一个3取2的多重签名地址,即有3个管理员,只需任意2个完成签名,就可以进行交易。具体过程如下:

先生成3个管理员的密钥,而且为了达到安全级别II,建议这3组密钥在不同地方生成和存储,以便防范火灾、洪水、地震等风险。

./bitcoin-cli getnewaddress [account]得到3个地址:

mumwWHRHzXaS2fCYB6MrjSg2runDwxa4ZQ

n3LoBtt2mmcTk5dchm7Ba4RbU7pVpE1q43

mrEmwE8r9Wq9sNefGWbpyqP5uSZgscQDr4

利用./bitcoin-cli dumpprivkey bitcoinaddress 获得3个私钥:

cPzefVCmScBJWA2cQ7ngHqwWpMzypwFfvxrw2ykPias19moC9Ssg;

cTuYQj2oumFLf4rWJHqJRxw9K3tsZoBH8488KaUbXWNz1jV5tPgj;

cUW3QnvoebJVSkJbvVEtJTBFYzsy6z1Pu5yQXfpF8HVTJkrqfAWk。

再利用./bitcoin-cli validateaddress bitcoinaddress 获得对应的3个公钥:

039f03c79800b56825dcafbb6c85c1f84964006a337c0d47b3a1bef7a5d835d897;

02c870602256f042039aec374a1164e9168128ada4ddad498c02a50fdbf39e375c;

03fd9030258cdf1001335db26ef9fc7a3ae3563ff8b1356afeb81dd95b81bfdf56。

然后生成多重签名地址

./bitcoin-cli createmultisig 2 [ pubkey1 , pubkey2 , pubkey3 ]

?

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

生成多重签名地址

生成的地址为:

2N9ZbKTZPPDnuiwGDNxX7VbEdus8nm1iUjC。再添加多重签名地址到钱包

./bitcoin-cli addmultisigaddress 2 [ pubkey1 , pubkey2 , pubkey3 ]

可以通过./bitcoin-cli getaddressesbyaccount account 来查看是否已经将地址添加到钱包。接下来,我们再演示如何使用这个多重签名地址进行交易。

先使用命令./bitcoin-cli sendtoaddress bitcoinaddress amount 给多重签名地址2N9ZbKTZPPDnuiwGDNxX7VbEdus8nm1iUjC

转入1个比特币。然后创建一个交易把0.7个比特币从这个地址转出到

mvXf3anW6XizkRBAFfFMMtjwJr2sL4ZuBd。./bitcoin-cli createrawtransaction [{ txid :txid, vout :n}, ] 生成的交易原始数据为:

0100000001133cb5d63d89577c72413392ffc7e695c840d6ffa5fd5e0148bd16d213e79acc0100000000ffffffff02801d2c04000000001976a914a4abe7500b3f7bb2ebd76b4a8f1db900b79db0fc88ace03cc801000000001976a9140e34abbd759901843cb0240cbcb3d841daa0de8388ac00000000

使用第一个地址对应的私钥进行签名

?

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

第一次签名

从图可以发现,第一次签名后,complete字段是false,因为我们创建的这个地址2N9ZbKTZPPDnuiwGDNxX7VbEdus8nm1iUjC需要至少两次签名,这样可以提高钱包中资产的安全性。使用第三个地址对应的私钥进行签名。

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

第二次签名

此时,complete字段为true,表明交易创建完成,可以使用./bitcoin-cli sendrawtransaction hexstring 发送了。在真实的比特币网络中,等待6次确认后,就可以通过./bitcoin-cli getreceivedbyaddress bitcoinaddress 来查看是否收到转入金额。

比特币密钥生成时会调用bitcoin/src/random.cpp中的GetStrongRandBytes函数来生成随机数。这个函数会先调用Openssl中的GetRandBytes函数生成256比特随机数,再调用GetOSRand函数生成256比特随机数,最后如果能获取的话,会调用硬件的随机数生成函数GetHWRand,来生成256比特随机数。接着把这三部分串接在一起,使用hash函数生成一个512比特的随机数,最后取出前256比特作为密钥。为了测试比特币密钥的随机性,我们调用GetStrongRandBytes函数生成了1200个长度为10的6次方的随机数比特流,然后使用NIST STS的随机数测试套件对这个比特流进行了测试,NIST STS的随机数测试套件一共有15项测试:单比特频数检测、块内频数检测、累加和检测、游程检测、块内最大“1”游程检测、矩阵秩检测、离散傅里叶检测、非周期模块匹配检测、重叠模块匹配检测、通用统计检测、近似熵检测、随机游动检测、随机游动变体检测、序列检测、线性复杂性检测,测试结果如下:

?

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

GetStrongRandBytes生成的随机数测试1

\"区块链安全|主流区块链安全属性分析——比特币\"\"区块链安全|主流区块链安全属性分析——比特币\"

GetStrongRandBytes生成的随机数测试2

由于测试结果很长,所以我们只截取了前后两部分。可以看出: 绝大部分比特流都通过了测试,仅有极少数比特流没有通过,比如Frequency测试中,在1200个比特流中通过了1188个,测试结论底部已经说明:在1200个中只要通过1177个就表明这一项测试通过。只有random excursion (variant)测试例外,只要在740个样本中,大于724个通过就行了。从以上测试分析可以得知:GetStrongRandBytes生成的随机数通过了NIST STS的所有15项测试。所以,比特币中的密钥是一个足够随机的数。

下一章我们将介绍另外一个典型应用——以太币。

感谢机械工业出版社华章分社的投稿,本文来自于华章出版的著作《区块链安全技术指南》。

作者简介:

硅谷Dynamic Fintech Group管理合伙人

33复杂美创始人及CEO

PCHAIN发起人,中物联区块链协会首席科学家

Onchain分布科技首席战略官,本体联合创始人,

北京信任度科技CEO、信息安全专家、产品管理专家

美国分布式商业应用公司董事与中国区总裁

CyberVein数脉链项目技术负责人

IBM 10余年开发及解决方案经验,批Fabric应用开发者,NEO核心开发者之一

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.99hufu.com/usdt/186347.html

ktz币最新价格
赞 (0)

众筹平台 Republic、NFT 初创公司 Candy Digital 也完成了亿级融资。此外,本周有 8 个加密基金新推出或完成融资。 据链闻统计,10 月 16 日至 10 月 22 日期间,加密市场共发生 30 笔投融资事件,投融资笔数与 4 月以来最高点持平。已披露投融资总金额为 9.5665 亿美元,与上周相比,融资笔数和金额均有所上升。 从赛道


挑口红是个技术活,编编记得曾经有个“口红星人”的师妹曾经对编编说过:“宁愿选错男盆友 ,也不能选错色号。” 当然,这只是玩笑话,因为在编编看来,所有的口红都是美美哒,没有哪一只是“错”的。 不过,选择一个合适自己的口红确实很重要,也不是所有的色号都适合你的,一款好的色号应当是符合你皮肤的色度和冷暖色,以及你的整体气质和妆容风格。 但是几乎每一个爆款口红中都有


据官方消息,Huobi Global“创新区”定于2021年5月14日上线XCH,其中10:50开放XCH的充币业务,充值量满足市场交易需求时开放XCH币币交易(XCH/USDT、XCH/BTC)。具体时间将以公告形式提前通知。新币上线时,通常伴随较为剧烈的价格波动,请评估风险后谨慎参与交易。 受此消息影响,xch欧易的价格一路飙涨。截止10点20,最高已经


2018年7月22日,区块链龙虎榜分析: HSR近日上行试探压力位,若能放量站上60日线,可以考虑建仓; MANA价格逐渐有多头行情趋势,需要持续关注量能。 2018年7月22日,四大交易所24H成交额: OKEx: $39.10亿; 币 安: $9.60亿; 火币全球站:$4.99亿; Bitfinex:$2.69亿。 1、AVT 截至统计时间,AVT在O


终于,在浮躁的区块链领域里看到了一个已经落地的项目。 近日,致力于打造全球化数字资产金融生态,成为区块链界蚂蚁金服的Social Lending蜂巢星球恰逢其时,其发行的通证SLT(Social Lending Token)近日完成了ZB交易所的上所流程,已于7月21日震撼首发ZB交易所,并在7月23日登录CoinBene(满币网)交易。 至今,Social


未经允许不得转载:TP钱包官网下载|tokenpocket钱包app|tokenpocket钱包2022最新版 » TokenPocket钱包app安卓客户端 – ktz币最新价格(ktz是什么货币)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

tokenpocket最新版官网

最安全的区块链钱包欢迎下载:tokenpocket钱包app

Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/wei-xiao.top/wp-includes/class.wp-styles.php:214) in /www/wwwroot/wei-xiao.top/index.php on line 18