关于比特币区块链网络

关于比特币区块链网络

题外话

关于比特币,或者区块链,我了解是比较晚的,第一次接触到区块链这三个字是在11年左右,当时还在阿里上班,当时去听了一个facebook的「区块链」分享,后来了解下来,他们当时说的区块链并不是一个分布式账本,而是一个PC广告相关的业务,也不知道当时是刚好撞名了还是故意蹭的,反正当时了解下来不是很感冒。后来15-16年左右慢慢了解到一些相关概念,大致是了解区块链的分布式账本性质,并没有太多去深入研究。后来公司招了一些人,手上有一些币,一直在跟我们安利区块链的共识机制,我当时也是太年轻,感觉这玩意就是炒做而已,嗤之以鼻。直到近2年才比较系统的去了解这个东西。手上没有比特币,本文也不是为了鼓吹炒币,而是把自己理解的比特币区块链的一些东西分享处理,做个总结(肯定很多理解还是错的,可以评论交流)。

1. 关于区块链的安全性保证

主要从2方面进行,一是数学加密算法作为整个基底,而是通过链+算力证明把系统去中心化。
a)数学非对称加密解密算法保障权属关系:核心是椭圆曲线,只能单方向运算,无法逆向获得解

b)POW工作量证明,你产生一个区块,必须有工作量证明,而工作量证明的内容跟你区块的解题难度相关,而解题难度是通过共识约定的,任何其他的节点来承认你的区块有效的前提是通过一序列的验证,通过之后你就可以进入他的里。这些验证过程是比较简单且有效的,即使你有比当前比特币网络多出来10倍的算力,也必须通过工作量证明,如果出现51%攻击,一般只能攻击未来的交易,对于之前产生的交易,51%没有太多优势:因为之前所有的区块你都得重新计算工作量证明,而这个工作量证明在共识的约定下会迅速调整,你算力提高了,难度也会提升(当然也可以略过工作量难度的调节,只需要算好hash就行,但算hash也是挺费算力的),导致你的算力后面都被拖入泥潭,还是变成10分钟产生一个区块,意义不大。但是51%攻击对未来的链的控制是存在威胁的,理论上你可以只承认你产生的区块有效,因为你控制了大量的算力和节点,别人永远坳不过你。另一种情况,如果你掌握了超过50%的节点,把节点全都改成恶意节点,并只承认你这51%节点接受的区块和链(篡改验证程序,例如重写op_*verify的实现,把恶意的消费都认为验证通过),这种情况也只能保证你在控制的节点上有效,其他非恶意的节点无法验证通过,还是不会承认恶意节点的结果 —— 这种情况就导致了实际上的硬分叉,而分叉的结局是恶意节点因为不公正,不会被共识所接受,其币的价格也只能变成一张白纸(如果市场有人反应的话),这种情况下,等于做了无用功,没有一个攻击者会这么去干(没任何经济或者其他的利益)。

2. 关于共识
a)区块链的价值是保障上面的数据无法篡改,为互无信任的双方提供了零信任的交易环境。

b)去中心化,意味着所有的信任不依赖于单一中心化的节点,节点越分散越好。当然去中心化是相对的,不是绝对的,比特币社区依然一个巨大的中心点,开发者掌握了区块链本身的迭代权力。(其他区块链也一样)

c)区块链虽然明面上是一个状态机,但他的实现方式是无状态的,状态的更迭依赖于后续交易的写入,而不是更新或者删除

d)矿工是整个比特币的基础设施,通过挖矿能得到创币块和交易费来激励矿工,矿工越松散越好

e)挖矿基于总体矿工的算力,会自动调节挖矿难度,保障平均10分钟产生一个新的区块

f)挖到区块的第一个无输入的交易是创币区块,该区块有一定的utxo产出(每4年减半),该产出一般都会奖励给矿工的地址

3. 比特币
a)比特币是一种最小面额为1 satoshi的电子货币
b)每个币不能拆开使用,每次使用一定是全部花费,并通过找零的方式,得到另一个币(UTXO)
c)比特币没有余额这种状态,对于一个特定的比特币所有权地址,他的余额是通过这个地址关联的所有未花费的零碎的币(UTXO)汇总而成的

