区块链编程基础:密码学、共识与工作量证明
1. 密码学基础
在区块链开发中,密码学是关键技术之一。不过,对于开发者而言,并不需要精通所有密码学知识,仅需了解两个核心概念:私钥与公钥(非对称加密)以及哈希。
- 私钥与公钥(非对称加密) :私钥和公钥的应用使得去中心化账户成为可能。在传统应用中,用户通过用户名和密码访问账户;而在区块链中,私钥和公钥让用户能以去中心化的方式拥有账户。
- 哈希 :哈希是一种单向函数,给定输入能轻松得到输出,但给定输出却难以反推输入。例如,对于一个简单的加法过程,若已知输出为 999,很难猜出输入是多少。哈希函数也是如此,尽管算法公开,但逆向求解几乎不可能。
2. 对称与非对称加密
- 对称加密 :发送方和接收方使用相同的密钥进行加密和解密。例如,简单的对称加密可以是将待加密文本的 ASCII 值加 5,解密时则减 5。
- 非对称加密 :存在公钥和私钥两个密钥,它们通过特殊的数学关系关联。使用公钥加密的消息只能用私钥解密,反之亦然。以 RSA 算法为例:
- 生成两个大质数 p 和 q,如 11 和 17。
- 计算 n = p x q,这里 n = 187。
- 找到与 (p - 1) x (q - 1) 互质的 e,这里 e = 7。
- e 和 n 构成公钥,可公开;p 和 q 构成私钥,需保密。
- 加密消息:encr
超级会员免费看
订阅专栏 解锁全文
5869

被折叠的 条评论
为什么被折叠?



