5 Y) V" ?* n. H/ Q) u9 p0 l这关比特币什么事?& V0 k" \6 o Z
提到“比特币风格加密”,很多人的第一反应可能是:比特币不是用来转账的吗,跟加密聊天有啥关系? 3 {, t$ m+ e2 k8 {9 i $ {: ?1 }" a8 F# z U( E" |8 D别急,我们先来回顾一下比特币的加密技术,再看看XChat可能怎么借鉴。0 x4 J; n- x3 J8 |: I9 _
' [1 v* o6 d% i' M, {
9 Z9 S7 E3 U* o3 a0 q8 A' f
* s) e& @0 P+ M
其实十多年前的比特币白皮书标题已经说的很清楚了,“点对点的现金支付系统”,这里的点对点也即经常听到的P2P。+ i% V0 d% c+ j% F
2 t% m8 w0 Q* Y" J# ]5 W8 |# n
BTC---想要实现点对点(我和你)转账,不需要中间人来管;5 n. a5 I5 l6 X. i6 n. R, W! q& X
7 u- `" W! B B/ XXchat---想要实现点对点(我和你)聊天,不需要中间人来管。& V2 e7 o* T3 W$ U
# `0 q8 H3 N* H4 N- P6 M
这是同源技术的不同实现方向。 . u: b; K( k* m& A5 l" t8 U+ g+ R, z. E" V h
要点对点,比特币是怎么做的呢?5 n8 k, \+ c. U: b! f1 d5 T
) [1 T* K N1 @* p2 q" G把区块链的账本技术先放在一边,比特币要实现点对点转账,使用的加密技术,简单说就是“锁”和“签名”。. k) o! t m4 ?) L+ F, o; X6 D
; r& B# [9 @* \“锁”:椭圆曲线加密(ECC): 比特币用了一种叫椭圆曲线加密(ECC)的东西,简单说,它就像一把超级安全的锁。每个人都有两把钥匙:一把是公钥(公开的,相当于锁),一把是私钥(只有你知道, 1 u) h ]6 s( w; c8 S 6 m" @4 F9 _. W0 E6 h- V+ W7 z相当于钥匙)。比如,你要给朋友转比特币,你的钱包会用朋友的公钥“锁”住这笔交易,只有朋友用自己的私钥才能“开锁”,拿到钱。整个过程没人能偷看或篡改,连比特币网络都看不到交易细节。 5 P. o) N7 u. F% ?3 i9 {# ? ) q8 p' E. K( y6 _& u, W* t9 Z“签名”:数字签名(ECDSA) 除了“锁”,比特币还用数字签名来证明“你是你”。当你转账时,你的钱包会用私钥生成一个签名,证明这笔交易确实是你发的。别人可以用你的公钥验证这个签名,但无法伪造。% D* Q, {4 A5 y' K0 [9 R: Y
7 g$ V; q7 ^. A
“防篡改”:哈希算法(SHA-256) 比特币还用了一种叫SHA-256的哈希算法,把交易信息变成一串固定长度的“指纹”。如果交易被改动,哪怕只改一个字母,指纹也会完全不同,网络马上就能发现。 - H1 @2 I# Q5 j# t) N( m9 [' P: Q8 g9 P
注意,这些加密算法和签名算法,并不是比特币发明的,而是将它们放在一起综合使用。, |* _$ I! u y: c
$ w1 |2 y' Y: b8 r6 P% O' { ; Y, Y3 E/ O! i7 G3 Y1 k, H* Q2 Y( D3 E, x" ?) ^+ E