首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

比特币的交易原理

币加索链情首席经济学家:骄阳

币加索链情高级研究员:小T

研究顾问:宋双杰 (币全)

币加索链情与币全为战略联盟

初识 - 交易的认证

如果我想要转出比特币给你,首先我要将此意向告知给比特币网络所有的节点让他们来认证这项交易。他们需要证明我有足够的比特币去完成交易以及我并没有将它用到与别人的交易之中并且校对公钥和签名。一旦这项交易被认证,那这信息就会被加入一个区块之中而区块和区块相连,就成了区块链。想要篡改一项交易,那就需要篡改之后所有的区块,而这基本上是不可能的。

其次-公钥与私钥

交易的逻辑很简单,那具体又是怎么进行的呢?

首先,比特币钱包中不会携带我拥有的比特币,而是我的比特币地址,内含有我所有的交易历史以及余额。

我们需要通过随机数生成一串32字节的数,亦是我们的“私钥”。随后我们可通过椭圆曲线加密算法生成私钥所对应的“公钥”。公钥由65个字节组成。公钥再经过一些列的加密处理就会得到我们的钱包地址。

公私钥可进行互相加密和解密,其中公钥是完全公开的,私钥则需隐秘保管,这既是非对称密钥密码系统。且虽然通过我们的私钥是可以推算出公钥的,但没人可以从公钥中推算出你的私钥,因为私钥生成公钥的加密算法是不可逆的。

每次交易时,我的交易原始数据包括了转账数额以及转入的钱包地址。而私钥的重要性是它将对我要进行的比特币交易进行“签名”。这个签名会和生成的转出公钥一起被加入交易数据包之中,并扩散到比特币的网络上寻求认证。网络上的节点可通过公钥中记载的交易历史来认证交易,因为所有的交易在比特币的账簿上都是公开的。这个设计的精妙之处就在于程序会用交易数据中的公钥对签名进行解密和校验,而只有对应的公钥才可以解密由私钥生成的签名。如果验证失败则说明公钥和私钥并不是相对应的一组。在这个过程中,我们既认证了私钥的正确性,又不需要知道私钥的确切字符串。对私钥的保密是任何钱包最基本也是最重要的应用,因为掌握了私钥就可以对一个钱包的余额进行操作。

终章 - 哈希值和区块

当我的交易被正式认证后,就会和其他的交易一起加入一个区块之中。

我们首先来了解一下“哈希值”的概念。哈希值即是哈希函数的输出值。哈希函数通过复杂的数学算法将任何数量的字母和数字转换成64位的字符串,甚至我们这一整篇文章都可以被精简到64位的哈希值。虽然其输出不是随机的,但每次改动输入值中的一个标点符号都会得到完全不同的结果。也因为这个特性,区块链可以有效率的识别交易中的任何篡改行为。哈希值也是不可逆的函数,一个哈希值可能对应着多数个输入值,因此通过哈希值来推导输入值也是基本上不可能的。

通常认为,想要篡改区块链中的数据就需要掌握51%以上的算力。而每个区块中都含有代表了上一个区块的哈希值,所以如果上一个区块有任何略微的改动,那现区块上的记录就会大相庭径。因此如果想要篡改任意区块上的数据,那就要将后续区块的哈希值都做出调整。而在进行篡改的过程中,可能就会有新的区块加入到这个链中,进一步增加需要完成的工作量,因此我们认为区块链附有不可篡改的特性。

http://www.8btc.com/passwordd/

https://zhuanlan.zhihu.com/p/28036845

骄阳:币加索链情首席经济学家,国际顶级投行知名分析师

小T:币加索链情高级研究员,资深数字货币投资者

研究顾问:宋双杰,币全联合创始人

个人观点,仅供参考,文中分析不构成买卖推荐,据此买卖盈亏自负,欢迎转载,但需注明出处。

币加索链情

币全区块链

加入币全交流群

欢迎关注:【币加索链情】,【币全区块链】

提供最专业的数字货币投资服务

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180513G1K5A500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券