一些重要概念
地址
比特币地址(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串字符和数字组成,以阿拉伯数字“1”开头。就像别人向你的email地址发送电子邮件一样,他可以通过你的比特币地址向你发送比特币。
比特币
“比特币”既可以指这种虚拟货币单位,也指比特币网络或者网络节点使用的比特币软件。
区块
一个区块就是若干交易数据的集合,它会被标记上时间戳和之前一个区块的独特标记。区块头经过哈希运算后会生成一份工作量证明,从而验证区块中的交易。有效的区块经过全网络的共识后会被追加到主区块链中。
区块链
区块链是一串通过验证的区块,当中的每一个区块都与上一个相连,一直连到创世区块。
确认
当一项交易被区块收录时,我们可以说它有一次确认。矿工们在此区块之后每再产生一个区块,此项交易的确认数就再加一。当确认数达到六及以上时,通常认为这笔交易比较安全并难以逆转。
私钥
用来解锁对应(钱包)地址的一串字符,例如5J76sF8L5jTtzE96r66Sf8cka9y44wdpJjMwCxR3tzLh3ibVPxh。
比特币隐含在收发币的转账记录中。用户只要有证明其控制权的密钥,用密钥解锁,就可以发送比特币。这些密钥通常存储在计算机的数字钱包里。拥有密钥是使用比特币的唯一条件,这让控制权完全掌握在每个人手中。
比特币是一个分布式的点对点网络系统。因此没有“中央”服务器,也没有中央发行机构。
比特币由这些构成:
▷ 一个去中心化的点对点网络(比特币协议)
▷ 一个公共的交易账簿(区块链)
▷ 一个去中心化的数学的和确定性的货币发行(分布式挖矿)
▷ 一个去中心化的交易验证系统(交易脚本)
比特币钱包必须由一个密码或密令来保护。有许多试图破解弱密码的潜在威胁,所以要注意谨慎设置一个不会被轻易破解的密码。密码应使用大小写字母、数字和符号的组合,避免出现生日、球队名字等个人信息。避免使用任何能在字典里轻易找到的词语,不管这个词语是什么语言的。如果条件允许,可以利用密码生成器生成一个完全随机的12位以上的密码。请记住:比特币是一种随时能被转移到世界其他任何地方的货币。如果不加以妥善保管,会很容易被偷走。
你可以任意地创建新的比特币地址,这些地址都能成功地将资金转到你的钱包。钱包是多个地址和解锁资金密钥的简单集合。每笔交易你都可以使用不同的地址,这有利于提高隐私的安全性。用户可创建地址的数量几乎不受限制。
交易被包在一起放进区块中时需要极大的计算量来证明,但只需少量计算就能验证它们已被证明。
挖矿在比特币系统中起着两个作用:
▷ 挖矿在构建区块时会创造新的比特币,和一个中央银行印发新的纸币很类似。每个区块创造的比特币数量是固定的,随时间会渐渐减少。
▷ 挖矿创建信任。挖矿确保只有在包含交易的区块上贡献了足够的计算量后,这些交易才被确认。区块越多,花费的计算量越大,意味着更多的信任。
新交易不断地从用户钱包和应用流入比特币网络。当比特币网络上的节点看到这些交易时,会先将它们放到各自节点维护的一个临时的未经验证的交易池中。当矿工构建一个新区块时,会将这些交易从这个交易池中拿出来放到这个新区块中,然后通过尝试解决一个非常困难的问题(也叫工作量证明)以证明这个新区块的合法性。
这些交易被加进新区块时,以交易费用高的优先以及其它的一些规则进行排序。
每笔比特币交易都需要一个有效的签名才会被存储在区块链。只有有效的数字密钥才能产生有效的数字签名,因此拥有比特币的密钥副本就拥有了该帐户的比特币控制权。
支付比特币时,比特币的当前所有者需要在交易中提交其公钥和签名(每次交易的签名都不同,但均从同一个私钥生成)。比特币网络中的所有人都可以通过所提交的公钥和签名进行验证,并确认该交易是否有效,即确认支付者在该时刻对所交易的比特币拥有所有权。
在比特币交易中,私钥用于生成支付比特币所必需的签名以证明资金的所有权。私钥必须始终保持机密,因为一旦被泄露给第三方,相当于该私钥保护之下的比特币也拱手相让了。私钥还必须进行备份,以防意外丢失,因为私钥一旦丢失就难以复原,其所保护的比特币也将永远丢失。私钥就是一个随机选出的数字而已。
安全
只有拥有解锁比特币的密钥才相当于持有现金或一块贵重金属。你可能会将密钥丢失,会放错地方,会被盗或者不小心错支了数额。
比特币的核心准则是去中心化,这一点对安全性具有重要意义。在中心化的模式下,例如传统的银行或支付网络,需要依赖于访问控制和审查制度将不良行为者拒之门外。相比之下,比特币这样的去中心化系统则将责任和控制权都移交给了用户。由于网络的安全性是基于工作量证明而非访问控制,比特币网络可以对所有人开放,也无需对比特币流量进行加密。
在一个传统的支付网络中,例如信用卡系统,支付是终端开放式的,因为它包含了用户的个人标识(信用卡号)。在初次支付后,任何能获得该标识的人都可以从所有者那里反复“提取”资金。因此,该支付网络必须采取端对端加密的方式,以确保没有窃听者或中间人可以在资金流通或存储过程中将交易数据截获。如果坏人获得该系统的控制权,他将能破获破获当前的的交易和支付令牌,他还可以随意动用这笔资金。更糟的是,当客户数据被泄露时,顾客的个人身份信息将被盗窃者们一览无余。客户这时必须立即采取措施,以防失窃帐户被盗窃者用于欺诈。
比特币则截然不同,一笔比特币交易只授权向指定接收方发送一个指定数额,并且不能被修改或伪造。它不会透露任何个人信息,例如当事人的身份,也不能用于权限外的支付。因此,比特币的支付网络并不需要加密或防窃听保护。事实上,你可以在任何公开的网络上广播比特币交易的数据,例如在不安全的WiFi或蓝牙网络上公开传播比特币交易的数据,这对安全性没有任何影响。
比特币的去中心化安全模型很大程度上将权力移交到用户手上,随之而来的是用户们保管好密钥的责任。这对于大多数用户来说并非一件易事,特别是在像智能手机或笔记本电脑这种能能时刻联网的通用设备上。虽然比特币的去中心化模型避免了常见的信用卡盗用等情况,但很多用户由于无法保管好密钥从而被黑客攻击。
最终,唯一可确信无疑的是一条完全有效的区块链。
无数个黑客攻击比特币交易所的例子都是因为轻视了这一点,他们的安全体系和设计甚至无法通过基本的审查。这种中心化的实现方式将信任置于比特币区块链之外的诸多组件之上,例如热钱包,中心化的账本数据库,简易加密的密钥,以及许多类似的方案。(早期的比特币交易所将所有用户的资金集中在一个包含着私钥的“热钱包”里,并存放在服务器上。这样的设计夺取了用户的掌控权,并将密钥集中到单个系统里。)
硬件加密,密钥存储和硬件钱包,多重签名技术和数字托管
将比特币离线保存被称为冷存储,它是最有效的安全技术之一。冷存储系统是在一个离线系统(一个从来没有连接过互联网的系统)上生成密钥,并离线存储到纸上或者 U 盘等电子媒介。
多重签名管理
当一个公司或个人持有大量比特币时,他们应该考虑采用多重签名的比特币地址。多重签名比特币地址需要多个签名才能支付,从而保证资金的安全。多重签名的密钥应存储在多个不同的地方,并由不同的人掌控。打个比方,在企业环境中,密钥应该分别生成并由若干公司管理人员持有,以确保没有任何一个人可以独自占有资金。多重签名的地址也可以提供冗余,例如一个人持有多个密钥,并将它们分别存储在不同的地方。
比特币的去中心化共识由所有网络节点的4种独立过程相互作用而产生:
▷ 每个全节点依据综合标准对每个交易进行独立验证
▷ 通过完成工作量证明算法的验算,挖矿节点将交易记录独立打包进新区块,
▷ 每个节点独立的对新区块进行校验并组装进区块链
▷ 每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链