zoukankan      html  css  js  c++  java
  • [比特币]比特币引发的思考

    Hash指针

    指针保存的是本地内存地址,只在本地计算机上才有意义,发送到其它计算机上就没有意义了。所谓的Hash指针只是一种形象的说法,实际系统中用到的时候只有Hash,没有指针。

    那么怎么才能找到前一个区块的内容呢?全节点一般是把这些区块存储在一个key-value的数据库中:key是区块的Hash,value就是区块的内容。一个常用的key-value数据库是level DB。区块链这种链表结构实际上是在level DB中用Hash值算出的。通过最后一个区块的Hash值,你可以通过level DB的查找出对应的的块,这个块中存储着前一个区块的Hash,通过这个Hash可以查到它对应的块,以此类推,一步一步往前找,最终能够把整个区块链都找出来。

    区块恋

    说明

    恋爱中的双方合买比特币,之后将私钥截断,各自保留一部分。之后如果两个人一直走下去,可以拼合私钥取出比特币;分手的话这些钱就永久锁在比特币网络中,永久保存在UTXO中。

    问题

    类似这种将私钥分段保存操作,会带来以下两个问题:

    • 一方丢失了一部分私钥,那这个私钥对应的比特币将永久丢失
    • 比特币的安全性是靠私钥的长度保证的,知道部分私钥后,计算出完整私钥的难度会大幅下降

    解决方案

    多重签名

    分布式共识

    严格来讲,比特币并没有取得严格的共识。比特币中达成的共识是随时都可能被推翻的,比如发生分叉攻击。


    声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。


  • 相关阅读:
    计算某一日期是在一年中第几周
    动态生成web表-asp.net table
    sql server 小技巧(7) 导出完整sql server 数据库成一个sql文件,包含表结构及数据
    循环取月的三位英语名 Jan Feb
    Python面向对象编程
    算法
    UDP Sockets in C#
    C++ 11
    GNU Make
    C++ 11
  • 原文地址:https://www.cnblogs.com/lianshuiwuyi/p/13576038.html
Copyright © 2011-2022 走看看