初始比特币(3.28)

去中心化

  1. 信任
    我们现在的钱存储在银行,银行具备保证“我手中(收到)的货币数量不可被更改+只有我的授权才能支付”的能力。
    银行通过技术手段保证了这些!在银行系统存储了所有账户余额的表单:
我们的钱变成了存储在服务器里的一堆数据

我们最初能用纸质的钱交换商品,源于人们对人民币的信任,我们将钱放入银行,变成了看不见的数据,是我们对政府银行的信任。

比特币采用了一种特殊的去中心化的账本存储方案

  1. 存储
    方案:所有加入比特币网络的电脑上,都会存储一样的账本,由于账本存储在网络的各个节点上,其中一个节点出现问题,还是可以从其他节点获取数据。

A->B 5.0BTC,最初进行这比转账处理的节点,就要把这个处理的情况传播给邻近的其他节点,依次传播......直到网络上的所有节点都被更新了。

  1. 实现支付授权(非对称加密)
    在这种没有中央保证的去中心化情况下,如何保证支付的安全性呢?
    这里就要谈到密码学中的非对称加密!
  • 对称加密:同一个秘钥可以同时用作信息的加密和解密
  • 非对称加密:每个人都有两个密钥,一个“公钥”,一个“私钥”
    公钥私钥都可以互相加密解密。
  1. 公钥加密,私钥解密
  2. 私钥签名,公钥验证

账单

FROM(谁发送的,包括两部分)inputs
Previous tx: 你要花的这笔钱的那个账单的id, 也就是说,你花的任何一笔钱都应该有人转给你过,需要出示那个账单的
idscriptSig: 你对这笔交易的签名,就是把单子用你的私钥做hash,只有你能做这个hash

TO(谁接受,包括两部分)outputs
Value: 要发多少
scriptPubKey: 对方的公钥,比特币账户就是一段公钥

我们先看inputs:
A->B转账 5.0 BTC

  1. A需要转出的5个BTC,必须从其他账单转给A总和>=5.0才可以交易
  2. A需要用私钥进行签名,来证明其他账单的收益人是A本人
  3. inputs是多笔之前的交易账单总和。如果账单加起来超过5.0,则多余的发送给自己(以自己的公钥作为output)

outputs:

  1. 需要对方的公钥,指定此笔转账的受益人是谁。

如何保证转账人是否有足够的余额

我们可以看到,每一个账单都根据交易序号,来查找input里引用的账单,通过私钥生成的hash来验证(那些账单里的公钥地址是否为A),验证inputs和outputs金额之和相等。

要是引用的过去的账单曾经使用过 怎么办?
无效!

  1. 每当一张账单生效时,inputs里引用的账单就标注为 used。
  2. 账单生效前,对inputs里的引用账单交易序号txn检验,在未使用的账单里检索,如果查询到,则校验成功
  3. 随着每次新交易的产生,这个索引会不断更新

安全性

区块链

区块链结构

  1. block:比特币系统在进行交易存储的时候,会将交易分组打包存储
  2. 链:区块与区块之间通过prev(上一个block的hash值)连接在一起

上一个区块的hash值+一堆交易清单+Nonce变量

生成区块链

  1. 交易发生后进入计算机内存,进行基本验证(inputs里的是否是未被支付过的交易)。如果验证成功,就会躺在内存的有效交易池中等待被装入区块中(未确认交易)。这比交易发生后,也会在全网广播,周边的计算机节点接到这比交易后,这放入内存,验证,等待打包进区块。
  2. 在整个系统中负责发起记账动作的节点会从内存的有效交易池中,抽取近千笔交易,进行打包。打包时,会将上一个区块的Hash值也加入包中。
  3. 对整个包球Hash值,这个Hash值就是block的特征参数
  4. 该节点生成区块后,该节点会发起一次全网记账。(新区块)本节点->周边节点->周边的周边,直到全网都收到这个信息。当周边的节点收到这个信息后,将新区块数据记录到本地的电脑中,以确保本地的区块链数据为最新的数据。

安全性证明

  1. 伪造最近一笔交易,不可能,每一笔交易都追溯到之前的交易
  2. 那么伪造之前所有的交易,如果修改了历史的某个交易,那么它的hash就会变化,而接下来的区块也会随之改变,一直影响后面

双重支付风险与防控机制

背景

背景:交易的顺序不可控,在全网广播的过程中,交易到达节点的顺序无法控制。
比如A->B 5.0BTC,A又发起A->A 5.0BTC 。一部分节点收到A->B,拒绝后收到的A->A,一部分节点收到A->A,拒绝A->B。
那么此时整个网络节点分为 A,B两大派,A派和B派都会组装一个区块,接到整个区块链的最后,比特币系统区块链就分叉了,那么以哪条为准呢?
规则:以最长的链为准

如果含有A->A的区块链比较长的话,A->B就被放弃了。比如:A->B5.0BTC,被认为无效交易。结果B寄出了物品,而却没有收到钱。称为“双花”风险。

为了解决这个问题,比特币系统就要想出一种办法,让Alice不能轻易的制造出更长的链条。

解决

让所有的节点计算一道很难的谜题,只有找到答案的节点才有权组装新的区块,并发起一次记账动作。

标准:就是让新区块的Hash值小于一个目标值
每个节点在组包时,根据上一个block的hash值,交易清单,Nonce变量得出。而Nonce在不断变化,Hash值也随之改变

image.png

注意:需要控制谜题的难度,因为不断有新的节点加入到比特币网络中,这样就可能在段时间内算出满足的Hash值。于是比特币系统需要调整难度。

Proof of Work(PoW)

上面通过计算满足条件的Hash值,来确立哪个节点有记账的权利,叫做工作量证明。
上面Alice如果想实现双重支付,就必须比其他节点算的快。如果A控制了整个系统的51%的节点,制造出更长的链条。

其他

矿工

矿工的工作就是用来计算出满足条件,并争取组装区块及发起全网记账。每次解出的节点就会被奖励一定数量的比特币。整个过程就像矿工在挖矿一样。
当挖出一个block,系统奖励矿工比特币,这笔账单没有inputs,只有outputs记录了矿工的公钥地址,到时候矿工通过私钥就可以取出来用。

比特币的总量

2100W定值。挖矿奖励的金额是递减的,每四年减半一次。


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容

  • 继承-扩展原有的应用 Odoo中,有一个非常重要的特色,不用直接修改底层对象就能为我们的模块添加新的功能。这个特色...
    F4A3阅读 652评论 0 1
  • 宝宝新语 1.放学回家,宝宝去洗手。 宝宝:妈妈你快来看水答。 妈妈:什么是水答? 宝宝拉着妈妈的手来到卫生间,原...
    禾子的微世界阅读 148评论 2 1
  • 舒圣祥 纳西索斯是希腊神话里最帅的一个,他每天都是被自己帅醒的,天气好就会出门释放帅气。无数美女向他示爱,他都不喜...
    舒圣祥阅读 613评论 0 6
  • 没错,这么炫(su) 酷(qi)的标题就是为了吸引你的注意力的... 最近特别焦虑,因为感情问题,更因为钱的问题。...
    Tequila_chen阅读 215评论 0 0
  • kill 进程管理 向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头(可省略),不...
    素瑾汐阅读 589评论 0 0