• 比特币安全


    比特币安全

    1、比特币系统安全开发。

      ⼤多数开发者对中⼼化的安全模型很熟悉,并可能试图将中⼼化的模型⽤到借鉴⽐特币的应⽤中去,这将给⽐特币带来灭顶之灾。

      

      例如,许多早期的⽐特币交易所将所有⽤⼾的资⾦集中在⼀个包含着私钥的“热钱包”⾥,并存放在服务器上。这样的设计夺取了⽤⼾的掌控权,并将密钥集中到单个系统⾥。很多这样的系统都被⿊客攻破了,并给客⼾带来灾难性后果。

      另⼀个常⻅的错误是接受区块链离线交易,妄图减少交易费或加速交易处理速度。这种做法,再⼀次,⽤专制和集中的⽅式取代⽐特币的去中⼼化安全模型。当数据处于离线的区块链上的时候,保护不当的中⼼化账本⾥的资⾦可能会不知不觉被伪造、被挪⽤、被消耗。

      要想充分利⽤⽐特币特有的去中⼼化安全模型,你必须避免中⼼化架构的常⻅诱惑,因它最终将摧毁⽐特币的安全性。

    2、信任根源

      如果你的应⽤程序或明或暗地信赖于区块链以外的东西,就该引起重视,因为它可能会引⼊漏洞。

      ⼀个不错的⽅法评估你应⽤程序的安全体系:单独考量每个组件,设想该组件被完全攻破并被坏⼈掌控的场景。依次取出应⽤程序的每个组件,并评估它被攻破时对整体安全的影响。

      如果你的应⽤程序的安全性在该组件沦陷后⼤打折扣,那就说明你已经对这些组件过度信任了。⼀个没有漏洞的⽐特币应⽤程序应该只受限于⽐特币的共识机制,这意味着其安全体系的信任源于⽐特币最坚固的部分。

    3、用户最佳安全实践

      现代通⽤的操作系统并不是⼗分安全,亦不特别适合⽤来存储数字货币。我们的电脑通过⼀直连接的互联⽹⻓时间暴露在外,它们运⾏着成千上万第三⽅软件组件,这些软件往往可以不受约束地访问⽤⼾的⽂件。你电脑上安装的众多软件只要有⼀个恶意软件,就会威胁到你的⽂件,可窃取你钱包⾥的所有⽐特币。想要杜绝病毒和⽊⻢对电脑的威胁,⽤⼾要达到⼀定的计算机维护⽔平,只有⼩部分⼈能做到

      ⽐特币创造了具有内在价值的数字资产,它可以被窃取,并⽴即转移给他⼈⽽⽆法撤回。这让⿊客有了强烈的作案动机。

        我们已经看到信息安全领域取得了巨⼤创新,例如硬件加密钥存储硬件钱包多重签名技术数字托管

    1)比特币物理存储

      ⼀组打印在纸上的⽐特币密钥被称为“纸钱包”。

      我个⼈将⼤部分(99% 以上)的⽐特币存储在纸钱包上,并⽤ BIP0038 加密,复制了多份并锁在保险箱⾥

      将⽐特币离线保存被称为冷存储,它是最有效的安全技术之⼀。冷存储系统是在⼀个离线系统(⼀个从来没有连接过互联⽹的系统)上⽣成密钥,并离线存储到纸上或者 U 盘等电⼦媒介。

    2)硬件钱包

      不像容易受害的常⽤软件那样,硬件钱包只提供了有限的接⼝,从⽽可以给⾮专业⽤⼾提供近乎万⽆⼀失的安全等级。我预期将看到硬件钱包成为⽐特币储存的主要⽅式

    3)平衡风险

      保存太复杂,连自己都不记得。

      例,在2011年7⽉,⼀个著名的⽐特币认知教育项⽬损失了近7,000枚⽐特币。为了防⽌被盗窃,其主⼈曾之前采取了⼀系列复杂的操作去加密备份。结果他们不慎丢失了加密的密钥,使得备份变得毫⽆价值,⽩⽩失去了⼀⼤笔财富。如果你保护⽐特币的⽅式太过了,这好⽐于把钱藏在沙漠⾥,你可能不能再把它找回来了。

    4)分散风险

      审慎的⽤⼾应该只留⼀⼩部分(或许低于5%)的⽐特币在⼀个在线的或⼿机钱包,就像零⽤钱⼀样,其余的部分应该采⽤不同存储机制分散开来,诸如电脑钱包和离线(冷存储)钱包。

    5)多重签名管理。

      当⼀个公司或个⼈持有⼤量⽐特币时,他们应该考虑采⽤多重签名的⽐特币地址。多重签名⽐特币地址需要多个签名才能⽀付,从⽽保证资⾦的安全。多重签名的密钥应存储在多个不同的地⽅,并由不同的⼈掌控。打个⽐⽅,在企业环境中,密钥应该分别⽣成并由若⼲公司管理⼈员持有,以确保没有任何⼀个⼈可以独⾃占有资⾦。

      多重签名的地址也可以提供冗余,例如⼀个⼈持有多个密钥,并将它们分别存储在不同的地⽅。

    6)存活能力。

      在密钥持有者丧失⼯作能⼒或死亡的情况下,他们的密钥安全且不为他⼈所知。⽤⼾的家⼈⼏乎⽆法将该财产恢复。事实上,⽐特币⽤⼾的家⼈可能完全不知道这笔⽐特币资⾦的存在。

      如果你有很多的⽐特币,你应该考虑与⼀个值得信赖的亲属或律师分享解密的细节。⼀个更复杂的⽐特币⽣还计划,可以通过设置多重签名,做好遗产规划,并通过专⻔的“数字资产执⾏者”律师处理后事。

  • 相关阅读:
    慎用静态类static class
    20170617
    学习笔记之工厂模式-2017年1月11日23:00:53
    链表翻转
    面试被虐
    tips
    依赖注入那些事儿
    浅谈算法和数据结构(1):栈和队列
    猫都能学会的Unity3D Shader入门指南(一)
    SerializeField等Unity内的小用法
  • 原文地址:https://www.cnblogs.com/tekkaman/p/9980224.html
Copyright © 2020-2023  润新知