happypeter / bitcoin_basics

快乐新知比特币
http://happypeter.github.io/bitcoin_basics/
8 stars 3 forks source link

比特币问答

0004 交易过程的实时性还是很重要的,而比特币系统确认一个交易需要几十分钟,这个是否会造成比特币应用受阻?

这个的确是一个正在热议的问题,取决于观察角度的不同,大家的结论也是不太一样。

首先负面结论,过长的交易时间和过高的交易费用目前已经导致直接用比特币转账的形式买日常用品变得越来越不划算了。很多应用开发者,也因为这一点而倾向于以效率著称的 EOS 这样的环境来进行区块链的开发了。

我自己的观点比较偏正面。比特币发展早期的时候,EOS 作者 BM 曾经和中本聪本人有过一次关于性能提升争论。中文聪当时的态度是:交易速度设计成这样是有意为之,这个不算是问题。中本聪的潜台词是很明显的,就是任何任务都可以分层处理。虽然比特币很慢,但是上面通过搭建闪电网络就可以有效的提高性能。闪电网络的基本思路就是把多笔交易合并,然后再记录到比特币链上。这种方式的好处是,系统依然是去中心化的,坏处是,对于性能提升还是要受到底层比特币吞吐量的限制,不可能无限扩容。但是我个人认为,想要达成毫秒级的响应也依然是可能的,方式可以是在上层搭建类似于 EOS 那样的半中心化的区块链进行交易的处理,然后把最终处理结果保存到比特币链上。或者干脆依托于一个完全中心化的服务来完成交易担保,这样交易性能就完全不受比特币自身性能的限制了。

0003 在链规模小而且是初期的时候,51% 是有可能的,如何避免呢?

这个理解的确是正确的。规模小,意味着参与挖矿的机器少,所以如果有人花钱买到比其他所有人计算能力的总和都要大的一大堆机器,他就可以进行 51% 攻击了,这个是不可避免的。但是好消息是,越小的链,攻击它就越无利可图,所以遭受攻击恶意攻击的可能性其实是小的。而链越大,挖矿的人就越多,虽然恶意攻击的人动力足了,但是攻击的难度缺更大了,因为需要花的钱将会是天文数字。而哪怕有人的确有这么多的钱,那么对他利益最大化的事情也是遵守规则,因为这样他可以挖到币,获得丰厚的经济收益,而如果攻陷了系统,他什么也得不到了。

0002 我现在对工作量证明机制不是特别理解,如何证明自己的机器有计算能力呢?如何证明一个 PC 是链内的节点,而不是冒名顶替的呢?

工作量证明确实是一大套东西,网上争论也挺多,所以要慢慢学。首先说比特币是个开发网络,任何机器都有权进入网络,这里没有任何门槛的,所以也没有冒名顶替的必要。另外关于计算能力,没错工作量证明的生成过程就是一个计算能力的竞争过程,大家相当由于在拼命掷骰子,计算能力越快,相当于掷出的次数也就越多,也就意味着获取满足系统需要的那个数所所需要的时间就越短。所以也可以理解为是一个赛跑的过程,我们自己的机器是否有计算能力,去跟网络上其他机器比一比就知道了。当前的实际情况是,普通电脑的 CPU 已经不可能跟专业矿机的运算速度相匹敌了。

0001 USDT 是什么?

USDT 是一种加密币,跟美元,也就是 USD 有一比一的兑换关系。它的立意当然是比较明显了,就是有美元的价值,同时又可以像加密币一样方便的全球转账。但是,我疑心它最重要的作用可能不是这个,而是很多交易所用它来标注比特币价格,因为如果你用美元标注,可能就会有某种法律上的风险吧,这个是我的猜想。