想搞懂比特币?知道这几点就够了——比特币的最少必要知识

想搞懂比特币?知道这几点就够了——比特币的最少必要知识

现在大家都知道比特币的底层技术区块链本质上是一个通过分布式维护,实现不可篡改的数据库,但是要真正理解比特币,只知道这个显然不够,所以这里整理了比特币的最少必要知识(也就是最重要的几个点)供参考。

1.双重支付(双花问题)

说明:双重支付,顾名思义就是一笔钱支付了两次,这是支付系统绝不允许的,是支付系统必须解决的问题。如果一笔交易被网络上的大多数节点记录,这笔交易才是合法的,这样双重支付就变得不可能了。

解决问题:比特币其实就解决了防双花这一个问题,不过是用了一种去中心化的方式解决的,解决的方式结合了多种技术。

2.非对称加密

说明:公钥加密,只能用对应的私钥解密。公钥对所有人公开,私钥只有自己知道。

解决问题:这样就可以放心的公开传输用对方公钥加密后的信息,而不用担心信息被其他人窃取,因为只有他的私钥可以解密。

3.哈希算法

说明:数字世界有0和1组成,所以也叫比特世界。好的哈希算法可以保证网络里的所有文件都有唯一对应的哈希值。

解决问题:哈希算法解决区块信息快速编号和定位的问题,以及防篡改问题。因为一一对应,只要文件信息被篡改,哈希值就会完全不一样,因为区块链环环相扣,只要一个值变化,后续区块都会受影响。

4.数字签名

说明:数字签名是只有信息发送者才能产生的“签名”(其实是一串独有的字符串),因为只能通过发送者的私钥产生。

解决问题:非对称加密解决发送给谁的问题,数字签名解决是谁发送的问题。

5.P2P

说明:这个应该不用讲了,既然是分布式的数据库,自然需要多个节点来维护,"即使没有中心也能运行的"P2P技术是区块链的根基。

需要说明的是,现在微信、微博、还有一些社区这类互联网产品被认为是链接点对点的去中心化产品,还有支付宝,但这些都不算真正的去中心,都有一个第三方机构在提供中间服务,真正的去中心靠共识维持,动力来自底层节点。

6.工作量证明(POW)

说明:区块链需要很多节点来共同维护,这就需要有激励,挖矿的币和手续费就是激励,谁能拿到这些币,需要得到大家共同的认同,这就是共识机制,工作量证明是比特币的共识机制。

解决问题:共识机制解决了token分配的问题。因为工作量证明完全拼算力,所以攻破比特币系统只能靠极大的算力支持,虽然耗电,但是这也成了比特币的重要保护机制,保证了比特币的安全性。

7.UTXO(未花费的交易输出)

说明:比特币没有“余额”的概念,记录余额需要每次更新所有人的余额表,即便你的账户没有变动,这是为了防止双重支付。但是这会造成大量信息冗余,而UTXO只确认交易本身,需要的数据库小得多。

解决问题:比特币运行了9年多,全部交易记录才几百G,支付宝相同时间多交易记录至少几百个T了吧,普通节点根本无法维持。如果早期需要这么大的数据库,比特币是发展不起来这么多节点的,所以说UTXO是比特币的一个“必要”应该没有问题。

8.SPV(简单支付验证)

说明:如果确认每次交易都需要下载全部账本(几百G),那么效率有点太低了。矿工把一个区块所有交易信息的哈希值通过两两结合的方式浓缩成最后一个哈希值,形成一个树状结构,只需要顶部一个哈希值就包含了该区块链所有交易验证信息。

解决问题:只需要下载全部区块头,差不多40M,就能验证所有支付。

9.机制设计 vs 51%攻击

说明:理论上如果一个节点的算力达到51%(据说实际只需要超过30%)就能修改交易记录使自己受益,比如支付了100个比特币,然后自己操作抹掉这个交易,是100个比特币回到了自己的账上。其实已经有节点的算力可以发起51%攻击,那么为什么没这么做呢?

解决问题:我们假设你花了几百亿的资金获得了可以操控比特币网络的算力,然后你有两种选择:1.发起51%攻击,使比特币丧失信任价值归零;2.用算力去挖矿,赚取更多的利益。答案似乎很明显。所以,保护比特币的不是矿工,而是人性。中本聪设计的机制可以让所有强大的算力机构老老实实的按照他设计的路线执行。

区块链最难的其实不是技术问题,最难的是机制设计,如何让所有节点可以享受挖矿利益的同时,不会为了利益去作恶。

最后顺带一提,除了双花问题,还有一种隐性的双重支付,就是货币增发,如果一个人可以发行货币,就一定会增发,这是人性。所以比特币除了解决传统靠中心化机构才能解决的双重支付的问题,还解决了传统货币无法避免的通胀问题。


分享到:


相關文章: