tokenpocket官网公告最新|币的结构
币_百度百科
百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心币[bì]播报讨论上传视频汉语汉字收藏查看我的收藏0有用+10币,汉语一级通用汉字(常用字) [2],读作bì,最早见于《说文》小篆。该字本义为古人用作礼物的丝织品,因车马玉帛同为聘享之礼,所以泛指车马玉帛等,又由丝织品引申为货币。此外,该字还有赠送等义。 [1](基本信息栏主要参考资料 [3])中文名币字 级一级通用汉字、常用字 [2]平水韵八霁 去声 [4]拼 音bì繁 体幣部 首巾、丿 [11]五 笔tmhk仓 颉hlb郑 码mli注 音ㄅㄧˋ总笔画4四角码20227统一码基本区 U+5E01结 构上下结构目录1字源演变2详细释义3古籍释义▪说文解字▪说文解字注▪康熙字典4字形书法▪字形对比▪书写演示▪书法欣赏5音韵汇集▪韵书集成▪中上古音字源演变播报编辑字形演变币,形声字。《说文》:“幤,帛也。从巾,敝声。”小篆“图1”字形中的“攴"多写作“攵”,楷书形体由小篆形体演变而来,写作“幤”。《简化字总表》把“幤"简作“币”,用符号”丿”代替原字上边的声符“敝”。本义是古人用作礼物的丝织品。《书·召诰》:“我非敢勤,惟恭奉币,用供王能祈天永命。”孔传:“惟恭敬奉其币帛用供侍王,能求天长命。”因车马玉帛同为聘享之礼,所以泛指车马玉帛等。该字也有赠送的意思。《庄子·说剑》:“闻夫子明圣,谨奉千金以币从者。"由丝织品引申为货币。《管子·国蓄》:“以珠玉为上币,以黄金为中币,以刀布为下币。”现代币指货币。通假为“敝”。《国语·鲁语上》:“不同典先君之币器。” [1]详细释义播报编辑注音词性释义英译例句例词bì名词古人用作礼物的丝织品。silks币,帛也。——《说文》四曰币贡。——《周礼·大宰》。司农注:“绣帛。”币曰量币。——《礼记·曲礼》用圭璧更皮币。——《礼记·月令》事之以皮币。——《孟子》寡君是故使吉(游吉)奉其皮币。——《左传·襄公二十八年》请具车马皮币。——《战国策·齐策三》皮币;币玉;币号;币献泛指车马皮帛玉器等礼物。present凡执币者。——《仪礼·十相见礼》。疏:“玉马皮圭璧帛,皆称币。”宋公以币请于卫。——《左传·隐公八年》惠王患之,乃令张仪佯去秦,厚币委质事楚。——《史记·屈原贾生列传》币马泛指财物。property以珠玉为上币,以黄金为中币,以刀布为下币。——《管子·国蓄》货币,钱。coin有司以币轻多奸。——《汉书·武帝纪》金币;银币;外币;纸币;硬币动词赠送。闻夫子明圣,谨奉千金以币从者。——《庄子·说剑》币仪;币器形容词通“敝”。破旧;弃;败坏 。不腆先君之币器。——《国语·鲁语上》参考资料 [1] [3]古籍释义播报编辑说文解字帛也。从巾,敝声。毗祭切 [5]说文解字注幣,帛也。帛者,繒也。《聘禮》注曰:“幣,人所造成以自蔽。謂束帛也。”愛之斯欲飮食之,君子之情也。是以享用幣,所以副忠信。从巾敝声。毗祭切。十五部。 [3] [7]康熙字典币《龍龕》同印。 [3]幣《唐韵》《集韵》《韵会》毗祭切。音弊。《说文》:币帛也。《周礼·天官·大宰》:以九式均节财用,六曰币帛之式。注:币帛,所以赠劳賔客者。又《集韵》财也。《横渠理窟》:币者,金玉齿革泉布之杂名。《周礼·天官·大宰》:以九贡致邦国之用,四曰币贡。注:币贡,玉马皮帛也。又《内府》:凡四方之币献之,金玉齿革兵器,凡良货贿入焉。《管子·国蓄篇》:以珠玉爲上币,黄金爲中币,刀布爲下币。《史记·平准书》:以白鹿皮方尺,缘以藻缋爲皮币,直四十万。《前汉·武帝纪》:有司以币轻多姦,农伤而末衆,又禁兼幷之涂,故改币以约之。注:币,钱也。更去半两钱,行五铢钱,皮币,以捡约姦邪。又《集韵》必袂切。音蔽。义同。 [6]《说文解字》书影《说文解字注》书影《康熙字典》书影(2张)字形书法播报编辑字形对比字形对比(中国大陆-中国台湾-中国香港)字形对比(中国大陆-中国台湾-中国香港-日本-韩国)书写演示书写演示书法欣赏篆书(3张)隶书(3张)行书(2张)草书(4张)楷书(4张)音韵汇集播报编辑韵书集成字形韵书攝声調韵目字母声類开合等第清濁反切擬音幣广韵蟹去祭並开三全濁毗祭切bʰjæi韵略去祭毗祭切增韵去祭毗祭切中原去声齊微幫全清pui中州去声齊微旁謎切洪武去寘並蒲全濁毗意切b‘ie参考资料 [8]中上古音时代声韵系统名称韵部声母韵母先秦高本汉系统bʰi̯ad先秦王力系统月bǐat先秦董同龢系统祭bʰjuæd先秦周法高系统祭bjiwar先秦李方桂系统祭bjiadh隋唐擬音/高本漢系统bʰi̯ɛi隋唐擬音/王力系统bǐɛi隋唐擬音/董同龢系统bʰjæi隋唐擬音/周法高系统biæi隋唐擬音/李方桂系统bjiäi隋唐擬音/陈新雄系统bʰǐɛi参考资料 [9-10]新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000币的解释|币的意思|汉典“币”字的基本解释
币的解释|币的意思|汉典“币”字的基本解释
汉典 | 古籍 | 诗词 | 书法 | 通识
查询索引
............................
汉字拆分查询
汉字部件检索
字典部首索引
繁体部首索引
字典拼音索引
字典注音索引
康熙部首索引
说文部首索引
繁体
条目
条目
汉字
词语
成语
汉字拆分
拼音
笔顺
五笔编码
仓颉编码
四角号码
UNICODE
导航
汉典 古籍 诗词 书法 通识
查询索引
............................
汉字拆分查询
汉字部件检索
字典部首索引
字典繁体部首
字典拼音索引
字典注音索引
康熙部首索引
说文部首索引
繁体
拼音 注音 部首 简繁 异体字
bì ㄅㄧˋ 部首 巾
部外 1
总笔画 4 繁体 幣
印 幣 幤 迊
统一码
字形分析 笔顺
基本区 U+5E01
上下结构 3252
五笔 仓颉 郑码 四角
tmhk hlb mli 20227
拼音 bì 注音 ㄅㄧˋ 部首 巾 部外 1总笔画 4 基本区 5E01笔顺 3252
常 标
币 基本解释
● 币
(幣)
bì ㄅㄧˋ
钱币,交换各种商品的媒介:货~。外~。人民~。~值(货币的价值)。
英语 currency, coins, legal tender德语 Münze, Währung (S),Geld法语 monnaie,pièce,devise
【漢典】
币 详细解释
详细字义
◎ 币
幣 bì
〈名〉
(1) (形声。从巾,敝声。从巾表示与布帛有关。本义:古人用作礼物的丝织品)
(2) 同本义 [silks]
幣,帛也。——《说文》
四曰幣贡。——《周礼·大宰》。司农注:“绣帛。”
幣曰量幣。——《礼记·曲礼》
用圭璧更皮幣。——《礼记·月令》
事之以皮幣。——《孟子》
寡君是故使吉( 游吉)奉其皮幣。——《左传·襄公二十八年》
请具车马皮幣。——《战国策·齐策三》
又如:皮币(兽皮和缯布);币玉(帛和玉,祭祀用品);币号(祭祀用的物品名称);币献(进献的礼品)
(3) 泛指车马皮帛玉器等礼物 [present]
凡执幣者。——《仪礼·十相见礼》。疏:“玉马皮圭璧帛,皆称幣。”
宋公以幣请于 卫。——《左传·隐公八年》
惠王患之,乃令 张仪佯去 秦,厚幣委质事 楚。——《史记·屈原贾生列传》
又如:币马(用作礼物的马匹)
(4) 泛指财物 [property;belongings]
以珠玉为上幣,以黄金为中幣,以刀布为下幣。——《管子·国蓄》
(5) 货币,钱 [coin;money;currency]
有司以幣轻多奸。——《汉书·武帝纪》
又如:金币,银币;外币;纸币;硬币
词性变化
◎ 币
幣 bì
〈动〉
赠送 [present]。如:币仪(敬献礼品);币器(赠给丧家奠仪与随葬品)
◎ 币
幣 bì
〈形〉
通“敝”。破旧;弃;败坏 [old and shabby;worn-out;dilapidated]
不腆先君之币器。——《国语·鲁语上》
常用词组
币值币制币重言甘 【漢典】
【備考·寅集】【巾】
币·康熙筆画:4 ·部外筆画:1
币 《康熙字典》
【備考·寅集】【巾】
币·康熙筆画:4 ·部外筆画:1
【龍龕】同印。
【漢典】
【卷七】【巾】
幣 《说文解字》
(说文解字未收录“币”字头,请参考“幣”字:) 【卷七】【巾】
『說文解字』
帛也。从巾敝聲。毗祭切
『說文解字注』
(幣)帛也。帛者,繒也。聘禮注曰:幣,人所造成以自蔽。謂束帛也。愛之斯欲飮食之,君子之情也。是以享用幣,所以副忠信。从巾敝聲。毗祭切。十五部。
【漢典】
币 音韵方言
国际音标 pi˥˧ 客家话 [客英字典] jin5粤语 bai6潮州话 bi6
官话 晋语 吴语 徽语 赣语 湘语 闽语 粤语 平话 客语
韵书 上古音 中古音
【漢典】
币 字源字形
字源演变
重定向至「幣」。甲骨文金文楚系簡帛說文秦系簡牘楷書楷書楷書「幣」 說文‧巾部「幣」 「币」「币」 說文小篆 傳抄古文字
字形对比内地台湾香港
异体字印 幣 幤 迊
【漢典】
【加载评论 】
【论坛讨论】
同音字
䊧(bi4)彃(bi4)㵥(bi4)妼(bi4)㘩(bi4)芘(bi4)坒(bi4)幣(bi4)䌟(bi4)髲(bi4)痹(bi4)㢰(bi4)
同部首
帇帖㠼㣈幩㡊㠻幧幛㡇幔㡠
同笔画
艺元开历允毌卐夬
意 见 反 馈
联 系 我 们
关 于 汉 典
免 责 声 明
粤ICP备10071303号
ZDIC Facebook
ZDIC Twitter
Qgroup:203589259
WX:zdicwx
© 汉典
百度知道 - 信息提示
百度知道 - 信息提示
百度首页
商城
注册
登录
网页
资讯
视频
图片
知道
文库
贴吧采购
地图更多
搜索答案
我要提问
百度知道>提示信息
知道宝贝找不到问题了>_
该问题可能已经失效。返回首页
15秒以后自动返回
帮助
| 意见反馈
| 投诉举报
京ICP证030173号-1 京网文【2023】1034-029号 ©2024Baidu 使用百度前必读 | 知道协议
比特币区块的组成 - 知乎
比特币区块的组成 - 知乎切换模式写文章登录/注册比特币区块的组成乐竹每天提醒自己,不要忘记梦想!上一篇中我们大概了解到比特币怎么产生的,是什么,能解决什么问题以及它的工作原理,今天我们就来看看比特币区块的组成。先看一张《比特币区块结构》图及区块数据。十六进制格式区块数据:0100000055bd840a78798ad0da853f68974f3d183e2bd1db6a842c1feecf222a00000000ff104ccb05421ab93e63f8c3ce5c2c2e9dbb37de2764b3a3175c8166562cac7d51b96a49ffff001d283e9e700201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0102ffffffff0100f2052a01000000434104d46c4968bde02899d2aa0963367c7a6ce34eec332b32e42e5f3407e052d64ac625da6f0718e7b302140434bd725706957c092db53805b821a85b23a7ac61725bac000000000100000001c997a5e56e104102fa209c6a852dd90660a20b2d9c352423edce25857fcd3704000000004847304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901ffffffff0200ca9a3b00000000434104ae1a62fe09c5f51b13905f07f06b99a2f7159b2225f374cd378d71302fa28414e7aab37397f554a7df5f142c21c1b7303b8a0626f1baded5c72a704f7e6cd84cac00286bee0000000043410411db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f656b412a3ac00000000从上图看,区块包含区块头和区块体2部分内容。一、区块头数据解析区块头结构图:细心的小伙班可能发现了区块头共有80个字节长度,首先分析前 80 字节的区块头信息:0100000055bd840a78798ad0da853f68974f3d183e2bd1db6a842c1feecf222a00000000ff104ccb05421ab93e63f8c3ce5c2c2e9dbb37de2764b3a3175c8166562cac7d51b96a49ffff001d283e9e70按照字节长度和字段顺序逐步对 80 字节区块头数据进行分析。比特币的原始数据保存方式是小端格式编码。也就是原始十六进制格式值需要字节逆转转化为大端格式数据然后才能转化为正常的数值。因为大端格式编码就是内存地址大的空间保存高位,书写出来就是左边的数据表示高位,与十进制表示法相同,更符合人的阅读习惯,例如小端十六进制格式数据为 0x01020304,那么转化为大端正常的数据就是 0x04030201。04代表高位字节值,01 代表低位字节值,转化为十进制数为 4×16^{6} + 3×16^{4} +2×16^{2} +1×16^{0} =67305985 下面我们来分析下区块头各部分生成规则及数据:1、4个字节是区块版本号:hex格式4个字节数据:01000000将小端十六进制数据0x01000000转化为大端格式数据0x00000001,则转化为十进制数值为1。2、32个字节是父区块头哈希值:hex格式32个字节数据:55bd840a78798ad0da853f68974f3d183e2bd1db6a842c1feecf222a00000000将小端十六进制数据0x55bd840a78798ad0da853f68974f3d183e2bd1db6a842c1feecf222a00000000转化为大端格式数据0x000000002a22cfee1f2c846adbd12b3e183d4f97683f85dad08a79780a84bd55,则在验证的时候需要将此数据转化为大数与标准难度值进行比较,最高有效位为0x2a,最低有效位为0x55。3、32个字节是默克尔树根哈希值:默克尔树结构(Merkle)Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。Merkle的叶子节点存储的是数据信息的哈希值,非叶子节点的存储是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。区块中任意一个数据的变更都会导致Merkle树结构发生变化,在交易信息验证对比的过程中,Merkle树结构能够大大减少数据的计算量,毕竟,我们只需验证Merkle树结构生成的统一哈希值就可以了。我们看下Merkle数据:hex格式32个字节数据:ff104ccb05421ab93e63f8c3ce5c2c2e9dbb37de2764b3a3175c8166562cac7d同理,小端十六进制值转化为大端格式的默克尔树根需要将32字节逆序转换。4、4个字节是时间戳:hex格式4个字节数据:51b96a49将小端十六进制数据0x51b96a49转化为大端格式数据0x496ab951,则转化为十进制数值为1231731025,表示的是自1970年1月1日0时0分0秒以来的秒数,转化为格林尼治时间为2009-01-12 03:30:25,这说明矿工挖出该区块的时间在这附近。5、4个字节是难度目标:关于难度值,我们直接看公式:新难度值=旧难度值*(过去2016个区块花费时长/20160分钟)目标值=最大目标值/难度值新难度值解析:撇开旧难度值,按比特币理想情况每10分钟出块的速度,过去2016个块的总花费接近20160分钟,这样,这个值永远趋近于1。目标值解析:最大目标值为一个固定数(具体可查阅资料了解,这里不做详述),若过去2016个区块花费时长少于20160分,那么这个系数会小,目标值将会被调大些,反之,目标值会被调小,因此,比特币的难度和出块速度将成反比例适当调整出块速度。我们来看下难度值的数据:hex格式4个字节数据:ffff001d将小端十六进制数据0xffff001d转化为大端格式数据0x1d00ffff,则转化为十进制数值为486604799。6、4个字节是Nonce:hex格式4个字节数据:283e9e70将小端十六进制数据0x283e9e70转化为大端格式数据0x709e3e28,则转化为十进制数值为1889418792。二、交易接下来分析交易信息:0201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0102ffffffff0100f2052a01000000434104d46c4968bde02899d2aa0963367c7a6ce34eec332b32e42e5f3407e052d64ac625da6f0718e7b302140434bd725706957c092db53805b821a85b23a7ac61725bac000000000100000001c997a5e56e104102fa209c6a852dd90660a20b2d9c352423edce25857fcd3704000000004847304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901ffffffff0200ca9a3b00000000434104ae1a62fe09c5f51b13905f07f06b99a2f7159b2225f374cd378d71302fa28414e7aab37397f554a7df5f142c21c1b7303b8a0626f1baded5c72a704f7e6cd84cac00286bee0000000043410411db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f656b412a3ac00000000交易信息前面几个字节表示的是该区块包含的交易数量,coinbase交易也计入在内。交易数量类型采用的是一种压缩尺寸的变长整型。可以看出第一个字节是0x02,这就说明本区块只有2个交易:一个coinbase交易和一个普通交易。比特币区块链上的每个区块之中都会包含一个或者多个交易( transaction ),其中第一个交易就叫做 Coinbase 交易。Coinbase 交易是矿工创建的,主要是为了奖励矿工为了进行POW挖矿而付出的努力,特点是没有“父交易”。普通交易中需要 input ,而 input 是来自父交易的 output ,所以普通交易是有父交易的,但是 Coinbase交易是由系统直接生成的币进行交易。矿工奖励分为两部分:出块奖励:是相对固定的,当前每个区块的出块奖励是12.5BTC,每四年减半一次。手续费:当前区块的每个交易中都会包含一定的对矿工的奖励,也就是交易手续费。创建 Coinbase 交易的时候,矿工会把所有交易中的手续费累加到一起,然后把这笔钱转账给自己。coinbase交易的交易哈希值为:b1fea52486ce0c62bb442b530a3f0132b826c74e473d1f2c220bfa78111c5082普通交易的交易哈希值为:f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16接下来将对这两个交易进行逐字段分析。coinbase交易结构coinbase的交易输入结构为:coinbase交易的输入格式经过数次改变,在高度227836之前遵从的区块版本号为1。因为本文分析的区块实例高度为170,则coinbase交易遵从版本1的规定。之后的区块版本中规定coinbase数据中需要添加区块高度值,版本2、3、4更详细的说明可以查看比特币官网的开发文档,在此不再赘述。coinbase的交易输出结构为:coinbase交易数据分析coinbase交易的原始数据为:01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0102ffffffff0100f2052a01000000434104d46c4968bde02899d2aa0963367c7a6ce34eec332b32e42e5f3407e052d64ac625da6f0718e7b302140434bd725706957c092db53805b821a85b23a7ac61725bac000000001、4个字节表示交易版本号hex格式4个字节数据:01000000将小端格式数据0x01000000转化为大端格式数据为0x00000001,转化为十进制数值为1。表示coinbase交易的数据格式遵循的格式版本号为1。2、1个字节表示交易输入的个数:hex格式1个字节数据:01表示coinbase交易输入只有一个。3、32个字节表示引用的UTXO交易哈希值:hex格式32个字节数据:000000000000000000000000000000000000000000000000000000000000000032字节全0为固定值。4、4个字节表示引用的UTXO所对应的输出索引:hex格式4个字节数据:ffffffff4个字节全1为固定值。5、1个字节表示coinbase脚本数据的长度:hex格式4个字节数据:070x07表示之后的coinbase脚本数据长度为7字节。6、7个字节表示coinbase脚本:hex格式4个字节数据:04ffff001d0102coinbase脚本数据和普通交易的解锁脚本不同,因为coinbase是创币交易,则coinbase的脚本不需要对其它UTXO进行解锁,故可以填充任意数据。7、4个字节序列号为固定值0xffffffff:hex格式4个字节数据:ffffffff十六进制0xffffffff转化为十进制值为4294967295。8、1个字节表示交易输出的个数:hex格式1个字节数据:01表明该交易有1个交易输出。9、8个字节表示挖出新比特币的数量,单位为聪:hex格式8个字节数据:00f2052a01000000小端格式十六进制值0x00f2052a01000000转化为大端格式十六进制值0x000000012a05f200,之后转化为十进制值为5000000000,表示该交易输出转出比特币的值为50亿聪,表明该区块新挖出50个比特币。10、1个字节表示锁定脚本的字节长度:hex格式8个字节数据:43表明接下来的锁定脚本字节长度为67个字节,转化为十六进制值为0x43。11、67个字节表示锁定脚本:hex格式67个字节数据:4104d46c4968bde02899d2aa0963367c7a6ce34eec332b32e42e5f3407e052d64ac625da6f0718e7b302140434bd725706957c092db53805b821a85b23a7ac61725bac锁定脚本开头的0x41表示将后面的65个字节压入堆栈。12、4个字节表示锁定时间:hex格式4个字节数据:00000000锁定时间为0,表示立即执行。普通交易信息结构普通交易结构图:普通交易输入结构为:普通交易输出结构为:普通交易数据分析普通交易的原始数据为:0100000001c997a5e56e104102fa209c6a852dd90660a20b2d9c352423edce25857fcd3704000000004847304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901ffffffff0200ca9a3b00000000434104ae1a62fe09c5f51b13905f07f06b99a2f7159b2225f374cd378d71302fa28414e7aab37397f554a7df5f142c21c1b7303b8a0626f1baded5c72a704f7e6cd84cac00286bee0000000043410411db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f656b412a3ac000000001、4个字节表示交易版本号:hex格式4个字节数据:01000000将小端格式数据0x01000000转化为大端格式数据为0x00000001,转化为十进制数值为1。2、1个字节表示交易输入的数量:hex格式1个字节数据:013、32个字节表示引用的UTXO交易哈希值:hex格式32个字节数据:c997a5e56e104102fa209c6a852dd90660a20b2d9c352423edce25857fcd3704原生数据是小端格式,json格式数据是大端格式。4、4个字节表示引用的UTXO所对应的输出索引:hex格式4个字节数据:00000000这说明该交易输入引用的UTXO是交易 0437cd7f8525ceed2324359c2d0ba26006d92d856a9c20fa0241106ee5a597c9 的第一个输出。5、1个字节表示解锁脚本字节长度:hex格式1个字节数据:48表明接下来的解锁脚本字节长度为72个字节,转化为十六进制值为0x48。6、72个字节表示解锁脚本:hex格式72个字节数据:47304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901解锁脚本开头的0x47表示将后面的71个字节压入堆栈。7、4个字节序列号为固定值0xffffffff:hex格式4个字节数据:ffffffff十六进制0xffffffff转化为十进制值为4294967295。8、1个字节表示交易输出的个数:hex格式1个字节数据:02表明该交易有两个交易输出。9、8个字节表示转出的btc的数量,单位为聪:hex格式8个字节数据:00ca9a3b00000000小端格式十六进制值0x00ca9a3b00000000转化为大端格式十六进制值0x000000003b9aca00,之后转化为十进制值为1000000000,表示该交易输出转出比特币的值为10亿聪,1亿聪=1BTC,因此该交易输出转出了10个比特币。10、1个字节表示锁定脚本的字节长度:hex格式8个字节数据:43表明接下来的锁定脚本字节长度为67个字节,转化为十六进制值为0x43。11、67个字节表示锁定脚本:hex格式67个字节数据:4104ae1a62fe09c5f51b13905f07f06b99a2f7159b2225f374cd378d71302fa28414e7aab37397f554a7df5f142c21c1b7303b8a0626f1baded5c72a704f7e6cd84cac锁定脚本开头的0x41表示将后面的65个字节压入堆栈。12、8个字节表示转出的btc的数量,单位为聪:hex格式8个字节数据:00286bee00000000小端格式十六进制值0x00286bee00000000转化为大端格式十六进制值0x00000000ee6b2800,之后转化为十进制值为4000000000,表示该交易输出转出比特币的值为40亿聪,因此该交易输出转出了40个比特币。13、1个字节表示锁定脚本的字节长度:hex格式1个字节数据:43表明接下来的锁定脚本字节长度为67个字节,转化为十六进制值为0x43。14、67个字节表示锁定脚本:hex格式67个字节数据:410411db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f656b412a3ac15、4个字节表示锁定时间:hex格式4个字节数据:00000000锁定时间为0,表示立即执行。三、特殊的区块——创世区块创世区块的UTXO无法被消费。本文部分引用大神张童鞋神作。编辑于 2021-03-19 15:08比特币 (Bitcoin)区块已取替协议赞同 10添加评论分享喜欢收藏申请
【基础篇】理解区块链的结构及其设计原理 - 知乎
【基础篇】理解区块链的结构及其设计原理 - 知乎首发于区块链与比特币的逻辑切换模式写文章登录/注册【基础篇】理解区块链的结构及其设计原理李迪一香港大学 金融学硕士国内目前已经有众多关于区块链、比特币等的新闻和文章,但大多只是粗浅的讲述了“区块链是去中心化的分布式账本”等概念,且在去中心化、加密货币等方面大做文章。对比国外在区块链技术原理、技术改进和内在逻辑等的讨论,国内的新闻媒体、大佬和所谓的三点钟区块链群等,还多集中在绿皮火车化的讨论,一些深层次的讨论文章实在是少之又少。我每每在回顾并感慨区块链近几年的快速发展时,总是在思考:如果我是中本聪的话,当初为何会想到要提出区块链的概念?我为何会引入哈希(Hash)函数、创造比特币呢?又为何会想到用PoW的共识模型和方法?最后,怎么把上述几个概念结合成一起,形成区块链的逻辑?以下的正文均是依据上述的逻辑展开的。需要提醒的是,以下的正文需要对经济、数学有一定的了解和兴趣,对于区块链这样一个复杂又有意思的新事物而言,仅用活泼的语言和简单的例子来解释,尽管对于普通读者可以达到简单易懂的作用,但是要想真正的理解区块链的原理和实现的机制,不了解背后的理论,绝对是远远不够的。下面进入正文。一、中心化的系统对于一个电子现金交易系统(Electronic Cash System)而言,常见的交易情景如下:A现在要去购买一台电脑,并支付1万元给商户B。1. A的账户里有1.5万元;2. A将自己账户里的1万元通过网络发送给B;3. B确认A发送的这笔“电子现金(Electronic Cash)”真实无误后,将电脑给A;4. 最后,A账户里只剩下5千元,B账户里增加了1万元。如果是线下交易,A和B之间“一手交钱、一手交货”,B能轻而易举的验证这笔钱的真实性,然而对于上述的电子现金交易,最明显的一个问题为:(1)B无法确认A这笔电子现金是否是真的,即A的账户里是否有足够的1万元来支付;(2)A账户里支付给B的1万元之前是否已经支付给了其他人C,即“双重支付(Double-Spending)”的问题。通常,为了解决这个问题,现实中往往引入一个值得信任的第三方(往往是政府、银行等机构),来担当中间人的身份。此时的交易情景如下:1. A向银行账户里存入1.5万元现金,银行会在A的电子账户中增加/“发行”1.5万元的Electronic Cash;2. A将自己账户里的1万元Electronic Cash通知银行发送给B;3. 银行确认A发送的这笔Electronic Cash真实无误,支付给B;4. B确认收款,并将将电脑给A;5. A账户里只剩下5千元Electronic Cash,B账户里增加了1万元Electronic Cash;6. 如果A账户里不足1万元Electronic Cash,则银行会提示A付款失败;如果A之前已经把这1万元支付给了C,则银行会提示A存款不足。可见,作为第三方的银行解决了交易验证及Double-Spending等问题。那么问题来了:Q1:如何在没有第三方机构的情况下,解决上述问题呢?更进一步说,是否存在一个去中心化的系统,在没有银行的帮助下,使得交易双方可以进行直接的点对点货币交易?二、银行的总账和区块链的总账银行的做法能为我们提供一个基本的思路。通过学习银行的做法,了解银行解决上述问题的根本原因,从而设计出一套既能去中心化、又能解决上述问题的系统。那么银行是通过怎样的办法,解决上述问题的呢?一般而言,银行自己对每一笔交易都有一本“总账”,在这笔总账上,记录着每一个人的交易记录(收入+支出)、余额、时间等基本信息。每“确认”一笔收入,则加盖相应“时间戳”,对这笔交易做“+”处理;每“确认”一笔支出,则加盖相应的“时间戳”,对这笔交易做“-”处理。因此,每一个人的账户余额,是按照时间顺序进行加减得到的最终结果。在前述提到的A和B之间的交易情景中,当A需要向B支付1万元的Electronic Cash时,银行把A的账本从“总账”里拿出来进行对比,如果A账本中在考虑了所有已“确认”的交易后,账户余额足以支付1万元,则认为交易无误且支付给B,B银行在收到ElectronicCash后通知B到账成功,B则可放心交货给A。银行的做法有几个重要逻辑:1. 有一笔总账,记录着每一个人的账本,以供查询并对账;2. 这笔总账只有银行有权利记账(银行是有公信力的机构);3. 每一个人的账本都详细记录着每一笔交易、相应的时间戳、余额等信息;4. 只有当一笔交易被“确认”后,才会作为收入/支出记录在账本中。参考上述银行的做法便可得知:若要解决问题一“去中心化”,核心是有一个“总账本”并满足以下条件:(1)公开透明的(中心化的情况下,因为银行保证了你账本的真实性,所以无需公开透明;但没有银行时,只有允许账本公开透明,才能使得卖家知道买家账上是否有足够的钱来支付款项;)(2)可供所有人查询并对账的(中心化的情况下,银行保证了你账本是真实的;但没有银行时,只有允许其他人都可以查询且对账,才能确保买家账本的真实性,否则买家可能虚报自己的账本)(3)记账权力是公平且安全的(记账权利是指谁可以有权利修改账本,中心化的情况下,银行只有在你存款了后才会在你的账本上记账,只有银行才有记账权利,但在没有银行时,谁有权利记账呢?必须保证修改账本的权利是公平且安全的,否则任何人都可以随意篡改自己的账本,例如自己给自己账本上+1亿元)(4)记录了所有人已确认交易记录的(已确认交易是为了避免“双重交易”,如果某笔交易没有被确认却被记账了,会导致账本余额数量对不上。例如A账本有1.5万元,需要给B支付1万元,指令已发出但后面交易取消,如果此时依然记账,A账本就只有0.5万元,是错误的。中心化的情况下,取消交易后银行会调整账本,但没有银行时,谁有权利调整呢?)试想,如果现实生活中有一个满足上述四个条件的“总账本”,此时,A和B的交易情景将会如下:1. A的电子账户中有1.5万元Electronic Cash,该信息记录在“总账本”中,可供所有人查询;2. A购买电脑,并将自己账户里的1万元Electronic Cash通知网络发送给B;3. B查询该“总账本”,验证得知A的这笔钱没有问题,并确认收款;4. A账户里只剩下5千元Electronic Cash,B账户里增加了1万元Electronic Cash;5. 如果A账户里不足1万元Electronic Cash,B验证得知后将拒绝A提货;如果A之前已经把这1万元支付给了C,B同样也会验证得知并拒绝A。可见,如果真的存在上述这样一个账本,那么第三方公信力的机构似乎没有了存在的价值,我们便解决了Q1的疑问:的确存在一个去中心化的Electronic Cash System,使得交易双方可以进行直接的点对点货币交易。三、哈希函数和公开总账本的安全性但要实现上述逻辑并不简单,上面的分析表明,我们遇到的进一步的问题是:Q2:谁有权利记账? Q3:如果有记账人,如何保证该记账人不会为了自己的利益修改记录(即如何保证记账人有银行一样的公信力)?Q4:如何保证账本不被篡改,例如修改以前的历史记录(即如何保证账本的安全性)?Q5:谁有权力对交易进行确认和验证(即证明各笔交易是否真实有效)?我们一个一个问题来看。首先,谁有权利记账?既然我们要设计的系统是去中心化的,显然我们不能把记账的权力交给某一个第三方,而把记账的权利交给某一个人显然也是不放心的,在考虑到公平公正的前提下,一个容易的推导是:所有人都可以记账,任意一笔记账都需要绝大多数人进行确认和验证,且只有在绝大多数人同意的前提下才能被认为是真实有效的(即达成一致consensus)。这个方法的公平性是显而易见的。所有人都可以记账,但是需要经过绝大多数人的同意,也需要绝大多数人的确认和验证。如果大家不同意,则这笔交易就不被确认,不被记到账本上;如果大家同意,则确认并记录。我们可暂且将技术原理放在一边,如果这是能做到的,那么问题Q2,Q3,和Q5也就解决了。一是所有人都有记账权利,则解决了Q2。二是因为记账需要大多数人同意,所以不会存在记账人为了自己利益修改记录的行为,因为这样的行为会被大家否认,则解决了Q3;最后每一笔交易都确保了真实有效,因为每一笔交易都需要大家的确认和验证,则解决了Q5。在这个前提下,我们又该如何解决问题Q4,即如何保证历史记录不被篡改呢?保证历史记录不被篡改,有几个容易想到的思路:第一种思路是,我们可以给历史记录加上一把复杂的”密码锁“,任何人要修改账本的历史记录需要解开这把锁。这个思路的前提是,这把锁不会妨碍人们对历史记录的查询和验证,且不会妨碍人们添加新的交易记录(即新的记账)。可是,这把锁的钥匙、密码归谁保管呢?第二种思路是,但凡有人对历史记录的进行了修改,哪怕只是一丁点儿修改,都会引起一个较大的变化,以至于被人们发现且拒绝。第三种思路是,对历史记录的修改的需要花费的成本巨大,且随着时间的推移越来越大,大到普通的人无法承受。这个思路的缺陷在于,你永远都不知道富人究竟有多富。若要理解接下来的内容,可能需要一些数学思维。数学家们对这个世界做出了无比重大的贡献,他们发明的“哈希函数”将在这个系统中发挥巨大的作用。先简单介绍一下哈希函数:哈希函数,一般也叫做散列函数,是把任意长度的输入变换成固定长度的输出,该输出被称为散列值。简单地说,就是一种将任意长度的消息压缩成某一固定长度的信息摘要的函数。举个熟悉的例子,就像是以前的语文阅读题目,请用10个字概括这篇需要阅读的文章,在这里10个字就是固定长度的输出,数学上称为散列值;这篇需要阅读的文章是任意长度的输入。把这篇任意长度的文章变换成固定10个字的散列值,我们称之散列函数,或者哈希函数。数学上,一个良好性质的哈希函数(HASH函数,通常用h(x)来表示)必须具备以下特征:1. 任何大小的数据分组,h(x)函数都能产生固定长度的输出2. 对于任何给定的自变量key,哈希值h(key)要相对容易计算3. 单向性:指的是其操作方向的不可逆性,即只能从输入推导出输出,而不能从输出计算出输入。即:已知自变量key1,可以计算出h(key1)=h1;但已知因变量h1,若想推导出对应的自变量key1,在计算上不可行(“计算上不可行”的定义见下)。4. 碰撞约束。碰撞约束可分为弱抗碰撞和强抗碰撞。所谓弱抗碰撞,指的是对于给定的自变量key1,若想找一个与key1不一样的另一个自变量key2,使得h(key1)=h(key2),在计算上不可行;所谓强抗碰撞,指的是寻找任何的自变量(key1, key2)使得h(key1)=h(key2),在计算上不可行。上述提到的“在计算上不可行(Computationally Infeasible)”,意思并不是“完全不可能”,而是“很难很难“,或者说”要在有限的时间内计算出来不可能“。小知识(可忽略):目前常用的HASH函数主要有两个系列,MD和 SHA系列。其中,MD系列主要包括 MD2,MD4,MD5,但这类HASH函数已经被证实不够安全(我国山东大学教授王小云在有限的时间内成功地破解了MD2和MD5算法)。SHA系列主要包含SHA1和 SHA2(SHA224, SAH256, SHA384,SHA512)系列,其中224,256,384,512都是指其输出的位长度。目前大多数应用场景推荐使用SHA256以上的算法。目前以超级计算机的算力,产生比特币SHA256哈希算法的一个哈希碰撞大约需要2^48年。假设某一笔交易的历史记录我们设为自变量key1,哈希函数的上述性质告诉我们,很难找到一个不等于key1的另一笔交易记录key2,使得h(key1)=h(key2)。这也意味着:(1)对于key1的任何变动,哪怕是一点点,都将使得哈希值/输出值与原输出值h(key1)完全不相等或者差异巨大;这就是说交易记录的一点点改变,哈希值的变化都会足以引起人们的注意。(2)如果后一个哈希函数的输入是基于前一个哈希函数的输出,那么,如果要修改任何一个时点的历史记录,就要把前面所有时点的历史记录及其对应的哈希值都进行修改,并找到相应的哈希碰撞,而哈希函数的性质告诉我们,这在计算上是相当难实现的。换句话说,如果哈希函数的自变量不是交易记录key1,而是交易记录的哈希函数h(key1),即自变量x1 = h(key1), 因变量y = h(x) = h[h(key1)]。此时,如果某人尝试把交易记录key1改变成key2,但又不想让别人发现,那么y = h[h(key1)] 就需要不变。也就是要使得y = h[h(key1)] = h[h(key2)]。而根据前面哈希函数的性质4“碰撞约束”:若想找一个与x1不一样的另一个自变量x2,使得h(x1)=h(x2),在计算上不可行。基于以上,我们很容易想到,这个性质如果能应用到我们前面提到的思路,那将是非常完美的。如果能把某一时点的交易记录进行哈希,且该哈希的输出是以后时点的交易记录哈希的输入,即h(x2) = h(h(x1)),那么不同时间点的交易记录之间将通过哈希进行紧密联系,任何一处的变动不仅将改变其自身的哈希,还会改变以他为参数之一的后面交易记录的所有哈希,而且根据哈希函数的性质,如果要找到另一个数使得后面的哈希不变,这在计算上是不可行的。也就是说,对历史记录的任何一点修改将随着时间的推移越来越难、成本越来越高,且在计算上无法篡改。四、推理出区块链结构因此,我们可以推导出区块链结构的初步框架:1. 新加入了交易记录后,新账本记作Bn,则Bn需要至少包含以下内容:(1)Bn对应发生的时间,即“时间戳”,记为tn(2)包含的所有交易记录,记为TXn(3)上一个账本的哈希值,记为B(n-1)。所以:Bn=H(tn, TXn, B(n-1)),其中H(x)是哈希函数,是对自变量x进行哈希。所以Bn是对三个自变量tn, TXn, 以及B(n-1)一起进行哈希的结果。2. 由于一个账本中可以包含很多的交易记录,为了让这么多交易记录变成一个自变量,从而简化交易记录在哈希函数中的输入,我们可以对交易记录进行哈希,也就是把很多的交易记录TX1,TX2, TX3......进行哈希,变成一个输入值。一个巧妙的方法是以“默克尔树(Merkle Tree)”来验证并记录交易。Merkle Tree也称为Hash Tree,本质是存储哈希值的二叉树。从下图可看出,Merkle Tree的每个叶子节点是每个交易信息的哈希值,往上对相邻的两个哈希值再哈希,一直到顶部只剩下一个节点,称为Merkle根。将数据以Merkle树的方式存储的好处是,可以单独拿其中的一个小分支对部分数据进行验证,而无需对所有数据都进行审阅,提高效率。由此可见,通过上述方法,我们把一个账本中包含的众多交易,通过不断的哈希,最后变成了一个变量,即Merkle根。我们只需要用Merkle根作为账本的一个变量,即可包含所有交易记录。即:Bn=H(tn, Merkle-n, B(n-1)),其中,Merlke-n=H(TXn),所以Bn是对三个自变量tn, Merlke-n, 以及B(n-1)一起进行哈希的结果。到这里,我们可以暂时回顾一下目前的进展。我们之前提出了5个问题:Q1:如何在没有第三方机构的情况下,解决上述问题呢?更进一步说,是否存在一个去中心化的系统,在没有银行的帮助下,使得交易双方可以进行直接的点对点货币交易?--> 通过借鉴银行的做法,我们提出,若要解决去中心化的问题,核心是有一个公开透明的、可供所有人查询并对账的、记账权利是公平且安全的、记录了所有人已确认交易记录的“总账本”。Q2:谁有权利记账? Q3:如果有记账人,如何保证该记账人不会为了自己的利益修改记录(即如何保证记账人有银行一样的公信力)?Q5:谁有权力对交易进行确认和验证(即证明各笔交易是否真实有效)?--> 在去中心化的情况下,我们提出需要所有人都可以记账,任意一笔记账都需要绝大多数人进行确认和验证,且只有在绝大多数人同意的前提下才能被认为是真实有效的(即达成一致consensus)。Q4:如何保证账本不被篡改,例如修改以前的历史记录(即如何保证账本的安全性)?--> 利用哈希函数的性质,包含了新的交易记录的账本Bn=H(tn, Merkle-n, B(n-1)),新账本Bn和旧账本B(n-1)通过哈希函数紧密联系,对历史记录进行哪怕一丁点的修改,都会引起新账本Bn的值发生巨大变化,且随着时间的推移,要对账本进行篡改需要花费的成本越来越高,因此计算上可以认为账本不太可能被篡改。3. 基于前面问题的讨论,我们已经决定不能将记账的权力交给某个单一的第三方,二是所有人都可以记账。但是,即使是所有人都有权利记账,我们依然要解决每一笔账具体由谁来记的问题,否则如果大家都只是有权利、而没有义务去记账,最后的结果就是谁都不记账,陷入“三个和尚没水喝”的困境。比特币区块链的做法是引入了一个“竞争机制”。通过在前述的函数Bn=H(tn, Merkle-n, B(n-1))中,引入一个随机数nounce,即Bn=H(tn, Merkle-n, B(n-1), nounce),让所有人“公平”地去寻找这个随机数,使得Bn小于“目标哈希值”(以后会解释,此处可暂时理解为一个常数,即找到这个随机数,使得函数值Bn小于某个数)。谁先找到这个随机数,谁就获得了记账的权利。由于找到这个随机数在数学上的唯一方法只有通过穷举,因此谁的计算速度快、谁就先能找到这个随机数,获得记账的权利(因此,从某种意义来讲,这种记账权利并不是完全“公平”的,所以才会有诸如Proof of Stake等其他方法)。计算速度考验的是计算机的算力,而算力是耗费成本的,为了补偿使用算力造成的成本,这个账本会凭空产生出一个“代币”——虚拟货币“比特币”(Bitcoin)——发放给赢得记账权利的人,称为“旷工”,旷工通过消耗算力、找到随机数、赢得记账权利、并获得比特币被称之为“挖矿”,通过算力来进行挖矿的过程,被称为工作量证明(PoW,Proof of Work)。基于此,我们进一步修改账本的哈希函数:Bn=H(tn, Merkle-n, B(n-1), nounce),其中,Merlke-n=H(TXn), nounce是随机数。旷工需要找到nounce,使得Bn<目标哈希。五、画出区块链结构基于前面的函数,我们知道一个新的区块/账本中,包含至少五个参数:时间戳tn,前一个区块的哈希值B(n-1),随机数nounce,目标哈希,以及Merkle根,这五个参数将包含在“区块头”中(当然还包括一些其他参数,例如版本号,相关性较小我们此处暂时忽略);此外,我们知道,Merkle根其实是包含所有交易记录的一个哈希值,因此每一个区块中还有一个“区块体”,记录着所有的交易记录。清楚的区块链结构如下:简化的比特币区块链结构如下:了解了区块链的理论后,接下来我们不妨看几个实际的区块的例子:根据http://Blockchain.info提供的信息,我们随机找一个区块,例如第512352个区块,其详细信息如下图。从下图左侧提供的所有信息,由上到下可以看到:该区块中包含1669笔交易(Number of Transactions: 1669)区块包含的交易量有980.8783个比特币(Estimated Transaction Volume)旷工得到的交易费未0.255548个比特币(Transaction Fees)这是第512352个区块(Height)时间戳(Timestamp)为2018年3月7日2点52分27秒记账人未http://BTC.com(Replayed By BTC.com)困难程度未3,290,605,988,755(以后会解释)该区块大小为1099.549kB版本号未0x20000000随机数nounce为1152756558旷工得到了12.5比特币的奖励右侧由上到下提供的信息分别为:该区块的哈希值(Hash)上一个区块(也称为“父区块”)的哈希值(Previous Block)下一个区块的目标哈希,即下一个区块的哈希值不得大于00000000000000000011d9deb41bfd546610de982fcbedfa251b52e2eec8719c该区块所有交易记录的Merkle根。至此,区块链的基础结构原理就完成了。不过,若要深入的追问的话,我们会问:一个新区块里包含的那些交易取决于谁?旷工可以自行决定吗?旷工可以决定什么交易都不放吗(即区块体中不包含任何交易记录)?前面提到,新区块的哈希值要小于目标哈希,谁有权利决定目标哈希?区块链的困难程度difficulty是什么?怎么计算的?难度值会调整吗?怎么调整?谁有权利调整?有什么意义?旷工找到符合要求的随机数nounce后,即产生了一个新区块,这个新区块一定就会被加到主账本上去吗?如果不一定,要通过什么机制才能加入?要是两个旷工同一时间找到了符合要求的随机数nounce,两个都符合要求的新区块被同时找到,怎么办?两个区块都加入新账本吗?还是只有一个可以加入?如果只有一个可以加入,谁来决定?旷工获得比特币的奖励,比特币会被存放在哪里?不会被偷吗?存放的机制是怎样的?比特币可以用来交易吗?比特币用于交易的机制,与现实社会中的货币交易机制有什么不同?前面提到,通过算力来挖矿叫做PoW(Power of Work),那PoS(Power of Stake)是什么?孰优孰劣?等等。。。。这些问题会在专栏的其他文章中慢慢解释~~欢迎有兴趣的小伙伴一起讨论!编辑于 2019-11-26 16:22区块链(Blockchain)比特币 (Bitcoin)赞同 917 条评论分享喜欢收藏申请转载文章被以下专栏收录区块链与比特币的逻辑研究区块链和比特币的技术原理和发
叶胜超:一分钟搞懂区块链以及区块结构!(25) - 知乎
叶胜超:一分钟搞懂区块链以及区块结构!(25) - 知乎首发于叶胜超区块链切换模式写文章登录/注册叶胜超:一分钟搞懂区块链以及区块结构!(25)叶胜超区块链爱好者,《微信营销独孤九剑》作者什么是区块链?区块链就是区块以链的方式组合在一起,以这种方式形成的数据库就是区块链,也就是包含交易信息的区块从后向前有序链接起来的数据结构。区块结构包含哪些内容?一个完整的区块结构包括:区块头和区块体。(建议结合图片看,可以快速了解区块结构)区块头主要包含:父区块哈希值、版本,时间戳、难度,Nonce,Merkle根。父区块哈希值:用于链接上一个区块版本:相当于区块的编号时间戳:用来记录该区块生成的时间难度:是该算术题的难度系数打分Nonce:一个用于证明工作量难度的随机数Merkle根:一个用于验证区块体交易的一个总的哈希值。区块体主要包含:所有交易信息以及所有交易信息的Merkle树(树根除外,树根存储在区块头内)。区块结构有什么特点?1,每一个区块上记录的交易是上一个区块形成之后、该区块被创建前发生的所有价值交换活动,这个特点保证了数据库的完整性。2,在绝大多数情况下,一旦新区块完成后被加入到区块链的最后,则此区块的数据记录就再也不能改变或删除,这个特点保证了数据库的严谨性,即无法被篡改。此文属于叶胜超区块链基础普及系列,作者:叶胜超,转载请注明出处,谢谢!关注叶胜超,每天了解一个知识点,日积月累变老鸟!投资箴言:行情总在绝望中诞生,在半信半疑中成长,在憧憬中成熟,在希望中毁灭。作者简介:我是叶胜超,一个把自己姓名当成品牌经营的终身学习者,一个坚持每天5点起床跑步的终身践行者.希望和你成为朋友,我的微信:shengchao8 (公众号/微博:叶胜超区块链)熊市学习,牛市赚钱,学习区块链,百度“叶胜超区块链”,希望和你在熊市一起学习,一起成长。如果你想倾家荡产,有四大捷径:追涨杀跌;期货杠杆;融资融币;短线神操作。当然,人生颠峰也有四条大道:踏实工作;闲钱投资;熊市定投 ,牛市定抛;按时吃饭睡觉。此乃币圈生存法则,非绝世高手不得无视,币圈一天,人间十年,其凶残程度古今罕有,谨记生存法则可保不死!发布于 2019-09-25 09:03区块链(Blockchain)数字货币比特币 (Bitcoin)赞同 2添加评论分享喜欢收藏申请转载文章被以下专栏收录叶胜超区块链叶胜超区块链,为学习区块链而生的
细说数字人民币|底层架构是如何设计的,有何设计用意?_金改实验室_澎湃新闻-The Paper
人民币|底层架构是如何设计的,有何设计用意?_金改实验室_澎湃新闻-The Paper下载客户端登录无障碍+1细说数字人民币|底层架构是如何设计的,有何设计用意?澎湃新闻记者 叶映荷2020-10-02 07:29来源:澎湃新闻 ∙ 金改实验室 >字号央行数字货币频传捷报,热度也持续不减。当我们在聊央行数字货币的时候,聊的总是它会给我们生产生活、货币体系、经济运行带来些什么。若抛开现象谈本质,数字人民币的底层架构是如何设计的,又有何设计用意呢?发行端:“一币,两库,三中心”根据前央行数字货币研究所所长姚前在《中国法定数字货币原型构想》一文中的阐述,央行数字货币系统框架的核心要素为“一币,两库,三中心”。“一币,两库,三中心”的设计架构 欧科云链研究院供图 其中,“一币”指的是央行数字货币。“两库”指的是数字货币发行库和数字货币银行库。数字货币发行库是人民银行在央行数字货币私有云上存放央行数字货币发行基金的数据库。数字货币商业银行库是商业银行存放央行数字货币的数据库,可以在本地也可以在央行数字货币私有云上。“三中心”指的是认证中心、登记中心与大数据发行中心。认证中心是央行对央行数字货币机构及用户身份信息进行集中管理,它是系统安全的基础组件,也是可控匿名设计的重要环节。登记中心是记录央行数字货币及对应用户身份,完成权属登记;记录流水,完成央行数字货币全生命周期登记。大数据分析中心主要进行反洗钱、支付行为分析、监管调控指标分析。欧科云链研究院首席研究员李炼炫表示,六者之间的流程是:根据数字货币发行总量,央行统一生成数字货币(即生产数字货币基金),存放在央行发行库中;根据商业银行数字货币的需求申请,央行将数字货币发送到相应商业银行存放数字货币的数据库,即数字货币从发行库到银行库;用户申请提取数字货币时,数字货币从银行库到流通环节,进入用户客户端的存储介质中(如手机内),即从银行库到用户的数字钱包;在流通环节,数字货币实质是在两个用户各自数字钱包间进行转移来完成支付,此时支付分为在线交易和离线交易。运营端:双层运营体系在央行数字货币的运营上,央行数字货币采用“中央银行-商业银行/其他运营机构”的双层运营体系。“中央银行-商业银行/其他运营机构”的双层运营体系 欧科云链研究院供图中国人民银行副行长范一飞撰文指出,各国现金发行普遍采用“中央银行-商业银行”的二元模式,中央银行是基础货币的供应者和货币流通的调节者,商业银行进行货币投放、流通和回笼,为公众提供现金存取服务。美、英、德和我国等主要央行均是将现钞调运至商业银行,由其向公众兑换。这样既不易引发“金融脱媒”,也不对现有金融体系和实体经济运行产生大的冲击。范一飞表示,一是充分利用现有资源和技术储备。作为指定运营机构的商业银行应具有成熟的基础设施、完善的服务体系和充足的人才储备,由其提供兑换服务可充分调动市场力量,实现优胜劣汰。二是降低风险隐患。作为指定运营机构的商业银行在零售业务治理体系、风控措施等方面经验丰富,能有效防范操作风险,增强公众持有、使用数字人民币的信心。三是避免金融脱媒。数字人民币沿用了二元模式下货币发行体系,且不计付利息,避免与商业银行存款货币形成竞争。四是有利于货币政策传导。商业银行提供数字人民币兑换,可加速资金回流商业银行的速度和效率,促进其发挥金融中介作用,为货币政策传导提供更直接、高效的渠道。“双层体系,可以避免央行直接面向C端,也避免对商业银行造成金融脱媒的后果。避免了数字货币体系对于当前金融体系的冲击,也让金融机构有积极性参与到数字货币的试点中来。”苏宁金融研究院研究员孙扬如此说道。李炼炫也提到,央行数字货币对银行存款有一定的竞争优势,如果采用单层运营体系,将直接导致银行存款的流失,出现“金融脱媒”现象。他还认为如果采用单层运营体系,央行要直接面对所有用户,这又回到了计划经济“大一统央行”的时代。并且商业银行和其他支付机构在IT基础设施应用和服务体系上都趋于成熟,双层运营架构有利于充分发挥商业机构的人才和技术优势。不过,孙扬还指出,双层运营体系也有缺陷,因为面向消费者的商业银行能力有强有弱,在数字货币运营的过程中,也会有质量的优劣之分,就像贷款业务有做的好的有做的差的,这需要央行对于商业银行做好充分的引导和培训。100%缴纳准备金是为了“防止商业银行超发数字货币”双层运营体系中,需要100%全额缴纳准备金,且不计付利息。中国银行研究院研究员郝毅表示,我国发行数字货币目标是现金M0的替代。现阶段在商业银行兑换现金时,商业银行就需要缴纳100%准备金。数字人民币缴纳100%准备金是为了防止商业银行超发数字货币;也为了增强公众对数字货币的信任,体现数字货币背后的国家信用。国盛证券分析师宋嘉吉表示,不采用100%准备金的话,意味着商业银行有利用央行数字货币发放贷款、派生存款的可能,可能会扰乱现有金融体系。他表示,央行数字货币不计付利息原因是,央行数字货币是央行负债,比银行存款安全,如果还对它计息,则可能无人愿意去银行存款。但如果用户认为银行存款已足够安全,则不计息可能会使用户没有动机持有央行数字货币。郝毅认为,不计付利息代表数字人民币仅被看做现金的数字形式,也表明数字人民币具有非盈利性,追求的是社会效益和社会福利最大化。对现有货币体系,尤其是货币政策传导的影响微乎其微,不会挤出商业银行存款,也不会变成货币政策调控工具。数字人民币不计付利息,但其法币特性将打破交易壁垒,加快货币流通速度。从理论上,将会对通胀产生一定的积极影响。“数字人民币定位于现金,定位于钱包里面的现金,当然不计息。另外准确定位是M0, 随时用于支付消费。发展不计付利息的数字货币,目标是大家把钱花出去,促进消费、促进消费拉动经济,所以这是一个积极的促进作用。”孙扬说。支付端:双离线、松耦合李炼炫认为,在用户终端,央行数字货币主要表现出三大特性:首先是隐私保护与打击违法犯罪的平衡。对于公众正常经济生活的隐私需要,央行数字货币是要保护的,因此必须实现可控匿名。其次是双离线支付功能。网银,支付宝等第三方支付工具在进行交易时需要联网,否则无法进行交易;而央行数字货币的双离线支付功能,即便交易双方处于离线状态,只要两个手机一碰,交换钱包密钥,即可完成转账交易。最后,主要面向小额零售场景,有金额和时间限制。有助于解决“双花问题”,也有出于保护商业银行,防止“金融脱媒”的考量。孙扬表示,央行数字货币以广义账户体系为基础,即央行数字货币可以脱离传统银行账户实现价值转移,使交易环节对账户的依赖程度大幅降低,是一种松耦合的账户体系。所以对用户和企业来说,如果只是日常使用央行数字货币进行小额支付,完全无需跑到商业银行或者商业机构去开户,只要下载一个央行数字钱包App,完成注册就能使用央行数字货币进行转账。除了将数字钱包里央行数字货币取出或者向数字钱包里充值之外,用户与用户之间的相互转账无需绑定账户。数字货币钱包并不是银行账户。他指出:“松耦合的优势在于,可得性很高,有利于普惠金融,对于农村偏远山区等意义重大,只要有能标记你身份的合法证件账户,都可以作为承载数字货币钱包的账户。”郝毅认为,优势是实现可控匿名,在满足部分用户匿名需求的同时,在最大程度上控制风险。匿名需求可以满足境外消费者对于隐私保护的需要,助力数字人民币海外推广。对匿名账户采取限额管理,有助于降低匿名账户洗钱的可能性和风险。“劣势是依旧存在洗钱风险。即使对匿名账户采取限额管理,但在数字化时代,仍存在利用科技技术,控制大量匿名账户进行小额交易,达到洗钱的目的。”郝毅说。孙扬也认为,松耦合对于安全和风控提出了要求,其他的账户体系,比如社保、驾照、身份证、学生证等证件可能不具备金融机构的线上风控能力,这需要央行数字货币系统在KYC和风控方面部署较多的技术确保安全。宋嘉吉表示,理想中的“松耦合”是小额支付无需与银行账户绑定(大额支付需要),但我们预计这一情形较难实现,原因是只要涉及到不同银行,就需对用户身份做标记,才能不发生紊乱,而这一标记正是“账户”的概念。责任编辑:郑景昕澎湃新闻报料:021-962866澎湃新闻,未经授权不得转载+1收藏我要举报#数字人民币查看更多查看更多开始答题扫码下载澎湃新闻客户端Android版iPhone版iPad版关于澎湃加入澎湃联系我们广告合作法律声明隐私政策澎湃矩阵澎湃新闻微博澎湃新闻公众号澎湃新闻抖音号IP SHANGHAISIXTH TONE新闻报料报料热线: 021-962866报料邮箱: news@thepaper.cn沪ICP备14003370号沪公网安备31010602000299号互联网新闻信息服务许可证:31120170006增值电信业务经营许可证:沪B2-2017116© 2014-2024 上海东方报业有限公百度知道 - 信息提示
百度知道 - 信息提示
百度首页
商城
注册
登录
网页
资讯
视频
图片
知道
文库
贴吧采购
地图更多
搜索答案
我要提问
百度知道>提示信息
知道宝贝找不到问题了>_
该问题可能已经失效。返回首页
15秒以后自动返回
帮助
| 意见反馈
| 投诉举报
京ICP证030173号-1 京网文【2023】1034-029号 ©2024Baidu 使用百度前必读 | 知道协议
百度知道 - 信息提示
百度知道 - 信息提示
百度首页
商城
注册
登录
网页
资讯
视频
图片
知道
文库
贴吧采购
地图更多
搜索答案
我要提问
百度知道>提示信息
知道宝贝找不到问题了>_
该问题可能已经失效。返回首页
15秒以后自动返回
帮助
| 意见反馈
| 投诉举报
京ICP证030173号-1 京网文【2023】1034-029号 ©2024Baidu 使用百度前必读 | 知道协议
百度知道 - 信息提示
百度知道 - 信息提示
百度首页
商城
注册
登录
网页
资讯
视频
图片
知道
文库
贴吧采购
地图更多
搜索答案
我要提问
百度知道>提示信息
知道宝贝找不到问题了>_
该问题可能已经失效。返回首页
15秒以后自动返回
帮助
| 意见反馈
| 投诉举报
京ICP证030173号-1 京网文【2023】1034-029号 ©2024Baidu 使用百度前必读 | 知道协议