技术驱动金融 第一章

2018-05-04  本文已影响15人  半亩房顶

区块链:技术驱动金融-第一章
密码学及加密货币概述

1.1 密码学哈希函数
要 使 哈 希 函 数 达 到 密 码 安 全, 我 们 要 求 其 具 有 以 下 三 个 附 加 特 性:
(1)碰 撞 阻 力 collision-resistance
含义:如 果 对 于 哈 希 函 数 H(·), 没 有 人 能 够 找 到 碰 撞, 我 们 则 称 该 函 数 具 有 碰 撞 阻 力
涉及知识点:鸽巢原理,生日悖论
应用:信息摘要。实现文件验证之类的

(2)隐秘性 hiding
含义:隐 秘 性 保 证, 如 果 我 们 仅 仅 知 道 哈 希 函 数 的 输 出 y = H( x), 我 们 没 有 可 行 的 办 法 算 出 输 入 值 x。
涉及知识点:--
应用:承诺。承 诺 协 议 一 个 承 诺 协 议 方 案 由 两 个 算 法 构 成: ● com: = commit( msg, nonce), 承 诺 函 数 将 信 息( msg) 和 一 个 临 时 随 机 数( nonce) 作 为 输 入, 输 出 就 是 一 个“ 承 诺”。 ● verify( com, msg, nonce), 验 证 函 数 将 某 个 承 诺 输 出( com)、 临 时 随 机 数( nonce) 及 信 息( msg) 作为 输 入, 如 果 com = = commit( msg, nonce), 则 返 回“ 真”( true); 反 之 则 返 回“ 假”( false)。 我 们 要 求 以 下 两 个 安 全 特 性 要 成 立 : ● 隐 秘 性: 已 知 com, 没 有 可 行 的 方 法 找 到 msg。 ● 约 束 性: 没 有 可 行 的 办 法 找 到 两 组( msg, nonce) 和( msg’, nonce’), msg ≠ msg’, 而 commit( msg, nonce) = = commit( msg’, nonce’)。

(3)谜题友好 puzzle-friendliness
含义:如 果 对 于 任 意 n 位 输 出 值 y, 假 定 k 选 自 高 阶 最 小 熵 分 布, 如 果 无 法 找 到 一 个 可 行 的 方 法, 在 比 2n 小 很 多 时 间 内 找 到 x, 保 证 H( k‖ x) = y 成 立, 那 么 我 们 称 哈 希 函 数 H 为 谜 题 友 好。
涉及知识点:安 全 哈 希 算 法( Secure Hash Algorithm 256, 简 称 SHA-256)。只 要 我 们 能 建 立 一 个 用 于 固 定 长 度 输 入 的 哈 希 函 数, 然 后 通 过 一 般 方 法, 就 可 以 将 接 受 固 定 长 度 的 哈 希 函 数 转 化 为 可 接 受 任 意 长 度 输 入 的 哈 希 函 数, 我 们 称 这 个 转 换 过 程 为 MD( Merkle-Damgard) 变 换。这 种 基 础 型, 可 用 于 固 定 长 度, 具 备 碰 撞 阻 力 的 哈 希 函 数 被 称 为 是 压 缩 函 数( compression function)

SHA-256哈希函数简化图
    应用:搜 索 谜 题。谜 题 友 好 只 在 比 特 币 采 矿 中 具 有 重 要 性。

1.2 哈希指针及数据结构
哈 希 指 针 是 一 个 指 向 数 据 存 储 位 置 及 其 位 置 数 据 的 哈 希 值 的 指 针。 一 个 普 通 的 指 针 可 以 告 诉 你 数 据 存 储 的 位 置, 哈 希 指 针 不 但 可 以 告 诉 你 数 据 存 储 的 位 置, 并 且 还 可 以 给 你 一 种方 式, 让 你 验 证 数 据 没 有 被 篡 改 过。
(一)、如 图 所 示, 我 们 通 过 哈 希 指 针 构 建 一 个 链 表, 我 们 将 这 个 数 据 结 构 称 为 区 块 链( block chain)。

区 块 链

(1)、区 块 链 的 一 个 应 用 就 是“ 防 篡 改 日 志”。 也 就 是 说, 我 们 要 建 立 一 个 存 储 很 多 数 据 的 日 志 数 据 结 构, 使 我 们 能 将 数 据 附 加 到 日 志 的 末 尾。 但 是 如 果 有 人 篡 改 日 志 前 面 的 数 据, 我 们 可 以 检 测 到。
知识点:链 表 头 部 的 哈 希 指 针 被 称 作 创 世 区 块( genesis block)。
此应用的实现:锁定创世区块(why this can do that?)

(二)、梅 克 尔 树。使 用 哈 希 指 针 的 二 叉 树 也 叫 作 梅 克 尔 树( Merkle trees)


梅 克 尔 树

(三)、隶 属 证 明


隶 属 证 明

(四)、非 隶 属 证 明
还没看懂?????????

1.3 数 字 签 名
与手写签名一样,我们对于数字签名有两个特性需求:
(1)只有我们自己可以制作签名,但是任何人都可以看到并验证其有效性。
(2)一个签名只与一个文件有联系
数字签名有三个算法
(1)(sk, pk) := generateKeys( keysize) generateKeys 方 法 把 keysize 作 为 输 入, 来 产 生 一 对 公 钥 和 私 钥。
(2)sig: = sign( sk, message) 签 名 过 程 是 把 一 段 消 息 和 私 钥 作 为 一 个 输 入, 对 于 消 息 输 出 是 签 名。
(3)isValid: = verify( pk, message, sig) 验 证 过 程 是 通 过 把 一 段 消 息 和 签 名 消 息 与 公 钥 作 为 输 入,
此时需要要求以下两个性质有效,1.有效签名可以验证。2.签名不可伪造

比特币使用的数字签名算法是:椭 圆 曲 线 数 字 签 名 算 法( ECDSA)。

1.4 公 钥 即 身 份
人们可以随意的生成新的身份,即公钥,其实地址就是公钥的哈希值。区块链去中心化的身份管理,保证了人们可以隐藏自己的身份,可以随意产生新的身份,但是人们可以根据一个身份的行为推断出这个身份的真实身份。

1.5 两 种 简 单 的 加 密 货 币
1、第 一 个 是 高 飞 币( GoofyCoin, 此 币 的 创 造 者 叫 高 飞),
缺陷:双重支付
2、第二个是 财 奴 币( ScroogeCoin)。
财奴币有两种交易:(1)一为造币交易(2)二为付币交易
缺陷:中心化,即“财奴”权利过大,人们无法接受有中心化机构的数字加密货币

上一篇下一篇

猜你喜欢

热点阅读