4. 比特币脚本(合约)
a)比特币脚本是一个简单的堆栈执行脚本,只有if-else判断机制,没有循环机制,稍微懂点计算机知识的人,估计半个小时就能入门开发了。大脑里完全可以安装一个比特币脚本执行引擎,因为真的很简单(参数入栈、遇到指令出栈计算、校验、对比,再入栈)

b)比特币脚本是故意设计成图灵不完备的,这为他提供了更高的安全性,不必和那些图灵完备的漏洞勾心斗角。同时图灵不完备意味着指令执行时效都是能提前预估且基本廉价的,所以比特币可以把矿工的费用关联到交易本身的数据量上。例如你用一堆的utxo去消费一定比用单一面值同等的utxo去消费成本更高。
b.1)如果比特币要支持图灵完备支持智能合约的功能是非常简单的,在P2SH类的脚本上,引入编译执行引擎(比如引入以太坊开源的evm,甚至都可以直接用以太坊的编程语言来写代码,这一切都是开源的)就够了,该地址可以是解释性的代码合约,也可以是编译后的字节码合约,取决于对合约执行性能的要求。

c)所谓的智能合约并不是大家以为的AI的智能,而是合约的执行是自动且强制(且相对客观)的。

5. 比特币的弊端
a)比特币的交易是写在区块上的,区块的大小以及产生速度限制了交易的性能。比特币目前的区块是限制在1MB,意味着每秒的交易最多不会超过10笔(实际上远没达到),所以目前来讲适合更大额度的交易,对于微支付(比如买杯咖啡)并不友好
b)由于脚本的图灵不完备,导致比特币无法开发出更灵活性的智能合约(只能说是双刃剑)

6. 比特币网络如何升级
a)提案:因为比特币网络本身是去中心化的,意味着没有一个中心化的负责人来负责对节点进行升级迭代,那么比特币是通过什么方式来升级呢? 通过去中心化的组织(DAO),提出比特币改进提案(Bitcoin Improve Proposal,简称BIP)。一个人如果想对比特币进行升级,必须先通过BIP,BIP都会公开在开源组织上,给公众审计。一般提出提案的前面,都会有相关的论文、白皮书来论述存在的问题以及改进方案,最后再落实到提案上面。公众审计如果没有提出太大的问题,一般核心开发人员会把相应功能开发,并公开代码给社区人做审计。最终形成共识,并进入几个测试网络的测试验证,最后上到主网络。 主网络的升级主要是挖矿节点的升级,矿工可以自愿选择要不要升级该功能。一般来说,一个功能能向前兼容,我们称之为软分叉。如果一个功能升级后对一些老的指令有不同的结果我们称之为硬分叉。一般来说,比特币主网络的功能都是通过软分叉来完成,及时后续的功能改变了一些指令,也会通过判断时间、区块链高度的方式,来保障前序指令的兼容性。 矿工也不会是无脑升级,而是通过判断新的升级对矿工自己本身是否有益,如果有益无害基本也都会选择升级。

b)分叉:那如果社区有一部分人坚决支持新的提案,一部分人坚决不支持怎么办?那就可能导致硬分叉。事实上,比特币历史上硬分叉也不少,分叉出来的新的链就如果是主流的大多数,就还是比特币本身。如果是小部分的分叉,他们就形成了一个新的币种,例如BCH和BSV,都是为了解决比特币网络存在的问题提出了一些硬分叉的方案,最终变成了新的币(价格和比特币无法相比,原因可以看下一节)。分叉对固有的比特币持有者也有好处,因为你持有的比突然分叉出来了另外一个币,而且不影响你原来的比的数量。比如你在BCH硬分叉出来之前持有1000个BTC,那么硬分叉之后,你同时持有了1000个BTC和1000个BCH。这里的好处不是绝对的,如果分叉之后,原来的币价大跌,新的币价格也不咋样,这种就是损失了,虽然能用的币变多了。

