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)进行许可,使用时请注明出处。


  • 相关阅读:
    Mongodb在window上启动
    java:JQuery(Ajax,JSON)
    SqlServer:SqlServer(sql,游标,定时作业,行转列,列转行,公用表达式递归,merge合并)
    java:WebService
    java:svn
    java:Echarts,POI
    java:LeakFilling(Other)
    java:activiti(工作流简介 )
    Linux:lvm磁盘分区,动态扩容
    java:dubbo
  • 原文地址:https://www.cnblogs.com/lianshuiwuyi/p/13576038.html
Copyright © 2011-2022 走看看