浅谈比特币

最近比特币以及各种数字货币火的不行,区块链这个概念也三天两头霸占各种科技头条。以前虽然经常能听到「比特币」这个字眼,可完全没有足够的诱惑力吸引到我, 直到最近,因为曝光度实在太大,频繁出现在我的电脑和手机屏幕里,我才开始细心去研究它。

刚开始了解比特币时,觉得这玩意特坑爹,反直觉,使用体验极差,因为我去比特币网站上下了软件客户端,安装到电脑上, 软件居然提示我要下载150GB数据到硬盘上, 为此我还特意扩展了我原有磁盘的分区,硬生生的挤出150GB空间来。此外,下载数据花了我一个礼拜。

为什么一个看起来很小的软件需要这么多数据,这和比特币的运行机制有关。 比特币基于区块链, 区块链有一个特性叫去中心化,大致的意思就是在区块链的世界里,每个人的权力是一样的, 数据是公开的, 由此带来的好处就是一切都是客观公正的,数据掌握在每个用户手中,谁都无法作假;坏处就是参与区块链的每个人都需要保存一份数据库,也就是上面所说的150GB数据, 特不方便。

这150GB是从比特币诞生至今的所有交易数据,意不意外?每台安装了比特币软件的电脑都会保存一份总账,当然也可以不保存,但这样使用比特币的功能会受限。这和我们日常生活中的规矩不一样,因为它们都是中性化的, 我们使用人民币交易,那么我们的交易数据就在银行;使用Q币,交易数据就在腾讯。 这就导致掌握数据的人权力特别大,所有事情由他们说了算,包括随意篡改数据。而比特币的交易数据都掌握在用户手里,公开且透明,这就能保证客观公正,而且因为区块链的固有机制,区块链中的数据无法被篡改,因此安全性能得某种保证,至少能防止黑客的袭击和居心不良的人使坏。

每台安装了比特币官方客户端(BitcoinCore)的电脑都会有一个账户,也叫做钱包,这个账户不用用户去指定网站注册,软件自己会生成。钱包是一叫wallet.dat的文件,放在比特币区块链数据目录下面

如果你使用BitcoinCore客户端来交易比特币,那么这个文件一定要备份好,弄丢的话你的比特币也就没了。

这个文件中最重要的东西是一串私钥,你的比特币在你磁盘上的150GB数据中, 只有通过这串私钥才能提取,弄丢私钥比特币就永远躺在数据堆里没人能找得到它, 这不像把钱放在银行,银行卡密码忘了去柜台重置就行,在比特币的世界中,密码忘了,就算比特币之父中本聪也没有办法找回来。

比特币是货币,自然可以交易。 假如你要向某人支付一笔比特币

在BitcoinCore客户端发送页面里填写付款目标的地址和金额就可以了。如果你要收款,也可以提供一个地址给付款方,地址由点击接受页面请求付款按钮生成

1PZBGWc9AWKApjTXhp8QZcu7qyCE5qmVu9

这就是一个比特币付款地址,它是一个base58格式的字符串。从技术的角度讲,这是一个公钥,你钱包里那个是私钥,公钥可以公开,私钥需要保密。假如某人拥有10个比特币,要转给你3个,过程大致如下。

用他自己原有有效交易记录计算出拥有比特币的数量,计算结果为10个

  1. 生成两条新交易数据, 一条是3个,转个你;另一条是7个,转还给他自己
  2. 用你的收款地址(公钥)对转3个比特币的那条数据加密,然后向全比特币网络广播(发送数据)。 转还给他自己的那条也是如此。
  3. 收到广播数据的比特币矿工们将数据打包进区块链,大概需要1个小时时间,具体视交易量和交易费定,这个时候这笔钱就是你的了。因为这条数据是用你的公钥加密的, 所以只有你的私钥才能解开
  4. 把他自己原来的交易记录销毁
  5. 当你需要用这笔钱的时候,就可以用你钱包里的私钥去解开这个交易数据,提取比特币。

以上内容只是简单的介绍,事实上比特币和区块链真正的原理和机制还要复杂百倍,要完全摸透需要一个漫长的过程。 之后我会陆续更新一些比特币和区块链相关的内容,有兴趣的同学可以持续关注。

原文发布于微信公众号 - 带你撸出一手好代码(gh_afab56b37671)

原文发表时间:2018-01-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏汇智网教程

区块链开发如何选择底层平台和开发语言?

47312
来自专栏安智客

2018全球加密数字货币钱包安全白皮书

前言 2017年是加密数字货币的爆发之年——比特币涨幅近13倍,很多人认为,加密数字货币是金融行业中最大的革命力量之一。但与此同时,作为金融领域中最具争...

4507
来自专栏CDA数据分析师

轻松看懂什么是以太坊

虽然"比特币"和"以太坊"这两个术语常常一起出现,但实际上这两者有很大的区别。以太坊与比特币的唯一联系在于,两者均为成功的区块链技术应用。

1162
来自专栏极客编程

8个最好的加密货币市场实时价格PHP脚本集 原

最好的PHP加密货币市场价格实时脚本script集。这些脚本显示实时报价,交易,历史图表,加密交易和超过2000种加密货币通过PHP和JavaScript进行交...

1473
来自专栏专注于主流技术和业务

RPCA共识算法

目前,针对决拜占庭将军问题,已经有几种可行的解决方案,比如比特币与以太坊采用的POW算法,HyperLedger采用的PBFT算法。然而,在这种分布式支付系统中...

2361
来自专栏汇智网教程

以太坊官网

8697
来自专栏区块链领域

CANApp上线——CANSign

现在我们要向您介绍 CanYa 生态系统中的一款全新应用——CANSign。使用链接:https://cansign.io/missing-metamask

812
来自专栏技术专栏

1.5 比特币的原理-为什么记账(挖矿)

之前在将账户如何验证的时候,其实是把账户地址,交易信息进行hash打包的过程。这个过程是需要消耗计算机资源的,既然要消耗资源,那么节点为什么要参与记账呢。在比特...

2682
来自专栏liuchengxu

终极指南:为什么以太坊不仅仅一个是加密货币

尽管比特币(Bitcoin)和以太坊(Ethereum)是经常被一起提及的两个词,但实际上,比特币与以太坊有着很大的区别。它们唯一的共同点是,以太坊也是一个在区...

1112
来自专栏区块链大本营

人才稀缺的区块链,程序员转型入门必看这四项技能

4887

扫码关注云+社区

领取腾讯云代金券