7. 比特币的市场价格
这是一个宗教问题,信哪个币更信哪个宗教差不多,没有实物锚点,所以价格波动一般都比较大。比特币历史上也硬分叉出来一些其他的币(BCH、BSV等),这些币理论上或多或少解决了比特币的一些缺点(BCH把区块的大小限制去掉了,可以提升大大交易的吞吐量,但对矿工的压力显然更大了;BSV声称自己才是依照中本聪的理念设计的,在BCH的基础上引入了智能合约的能力),但他的市场价格不意味着就很高,就类似基督教分裂出来天主教、东正教(无任何冒犯的意思,只是举例),各有各的信徒,只不过可能信基督教(或者其他教,这个我没统计过)的人更多,所以他成了最大的宗教之一。

8. 比特币的应用
a)IP认证:这类应用是最符合区块链本身的信任体系的,在线下提取一个ip权属的签名,并作为交易附属信息传送到区块链上。未来验证这个权属,只需要证明谁持有并在哪个时间点发布了该消息即可。

b)钱包:钱包一般包括utxo的汇总计算、支付转移、收款以及身份认证的功能 (也有支持匿名通信的,一般基于链下完成)

c)微支付渠道:因为比特币本身的交易性能问题,不太适用于微支付,所以很多组织在构建基于链下的微支付渠道。比特币网络本身依然作为认证网络和最终关闭渠道时的合约结算使用,而链下的交易通过多重签名的机制,可以创建合约、撤销合约、一个渠道可以聚合理论上无上限的微支付交易记录,最终在渠道关闭时再结算多方的余额。提升交易性能的同时也提供更高的交易匿名性。著名的是闪电网络,基于洋葱网络协议构建了一个链下的P2P网络,适合微支付的渠道创建、交易和关闭。

d)匿名通信:类似微支付渠道,基于链外构建了一个新的二层网络,这个网络只要满足去中心化建设即可,无需考虑矿工的问题,通过P2P的方式,让两个终端通信,而渠道的中间节点是对通信的发起人和接收人未知的,以达到匿名通信的目的。例如可以基于闪电网络,通信的时候发送一个小额支付给对方并附带通信内容,然后对方收到这个小额支付的时候解析其内部的消息,并撤销交易,这种甚至可以免费薅该网络的羊毛,实现免费的P2P匿名通信。(事实上,如果能实现完全的匿名的加密通信,付点费用给网络本身,很多用户也是愿意的)目前的Telegram、WhatsApp虽然声称端到端安全加密,但实际上他们作为一个中间商,你只能假设他们是不作恶的,如果他们作恶来获取信息,终端一点办法都没有。

9. 监管
a)其实比特币的监管能力的天生的,因为你找到一个地址,你就能把他历史上所有的交易记录都扒拉出来,无法删除。

b)但比特币的抗监管能力在于用户入网是无门槛的,无需真实的姓名、IP地址、身份证等信息(KYC),只需要通过密码学生成一些密钥,再通过这些密钥生成地址,就能存币或者交易了。

c)很多人认为加密货币会导致网络洗钱的猖獗,而实际上统计数据却是打脸。全世界每年的通过法定货币洗钱金额占全球GDP的2%-5%左右,而加密货币用于洗钱的金额,只占了加密货币交易金额(换算成美元)的不到1%。这当然也跟加密货币还没被所有的洗钱等犯罪团伙采纳(或者由于其匿名性,无法归结为洗钱活动)也有关系(但实际上法定货币也有很多情形的洗钱活动无法被跟踪到),但作为货币,本身就滋生洗钱等违法犯罪活动。如果按洗钱的金额来指控一个货币,那么最该取缔的应该是美元:)

d)目前有一些小国家采纳比特币作为法定货币,他们的央行也会斥资采购比特币用于稳定汇率;大部分的国家还是把比特币作为商品来看待,是商品就有价格,商品可以买卖,但价格完全靠市场调节,没有物价局干涉(这也是为什么价格波动很大,总有人被割韭菜的原因)。国内目前持有比特币并没有被认为是非法,个人与个人直接交易也不违法,但是有些人利用这玩意进行传销诈骗,就违法了。

以上,理解的不一定对,希望对部分人有帮助。

-EOF-

发表评论

Protected by WP Anti Spam

昵称

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

沙发空缺中,还不快抢~