当前位置:首页>区块链文章>区块链推广>区块链-1 了解

区块链-1 了解

**区块链概念**</br>区块链技术用区块去记录流水账。(比特币的第一个区块--创世区块)支付宝的相护宝是用了蚂蚁的区块链技术。**区块链的优点**</br>去中心化,更安全**分布式系统**</br>通过互联网来维护一个公共的账本,由两个以上节点组成一个整体,节点独立,节点能相互通信。区块链所有节点如何达成共识?通过算法:</br>共识算法:工作量证明(PoW)--代理权益证明(DPoS)--PBFT(拜占庭.

**区块链概念**

区块链技术用区块去记录流水账。(比特币的第一个区块–创世区块)

支付宝的相护宝是用了蚂蚁的区块链技术。

**区块链的优点**

去中心化,更安全

**分布式系统**

通过互联网来维护一个公共的账本,由两个以上节点组成一个整体,节点独立,节点能相互通信。

 

区块链所有节点如何达成共识?通过算法:

共识算法:工作量证明(PoW)–代理权益证明(DPoS)–PBFT(拜占庭容错)

行业组织:比特币基金会–以太坊基金会–block.one(EOS)–Hyperledger(Linux基金会)(专注企业的应用)

https://www.hyperledger.org/about/members  可以看到很多大企业加入

**主流币区块浏览器**

btc.com

etherscan.io

eosx.io

**如何验证交易双方**

私钥—只有发起人知道

公钥—用私钥运算得出,单向加密,无法解密

加密计算的在线网站:1024tools.com/hash

交易签名:跟手写签名一样,“数字签名”用于提供交易真实的证明。不同的是“数字签名”对每一笔交易都是唯一的。

**钱包**

生成钥匙对、账户名;查看余额、转账;使用去中心化应用

**如何发送和记录交易**

转账信息+私钥签名进行广播式的发送,快速传遍全网,各个节点拿公钥进行核对验证。

验证后存储到分布式账本中。

**验证交易**

没有中心机构,由谁来验证交易;矿工:专门用来验证交易并维护账本的节点。

矿工把交易分组成一个区块

**新区块决出**

求解新区块方法:工作量证明(Proof of Work),PoW是解决一个特定的数字问题,费时费力工作量大,但别人容易验证。

*PoW*三要素:

随机数(nonce):一个随机数字,用于参与哈希运算,直到哈希值满足前几位是0,这个随机数就可以确定了。

哈希(hash):一个固定长度的文本,是哈希运算的结果。

交易(Tx):真实的转账信息。

**挖矿的回报**

一个比特币新区块奖励12.5个BTC。

**比特币的发行**新比特币被发送到采矿成功的矿工(Coinbase)。总共2100万枚。

**缓释机制**网络自动调整难度,区块哈希的0位数增加,每21万个区块,奖励减半。

**区块的实现**

“`

class Block{

    var index=0

    var timeStamp=Date()

    Var preHash=\”\”

    var nonce=0

    var hash=\”\”

    var key:String{

        get{

            return \”\\(self.index)\\(self.timeStamp)\\(self.preHash)\\(self.nonce)\”

        }

    }  

}

“`

Hash的算法选择有很多种

比如SHA1算法

“`

extesnsion String{

    function sha1()->String{

        let task=Process()

        task.launchPath=\”/usr/bin/shasum\”

        task.arguments=[]

        let inputPipe=Pipe()

        …..

    }

}

“`

 

**区块链结构**

区块的容器(按区块高度排列)

每一个区块包含上一个区块的哈希

每一个区块哈希满足前几位是0(网络难度自动调整)

创世区块的哈希为0

“`

区块链

class Blockchain{

    var blocks=[Block]()

    init(_genesis:Block){

   

    }

    func add(block:Block){

        if blocks.isEmpty{

            block.preHash=\”0\”

            本区块的哈希计算

        }else{

            block.preHash=blocks.last!.hash

            block.index=blocks.count

            //本区块的哈希计算

        }

        blocks.append(block)

        print(\”完成添加新区块!\”)

    }

    func genHash(for block:Block)->String{

        var hash=block.key.sha1()

        //算出哈希,第一位是0,如果没算出来,就把随机数递增

        while !hash.hasPrefix(\”0\”){

            block.nonce+=1

            hash=block.key.sha1()

        }

        return hash;

}

}

let block1=Block()

let blockchain=Blockchain(block1)

“`

**同时挖到比特币算谁的**

同一时间挖到同一个区块的可能性是存在的。每个节点收到新区块的时间不一样,可以产生分支,在经历过多次分治后,切换到最长的那条。

比特币一般是等6个新区块后,就稳定下来了。

短分支中的交易被退回到”待确认交易池“,等待稍后处理。

*伪造新区块发布*很容易被验证,不正确的哈希会被忽略。

*更改区块中的交易*,会导致整体区块哈希值变化,要想这个区块被网络承认,必须重新计算。

由于后续区块包含前一个区块的哈希,以此类推,后续所有的都要重新计算。—51%算力攻击

**比特币如何匿名**

*天生匿名性*由于交易双方只有公钥公开,不需要任何个人或组织信息。

但公钥就是化名,因为账本公开,可轻松找到一个公钥的交易历史。仔细分析这些交易元数据,依然可以追踪相关资金的使用情况。

 

使用密码学技术创建一个安全的账本,让交易无须通过第三方进行。

加密货币的使用远比法币简单,通过创造一种加密货币,代表任何资产,比如代表一美元,代表一桶石油等等。从而实现一个全球化的、实时的、可靠的、超低运行费用、而且可以匿名的交易系统。

降低对中心化的依赖。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
区块链推广

数据分析 | 这个新职业年薪高达49w,作为普通打工人的你眼馋了吗?

2021-11-7 12:44:13

区块链推广

区块链如何在2022年及以后彻底改变世界

2021-11-7 12:44:15

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员 区块链Bi站  或给邮箱发送邮件834379394@qq.com 我们会第一时间进行审核删除。 站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果你遇到支付完成,找不到下载链接,或者不能下载,或者解压失败,先不要忙,加客服主的QQ:834379394 (客服有可能有事情或者在睡觉不能及时的回复您,QQ留言后,请耐心等待即可!)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索