区块链入门知识《精通比特币》——比特币基本原理介绍

    若有看不懂或者不理解的地方,表明文章没解释清楚或者梳理明白,请留言,我会重新修改,以期望得到一篇新手能看得懂的文章,谢谢!!!。


    本章初步介绍了什么是比特币交易,区块,挖矿和区块链,只为了有个大概的了解。

   一、 比特币的一个重要特性:去中心化

什么是去中心化?

----中心(可理解成管理者)有所有下属行使任何权利的能力

什么是去中心化?

----bitcoin中没有所谓的中心,所有人的权力都是一致的。



    下面通过一个示例初步介绍比特币交易过程(:

    1、Alice从他朋友那通过现金方式购买了0.1个bitcoin,Alice的钱包(钱包英文是wallet)上存放了这0.1个bitcoin。

    2、Alice准备在Bob咖啡店通过bitcoin买一杯咖啡,Bob咖啡店服务员将一杯咖啡的美元价格输入到销售系统上

    3、销售系统按照当前美元兑换bitcoin的价格转成相应bitcoin价格(数字货币价格容易上涨下跌)。

    4、销售系统生成一个bitcoin二维码给Alice的钱包软件扫码

    5、钱包软件请求Alice确认交易,确认后钱包软件就会将这笔bitcoin支付给Bob。


流程如下:

区块链入门知识《精通比特币》——比特币基本原理介绍

通过扫描Bob提供给Alice的二维码,可以得到里面的内容包含:

bitcoin:1GdK9UzpHBzqzX2A9JFP3Di4weBwqgmoQA?
amount=0.015&
label=Bob%27s%20Cafe&

message=Purchase%20at%20Bob%27s%20Cafe


从key和value值可以容易看出是如下含义:


A bitcoin address: "1GdK9UzpHBzqzX2A9JFP3Di4weBwqgmoQA"
The payment amount: "0.015"
A label for the recipient address: "Bob's Cafe"
A description for the payment: "Purchase at Bob's Cafe"

 

   二、比特币的另一个重要特性:分布式账簿

什么是分布式账簿?

----所有参与到bitcoin中的人,只要他愿意,他就可以拿到从bitcoin开天辟地那天起,所有的交易记录,这些交易记录是完全透明公开的(透明公开是相对于接收地址而言,类比银行卡号一样,你可以知道所有交易的银行号,但是并不知道这个银行卡号的主人是谁)。

接着使用Alice的例子进行说明:

区块链入门知识《精通比特币》——比特币基本原理介绍

三、交易的形式:

    交易形式是将bitcoin从一个地址转移到另外一个地址。

    这会产生一个问题:一个钱包上有可能有很多笔其他地址转过来的bitcoin,比如:有hugonnyy转给Alice的0.01bitcoin,有张三转给Alice的0.05bitcoin,有李四转给Alice的0.03bitcoin,有王老五转给Alice的0.23bitcoin。这时Alice又要买一个玩具熊,玩具熊0.07个bitcoin,则Alice的钱包会做如下处理:


区块链入门知识《精通比特币》——比特币基本原理介绍


还有如下交易形式,带入到上述场景一样可行:

区块链入门知识《精通比特币》——比特币基本原理介绍


区块链入门知识《精通比特币》——比特币基本原理介绍


四、交易的构建

    钱包作用:使用者只需指定目标地址和金额,其他细节钱包应用会在后台自动完成。

    钱包中资金数据的来源:完整客户端包含所有交易,钱包可以通过api形式从比特币网络中获得用户自己的未消费记录。下面以Alice举例表明:

通过访问该地址:

$ curl https://blockchain.info/unspent?active=1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK

注:1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK  表示的是Alice钱包地址


得到 json 格式的response(毕竟这是代表该账户未消费的资金,在不同时候查看该resposne,可能不同):

{
    "unspent_outputs": [
        {
            "tx_hash":"186f9f998a5...2836dd734d2804fe65fa35779",
            "tx_index":104810202,
            "tx_output_n":0,
            "script":"76a9147f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a888ac",
            "value":10000000,
            "value_hex":"00989680",
            "confirmations":0
        }
    ]
}

五、创建交易输出

    下面以Alice购买Bob咖啡为例说明:


区块链入门知识《精通比特币》——比特币基本原理介绍


    脚本的作用:用规则来限定只有特定的人才能使用该笔交易内的资金。具体是怎样的脚本后面会有讲解。

    该笔交易的信息可用区块链数据查询站点看到,如下图:

    


区块链入门知识《精通比特币》——比特币基本原理介绍

六、手续费

    作用:提高该笔交易的优先级,让bitcoin网络能优先处理该笔交易。手续费不是必须的。

每笔交易都可以添加手续费,手续费的提交形式为:

    Alice输入0.12bitoin,Bob咖啡店得到0.10bitcoin剩下的0.02比特币,就会自动作为生成该笔交易所在区块的矿工的手续费。


区块链入门知识《精通比特币》——比特币基本原理介绍



春节放假事情是多多的,继续更新。