XDAG技術(shù)詳解5-塊格式(普通塊)

xdag的每個(gè)塊定長(zhǎng)512個(gè)字節(jié)诽里,分為固定的16個(gè)field手负,每個(gè)field為32字節(jié)贤重。

image-20191106203553013.png

具體到每個(gè)field的細(xì)節(jié)構(gòu)成茬祷,普通塊和偽塊的構(gòu)成方式不同。

普通塊

  1. head字段

    image-20191109102618330.png
    1. 第一個(gè)8字節(jié):傳輸層填充的信息并蝗,在計(jì)算hash的時(shí)候會(huì)清零祭犯。

      1. type:傳輸層block類型,目前只有一種類型就是xdag滚停。
      2. ttl:傳播次數(shù)沃粗。
      3. length:整個(gè)block大小,xdag下固定為512键畴。
      4. crc32:把crc32字段清零后最盅,整個(gè)block做crc32的結(jié)果。
    2. 第二個(gè)8字節(jié):存儲(chǔ)每個(gè)field類型起惕。

      64-bit被切分為16個(gè)4-bit涡贱,每個(gè)4-bit表示一個(gè)field的type,倒序惹想。

    3. 第三個(gè)8字節(jié):時(shí)間戳盼产。

      64位,其中低32放秒勺馆,高32位放毫秒戏售。

    4. 第四個(gè)8字節(jié):手續(xù)費(fèi)。

  2. 其他field

    其他field根據(jù)不同塊類型布局不同草穆,下面重點(diǎn)說交易塊和主塊的布局灌灾,鏈接塊和地址塊比較簡(jiǎn)單,可以參考前一章內(nèi)容悲柱。

    1. 交易塊

      假設(shè)交易塊包含下列field:

      1. 一個(gè)head
      2. 2個(gè)input field
      3. 1個(gè)output field
      4. 2個(gè)pubkey field(假設(shè)2個(gè)input field用的是不同的key)
      5. 2個(gè)input sign(因?yàn)橛?個(gè)pubkey)
      6. 1個(gè)output sign(注意這里的sign與output field沒有任何關(guān)系锋喜,這個(gè)sign是當(dāng)前塊持有人的。)

      下面是布局


      image-20191127144642443.png
    2. 主塊

      假設(shè)主塊包含

      1. head
      2. 1個(gè)output field 指向前一個(gè)主塊
      3. 2個(gè)output field 指向孤塊
      4. 1個(gè)output sign
      5. 1個(gè)last field,這個(gè)field在type中是input sign嘿般,但是跟sign沒關(guān)系段标,只是一個(gè)特殊類型。

      布局


      image-20191127145409976.png
  3. pubkey與input sign

    每一個(gè)input作為轉(zhuǎn)入資金方炉奴,都需要用自己的key做一次簽名逼庞,這個(gè)簽名就是input sign,同時(shí)對(duì)應(yīng)的pubkey會(huì)復(fù)制到block中瞻赶。

    多個(gè)input有可能來自同一個(gè)人赛糟,那么就有可能用的是同一個(gè)key,pubkey相同砸逊,那么只需要復(fù)制一次即可璧南。但是同一個(gè)人,也可能在不同block上用不同的秘鑰师逸,所以key不同是正常的司倚。

    原則上,pubkey與input sign是一一對(duì)應(yīng)的篓像。

  4. output sign

    當(dāng)一個(gè)block創(chuàng)建后对湃,input 與 output 的金額差如果大于0,意味著這個(gè)block里留下了余額遗淳,這些余額就屬于創(chuàng)建這個(gè)block的人拍柒。為了在后面轉(zhuǎn)出金額的時(shí)候做轉(zhuǎn)出合法性校驗(yàn),需要為這個(gè)block的余額做一個(gè)簽名屈暗,這個(gè)output sign就是為了做這個(gè)拆讯。

    用創(chuàng)建block人當(dāng)前的default key對(duì)block做一次簽名,就是output sign养叛。

  5. input的來源驗(yàn)證

    每一個(gè)input都意味另一個(gè)block賬戶余額的轉(zhuǎn)出种呐,當(dāng)系統(tǒng)收到一個(gè)block時(shí):

    1. 首先用所有pubkey對(duì)相關(guān)的input sign做一次驗(yàn)簽,
    2. 完成input sign驗(yàn)證后弃甥,只能說明input sign合法性驗(yàn)證通過爽室,但這筆金額的來源block是否授權(quán)了這次金額轉(zhuǎn)出,并沒有得到確認(rèn)淆攻。
    3. output sign的創(chuàng)建阔墩,就是為了轉(zhuǎn)出金額的時(shí)候做校驗(yàn)用,所以在這里瓶珊,用相同的pubkey啸箫,再去address的block上,對(duì)output sign做一次驗(yàn)簽伞芹,如果能通過忘苛,則說明這次轉(zhuǎn)出是被授權(quán)過的蝉娜。為什么要這樣驗(yàn)證?因?yàn)橹挥挟?dāng)前block的input sign和上游block的output sign是同一個(gè)私鑰簽名的扎唾,才能說明是同一個(gè)人授權(quán)的召川,如果用同樣的pubkey可以對(duì)兩邊的sign都驗(yàn)證通過,則能說明是同一個(gè)私鑰簽名的胸遇。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末荧呐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子狐榔,更是在濱河造成了極大的恐慌坛增,老刑警劉巖获雕,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薄腻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡届案,警方通過查閱死者的電腦和手機(jī)庵楷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來楣颠,“玉大人尽纽,你說我怎么就攤上這事⊥觯” “怎么了弄贿?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)矫膨。 經(jīng)常有香客問我差凹,道長(zhǎng),這世上最難降的妖魔是什么侧馅? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任危尿,我火速辦了婚禮,結(jié)果婚禮上馁痴,老公的妹妹穿的比我還像新娘谊娇。我一直安慰自己,他們只是感情好罗晕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布济欢。 她就那樣靜靜地躺著,像睡著了一般小渊。 火紅的嫁衣襯著肌膚如雪船逮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天粤铭,我揣著相機(jī)與錄音挖胃,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛酱鸭,可吹牛的內(nèi)容都是我干的吗垮。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼凹髓,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼烁登!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蔚舀,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤饵沧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后赌躺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狼牺,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年礼患,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了是钥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缅叠,死狀恐怖悄泥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肤粱,我是刑警寧澤弹囚,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站领曼,受9級(jí)特大地震影響鸥鹉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悯森,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一宋舷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓢姻,春花似錦祝蝠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至褥傍,卻和暖如春儡嘶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背恍风。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工蹦狂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留誓篱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓凯楔,卻偏偏與公主長(zhǎng)得像窜骄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摆屯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容