当前位置:首页 > 物联网 > 区块链
[导读] 根据韦氏词典,钱包的定义是“旅行中携带各种物品的袋子”。当我们使用与区块链相关的概念时,我们会使用我们对钱包的预想意义,即携带加密货币。 比特币向我们大多数人介绍了区块链技术。除了那些有

根据韦氏词典,钱包的定义是“旅行中携带各种物品的袋子”。当我们使用与区块链相关的概念时,我们会使用我们对钱包的预想意义,即携带加密货币。

比特币向我们大多数人介绍了区块链技术。除了那些有学识的人,我们都总认为区块链和比特币是同义词。我们不区分这两者。但是,比特币只是区块链技术的应用之一。当我冒险进入加密货币世界时,使用了一系列概念都很混乱的术语。其中一个词就是“钱包”。

从我年轻的时候起,我就对钱包情有独钟。我们大多数人都认为这是一种时尚宣言。所以,当区块链钱包被介绍给我的时候,我所想到的就是为了在加密货币世界里酷一点,我应该拥有一个很酷的钱包。仅此而已。

区块链钱包不是存储加密货币的对象,因此您可以随身携带它。这就是我所想的,因为它与“钱包”在世俗意义上是直接相关的,也就是说,在钱包里,代币是存在的。我的印象是,如果我想在加密货币世界里买任何东西,我需要从钱包里拿出代币然后花掉它。但事实远非我所想。

让我向你们介绍一些概念。

Ethereum和Bitcoin基于区块链技术。我将使用Ethereum区块链来解释这些概念,因为我们大多数人都在交易ERC20代币,并且以太坊扫描的有超过10万个令牌正在流通中——https://etherscan.io/token

私钥、公钥和钱包

密码学包含两种类型——对称和非对称。在对称密码体制中,相同的密钥用于加密和解密数据,而在非对称密码体制中,不同的密钥用于不同的加密和解密。让我详细解释一下。

对称加密技术

让我们假设Bob和Alice希望彼此交换消息。他们想要分享一些需要在互联网上交换的信息。他们害怕这些信息会被互联网上的其他人修改。因此,他们在信息交换之前就决定在他们之间共享一个密钥。现在,Bob使用密钥加密消息并将密文传递给Alice。在这个场景中,Bob并不担心在互联网上交换这个密文,因为即使有人修改了密文,Alice也会知道消息被篡改了,可以请求Bob再次发送密文。只有在密钥的帮助下,Alice才能将密文解密成Bob发送的消息。这是密码世界里的老技术了。一些最著名的加密术是Blowfish、AES、RC4、DES、RC5和RC6。广泛使用的对称算法有AES-128、AES-192和AES-256。

非称加密技术

在相同的场景中,Bob使用Alice共享的公钥加密消息并在互联网上将密文发送给Alice。Alice使用私钥将密文解密。现在,如果对密文有任何篡改,Alice可以很容易地用这种加密方法检测到。这是当今世界最常用的加密机制。广泛应用的非对称加密术有RSA、DSA、椭圆曲线密码学。

因为区块链是一个加密链,所以我们在任何地方都可以使用非对称加密技术来满足所有的密码需求。

这个私钥和公钥是什么?私钥是随机数字的一个组合。这可以是不同种类的。我们在区块链中使用十六进制值来创建私钥。您可以发现,键序列将包含从0到9的字符和从a到f的字符,它们将使用不同的随机数生成器生成。

基于这个私钥,使用特定的加密算法生成一个公钥。公钥是私钥的哈希函数。哈希函数用于创建一个固定长度的值。这个函数的作用是,它作为输入字符的不确定长度,并总是产生固定长度的值,这被称为“摘要”。

下面是生成私钥、公钥和钱包地址的python代码

import os

import ecdsa

import hashlib

import base58

import codecs

from Crypto.Hash import keccak

#Create Ethereum Private key

private_key = os.urandom(32).encode(“hex”)

print(“Private key: “ + private_key)

# Create Ethereum Public Key

privatekey_bytes = codecs.decode(private_key, ‘hex’)

# Get ECDSA public key

key = ecdsa.SigningKey.from_string(privatekey_bytes, curve=ecdsa.SECP256k1).verifying_key

key_bytes = key.to_string()

ethereum_public_key = codecs.encode(key_bytes, ‘hex’)

print(“Ethereum Public Key “ + ethereum_public_key)

# Create Ethereum Wallet Address

public_key_bytes = codecs.decode(ethereum_public_key, ‘hex’)

print(“Public Key Bytes “ + public_key_bytes)

keccak_hash = keccak.new(digest_bits=256)

keccak_hash.update(public_key_bytes)

keccak_digest = keccak_hash.hexdigest()

print(“Keccak Digest Value “ + keccak_digest)

# Take last 20 bytes — Standard Ethereum Address Format

wallet_length = 40

wallet = ‘0x’ + keccak_digest[-wallet_length:]

print(“Ethereum Wallet Address “ + wallet)

公开密钥-》地址

keccak是什么?网址:https://keccak.team/keccak。Keccak是一个通用的密码函数。它最著名的是哈希函数,不过它也可以用于身份验证、(经过身份验证的)加密由伪随机数生成。其结构是极其简单的海绵结构,内部使用创新的Keccak-f密码排列。

正如我之前解释的那样,哈希函数需要无限个字符,并产生256位输出。

同时,

8位= 1字节

256位将产生32字节的数据。

地址创建过程解释如下:

· 从公钥开始(128个字符/ 64个字节)

· 以公钥的Keccak-256哈希值为例。现在应该有一个64字符/ 32字节的字符串。

· 取这个公钥(Keccak-256)的最后40个字符/ 20个字节。或者,换句话说,删除前24个字符/ 12个字节。这40个字符/ 20个字节就是地址。当前缀为0x时,它变成42个字符长。

因此,钱包被创建。用这个钱包我们可以在网上交易。从上面的解释可以看出,钱包不是我们存放代币的地方。它本质上是一个公钥,在用户之间共享以进行交易。请记住,我们应该更加重视安全地创建私钥。因为一切都基于私钥。

私钥-》公钥-》钱包创建

创建私钥、公钥和钱包的整个过程都应该非常安全,以确保黑客不会染指我们的钱包;-)。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