临时收集

拜占庭将军问题:

https://www.zhihu.com/question/23167269

离线的钱包就是冷钱包, 在线的钱包就是热钱包,

从安全性角度看:冷钱包>热钱包>平台 从便捷性看:平台>热钱包>冷钱包

bip32 = hd wallets, what they are how they work bip39 = specific type of mnemonic, and the process for turning it into a bip32 seed bip44 = a specific format of a bip32 wallet

区块链的每个参与者都保存一个账本,账本中的一页叫做一个“区块”(block)。账本中保存系统里每一笔交易的信息。通过类似于民主投票的方式,保证所有数据的一致性。只要大多数人是好的,就可以保证系统的正确运行。一个区块链系统是由一批分布(在全球)的节点组成的,其中每个节点都是一台自主的设备(计算机)。系统存在的目的是为了维护一个分布式的账本。这个账本是由一个个的数据区块(block)有序连接在一起形成的一个链条——区块链。系统中每一个节点都完整地保存整条区块链上所有的数据。因此,只要大多数节点是好的,任何异常、非法的行为都会立刻被发现并且纠正。

根据组成节点的类型,区块链系统可以分为: 公有链(public blockchains):节点分别属于众多不同的组织和个人。理论上讲,任何计算设备都可以自由加入系统。 私有链(private blockchains):所有节点属于同一个组织。只有获得管理员批准的计算设备才可以加入系统。 联盟链(consortium blockchains):节点属于有紧密联系的若干组织或个人。介乎于公有链与私有链之间,由一组管理员来共同协调管理。

区块链系统中每一个节点都完整地保存整条区块链上所有的数据。显然,每一个节点随时都可以自由地读取区块链上的数据。同样显然,不可能允许节点们同时去写区块链上的数据。任何时刻,只能有唯一一个写者。究竟谁有资格写数据?算力证明(Proof of Work)、

分叉与共识 只有提供了算力证明的节点才能获得写区块的权力。但是,如果两个甚至更多个节点几乎同时提供了算力证明,这就会导致不同节点分别写入不同的区块,从而造成区块链分叉。当区块链出现分叉时,使用如下方法在不同节点间取得共识:最长链法则:要求大家都尽量选取最长的那个分叉。如果有多个分叉都是最长,那么在其中随便选取一个在任意时刻,不同节点对于数据的认知都可能是不同的显然无法保证节点之间立刻取得共识但随着时间推移,节点对于“有年龄的数据”的认知趋于一致!

智能合约 金融合同的数字化、自动化实现。用分布在多方的代码来表示合同的内容。通过运行这些代码来自动执行合同。主流区块链系统普遍支持智能合约:比特币系统提供一个脚本语言,可以用来书写智能合约,但该功能是图灵不完全的。以太坊系统提供了图灵完全的智能合约功能区块链系统的分布性、无中心性为智能合约提供了绝佳的环境支撑。智能合约的强大功能为区块链系统提供了无穷的潜力。

区块链的密码学支撑

区块链系统在本质上是密码学的应用,依赖于一系列密码学工具的支持。例如,对于数据完整性(data integrity)的保护依赖于数字签名、Merkle树等来保障其真实性。数字签名:一长串0/1 。 • Alice对于任意文本都能产生 对应的签名; • Bob总可以验证签名的有效性。 • 敌方对于任意文本都不能伪 造对应的签名。 • Bob总可以检测出伪造。

在区块链系统中,一个区块通常包含上千个交易记录。为了保护数据完整性,对每一个交易记录做数字签名是非常低效的做法。常采用Merkle树技术来大大提高效率,采用Merkle树之后,每个区块只需要一个数字签名。但对于上千个交易记录中任何一个的篡改都可以被迅速检测找出。

优势: 去中心化 在创造性地去除被信任的第三方,转而依靠全体节点共识之后,系统各方面性能得到大幅度提升:用户控制力增强;数据质量提高;系统可靠性提高;系统生命期延长;透明性更好;

智能合约的使用 智能合约是区块链生命力的保障,去中心化的区块链环境恰好为智能合约提供了理想的土壤有了区块链,有了区块链支持的智能合约,就可以大规模地进行像高频交易(Highfrequency trading)这样的新兴金融业务。

潜在问题: 效率瓶颈 比特币使用的交易模式是UTXO,每个区块产生时间大约为10分钟,每秒的交易效率为7次;以太坊使用账户余额的交易模式 效 率 7tx/s 280tx/s 出块时间 10min 14s 普通人的耐心:几秒到几分钟

安全与隐私 保护用户隐私,支持匿名交易,严格监管,支持案件调查、追踪,防止对同一货币的再次使用 智能合约的强大功能是区块链系统的巨大优势,然而智能合约又含有众多严重的安全隐患。 编码状态机中的逻辑错误 不对等的激励(misaligned 调用栈bug

区块链是一种分布式的账本,其去中心化的思想带给我们一种颠覆性的新技术。区块链系统优势明显,但其在诸如安全隐私、效率等方面的潜在问题也不可忽视。

log entry for a single opcode looks like:

{
  "pc":      48,
  "op":      "DIV",
  "gasCost": 5,
  "gas":     64532,
  "depth":   1,
  "error":   null,
  "stack": [
    "00000000000000000000000000000000000000000000000000000000ffffffff",
    "0000000100000000000000000000000000000000000000000000000000000000",
    "2df07fbaabbe40e3244445af30759352e348ec8bebd4dd75467a9f29ec55d98d"
  ],
  "memory": [
    "0000000000000000000000000000000000000000000000000000000000000000",
    "0000000000000000000000000000000000000000000000000000000000000000",
    "0000000000000000000000000000000000000000000000000000000000000060"
  ],
  "storage": {
  }
}