区块链技术与应用——BTC系统实现

资讯 2024-06-22 阅读:126 评论:0
基于交易 transaction-based ledger的账本模式:比特币采用的是基于交易 transaction-based ledger的账本模式 。每个区块中记录的是交易信息,转账交易,铸币交易。但是没有记录某个账户中有多少钱,需...
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

基于交易 transaction-based ledger的账本模式:

比特币采用的是基于交易 transaction-based ledger的账本模式 。每个区块中记录的是交易信息,转账交易,铸币交易。但是没有记录某个账户中有多少钱,需要根据交易记录去推算。区块链中一共有多少往某账户的地址转账的交易,转入多少币,这些币中又有多少被花掉,推算出余额。

比特币中全节点要维护一个UTXO的数据结构(Unspent Transaction Output),是由还没被花掉的交易的输出组成的集合。一个交易可能有多个输出,如下:

A→B (5BTC)   B花掉了,不在UTXO中。                      B→D (5BTC)  在UTXO中。

   →C (3BTC)  在UTXO中。

UTXO为了检测double spending,想要花掉的币必须在这个集合中才是合法的,如果不在集合中要么不存在,要么被花过。全节点要在内存中维护UTXO结构。

随着交易的发布,每个交易会消耗一些UTXO输出,也会产生新的输出。

每个交易可以有多个输入,也可以有多个输出。所有输入的金额要等于所有输出的金额,即 total inputs=total outputs。有些交易会出现input > output,那么这个差额就是作为交易费给获得记账权的节点。

比特币系统的激励机制:1.block reward     2.transaction fee(这也是为什么获得记账权的节点会打包别人的交易)

目前来说,获得记账权的目的还是为了得到block reward,12.5BTC,但是这个奖励每21万个区块会减半,大概是4年时间(21w*10min) / (60min*24h*365d)。很多年之后block reward就会变得非常小,到那时transaction fee可能就会变成主要奖励。

另外一种与之对应的模式是基于账户account-based ledger的模式,例如以太坊,这种模式需要显式的记录每个账户有多少个币,不需要显式说明币的来源。

具体区块信息例子:

图片来源于视频截图

is based on the transaction-based ledger account model: ,
bitcoin,

 

 
挖矿概率分析:

挖矿就是不断地尝试nonce,来求解puzzle。每一次尝试可以看作是一次Bernoulli trial(a random experiment with binary outcome),eg:抛硬币。如果做了很多的Bernoulli trial,每个实验都是随机的,那么这些Bernoulli trial就够成了一个Bernoulli process(a sequence of independent Bernoulli trials)。Bernoulli process一个性质是无记忆性 memoryless即做大量的实验,前面的结果对后面没有影响。

对于挖矿来说,每次尝试nonce,成功的可能性很小,需要尝试大量的nonce才能符合要求,这种情况下,Bernoulli process可以用Poisson process来近似。实验的次数很多,每次成功的概率很小。

出块时间服从指数分布 exponential distribution。整个系统平均出块时间为10min,是比特币协议设计的定期调整挖矿难度,使得平均出块时间维持在10min左右。具体到每一个矿工,他能够挖到下一个区块的时间,取决于矿工的算力占系统总算力的百分比。指数分布也是无记忆的,也叫作progess free,是挖矿公平性的保证。

比特币总量分析:

出块奖励每隔4年要减半,这样产生出来的比特币数量就构成了几何序列 geometric series。

21w*50+21w*25+21w*12.5+.......=21w*50*(1+1/2+1/4+....)=2100w。2100w就是比特币系统中所有比特币的总量,包括已产生的和将要产生的。

比特币求解puzzle的过程, 除了比拼算力,没有其他的实际意义。比特币越来越难被挖到,是因为出块奖励被人为减少了,比特币的稀缺性是人为造成的。虽然挖矿求puzzle本身是没有实际意义,但是挖矿过程对维护比特币系统安全性是很重要的,Bitcoin is secured by mining。挖矿提供了一种凭借算力投票的有效手段,只要大部分算力掌握在诚实的人的手里,系统的安全性就能够得到保证。

比特币安全性分析:

前提假设大部分算力掌握在诚实的人的手里。挖矿给出的只是概率上的保证,只能说有比较大的概率下一个区块是由一个诚实的矿工发布的,但是不能保证记账权不会落在有恶意的人手里。如果有恶意的节点获得记账权,他可能会做的事:

1.伪造一笔不合法交易,比如把别人账上的钱转到自己的账户上,但是由于自己不知道别人的私钥,所以不合法,验证不通过。那么其他诚实节点不会认同该区块,因为包含不合法交易,所以还会接着上一个区块去扩展,那么根据最长合法链,该区块不会获得block reward,而且浪费大量电力,人力。

2.通过forking attack想把花出去的钱再次花出去,比如M转账给A,已经写到区块链中,那么现在M获得记账权,又发布另一个交易,把这个钱转回给自己。新的区块不能写在上次转账的区块后面,因为double spending很明显,只能写在上次转账的前一个区块后面,即forking attack。区块插入的位置是在设计区块的时候就决定的,这种情况下攻击难度很大,有恶意节点获得一次记账权是不够的,还需要不断地获得记账权。防范这种攻击就需要多等几个区块确认 confirmation,缺省情况下需要6个confirmation,这个时候认为前面的交易不可篡改,等待时间大概是一个小时左右。

3.恶意节点获得记账权,故意不写合法的交易,但是合法的交易可以被写到下一个区块里,总会有诚实的节点写合法交易。正常情况下也会出现合法交易没有被写到区块中,因为可能某段时间交易数目太多,比特币协议中规定每个区块大小是有限制的,区块大小不能超过1M字节,所以如果交易太多那么有些交易只能等到下一区块发布。

4.selfish mining。正常情况下如果挖到区块会及时发布,以免别人挖到后自己的区块无效,作废了。但是在selfish mining中,挖到区块先不发布,隐藏一条链,等待超过最长合法链时发布。

目的:1)forking attack的一种手段,但是恶意节点需要超过51%的算力,难以实现。
            2)就是为了赚取正常的出块奖励,挖到第一时间不发布,那么其他人还会接着上一个区块挖,自己延着已挖到区块的挖,减少该区块的竞争。如果自己已经挖到第二个区块,当其他人宣称挖到第一个区块之后,自己把手里的两个一起发布,成为最长合法链。这种做法风险大,要以为别人挖出第一个区块时,自己能够挖出第二个,否则当别人挖出第一个发布时,自己手里只有一个,这时候是等长链,只能去竞争。

 

& nbsp;
mining probability analysis:
mine excavation >. Each attempt can be seen as a Bernoulli trawl, eg: coins. If a lot of Bernoulli trial > each experiment is random, ; if each experiment is random, ; > ; ; > ; ; > ; ; ; > > ; > > > ; > > > > > >, > > > > >, > > > > >.. > > >.

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
热门文章
  • usdt钱包开发,比特币协议 Omni 层协议 USDT

    usdt钱包开发,比特币协议 Omni 层协议 USDT
    usdt钱包开发Usdt Wallet Development 比特币协议 -> Omni 层协议 -> USDTBitcoin -> Omni Layer -> USDT USDT是基于比特币omni协议的一种代币: https://omniexplorer.info/asset/31 ID是31USDT is a token based on the Bitcomni agreement:   ˂a href="ht...
  • ?基于区块链的数字货币,下一代货币等价物

    ?基于区块链的数字货币,下一代货币等价物
    文 | 诗与星空Psalms and stars. 10月25日晚间,一则关于区块链的消息引爆了市场,虽然A股已经关门歇业,但是大洋彼岸的美股却喧嚣起来,号称使用了区块链技术的迅雷股价暴涨107%。On the evening of 25 October, a news about the block chain detonated the market. Although the A share was closed, the United States shares...
  • LikeCoin 2022 年度回顧

    LikeCoin 2022 年度回顧
    2022 即將過去,今年是風高浪急的一年,LikeCoin 社群繼續於驚濤中為實踐分散式出版而前進,感謝各位的同行。讓我們趁機回顧一下今年發生過的大小事。 2022 Towards the end of the year, this year is a year of great turmoil, and the community of ˂a href=https://like.co/"target="_blank" data-type="link" data-i...
  • 以太坊质押挖矿收益率

    以太坊质押挖矿收益率
    展开全部 52%左右。根据跟踪公司StakingRewards的数据,质押的以太坊将产生回报,预计在合并后将达到52%左右。再加上预计在升级更新后不久以太坊供应量的净减少,这应该会使该币对投资者更具吸引力。According to the tracking company StakingRewards, the pledge will yield returns that are expected to reach about 52% after the merg...
  • 一个“币”卖出6930多万美元,它是何来头

    一个“币”卖出6930多万美元,它是何来头
    这是一个新的投机性市场,有许多未知的风险——包括100%损失的风险於兴中当我们看到有人花了近百万美元在网络上的虚拟空间里买了一块地,可能会觉得不可思议。但是,比这更不可思议的是,在上个月的佳士得拍卖会上,一个不可替换代币(NFT)卖出了令人瞠目结舌的6930多万美元。这个代币所代表的便是目前人们热议的数字艺术家毕朋(Beeple)的作品《日复一日:最初的5000天(2021)》。不仅如此,不可替换代币市场正在被大张旗鼓地建构。篮球视频集锦的不可替换代币在美国职业...
标签列表