想知道更多区块链技术知识,请百度【链客区块链技术问答社区】
本文不是区块链的扫盲贴,适合略懂区块链,或者比特币的同学在聚会时谈论区块链,如何显得比别人更懂一点区块链底层的技术和未来的发展趋势,主要用于装逼,马上年底了,大家年会时拿走不谢。
入门水平:1、不要解释区块链是什么。什么解决信任的问题,实现价值互联网,去中心化这些字眼都太LOW了,任何一个区块链的老司机,不可能不知道这些个词。 2、现场推导一下比特币的TPS=6.7告诉别人,比特币的TPS(每秒交易量)不是受限于CPU处理能力,而是受限于块大小。一个块大小是1M字节,一笔交易平均不到300个字节(按260计算),出块时间10分钟,则TPS=1024*1024/260/600=6.7。然后充满忧伤的告诉对方,一个小时交易处理能力在4000笔左右,我曾经有一笔转比特币的手续费给的太低,导致2个星期后才被确认收到。 3、告诉别人,以太坊和比特币最大的不同在哪里。什么TPS,EVM虚拟机,智能合约,图灵完备,No,No.光知道这些不够,你一定要自问或者反问一句,为什么中本聪设计成UTXO,而以太坊采用平衡帐目?因为这是一个专业水平的问题,放在下一环节。 如果对方也是入门水平,则要拿出专业功力来: 4、解释一下Merkle树,顺带解释一下hash哈希简单的说,merkle树是一种计算机算法,用于完整性校验,最简单的方法就是对要校验的整个的数据文件做个哈希运算,把得到的哈希值公布在网上,这样我们把数据下载到手之后,再次运算一下哈希值,如果运算结果相等,就表示我们下载过程中文件没有任何的损坏。因为哈希的最大特点是,如果你的输入数据,稍微变了一点点,那么经过哈希运算,你得到的哈希值将会变得面目全非。你要真诚的告诉对方,Merkles树是现代计算机一个非常基础的算法,广泛用于文件系统,操作系统内存管理,大名鼎鼎的git,BT下载这些都大量用到了merkle树。 5、UTXO是什么?中本聪为什么要设计成这样?UTXO即未花费的交易,可以认为其就是比特币,并且比特币的区块链里记录的主要就是这个UTXO。一个UTXO主要包括输入,可能有多个输入来源,输出,也可能有多个输出交易。输入和输出的差额就是支付给矿工的费用。UTXO跟区块类似,也是一个个的串起来,不同之处是UTXO的来源或者父UTXO可以有多个。中本聪设计成这样的好处,让所有人操作的对象是UTXO,所有的UTXO是公开的,谁能够拥有或者动用其中一笔UTXO,必须由其输出来确认。因此巧妙的避免了普通银行帐户的所谓帐户的平衡帐目所带来的轧账、多帐户操作原子性等一系列的问题。正因为这个设计,比特币更象是黄金这样的贵金属,而且每一份UTXO都带有权属,被世界所公认,谁也无法篡改。 6、问题来了,UTXO既然这么高光,以太坊为什么抛弃了UTXO?以太坊采用了merkle-patria-tree,存储空间可以压缩10倍以上,这是它可以采用平衡帐目的技术基础。BUT,抛弃了UTXO,理由真的很充分吗?你可以告诉对方,以太坊2016年的第三次硬分叉,就是针对空帐号的攻击,被迫把区块链的数据清理了一次。在这里我不能简单的告诉你,这个做法是对的还是错的,因为,大神们对此都有不同的意见。 专业水平如果还镇不住别人,要拿出关门放狗,请alphago出来了:-) 7、手撕PoW,Casper,DPOS现场解释什么叫PoW?挖矿的基本原理是什么?为什么要这么设计。很想把答案贴在这里,但如果只能死记硬背,肯定震不住对方,请自行百度和Google,或者来跟路云区链的用户群里讨论,有一堆大神可以帮到你。 8、零确认交易风险是什么鬼?假设alice有1笔UTXO,现在想支付给bob,其可以设置手续费很少,导致交易1确认非常慢,在alice广播交易1的同时,其可以广播另一个交易2,来自于同一个UTXO,但交易输出地址不同,其付给矿工的手续费较高,因此交易2会先确认,并且如果网络上的结点先接受这个广播,就会导致交易1被拒绝。这就是利用了确认的时间差来做的,理论上的可能双花攻击。但要达到这一点很不容易,最好是有一个矿工节点来配合。双花的风险到底有多大?类似Bitpay的服务接受零确认交易是因为他们监控网络上的关键节点。一旦交易通过这些“矿工”,这笔交易无效的可能性很小。在30秒后进行双花的可能性没有了。这笔交易已经被大部分网络节点转播了。任何试图广播相同比特币的新交易将失败。进行双花的时间窗口很短。任何通过Bitpay付款处理的交易只需几秒后就可看作是安全的,可以接受的。而且,大部分交易进行双花的成本远大于它的收益。对小额交易进行双花并不是一个有利可图的事。1000美元以下的交易很可能是安全的。然而,等待30秒让交易转播出去是合理的。路云区链的高阶API将对零确认交易进行风险判断。 9、手撕闪电交易假设一笔交易影响alice, bob,理论上其他人是不关心这笔交易的,因此可以使用延迟广播的原理,来交易减少主链上的交易数量。与此同时,延迟广播还带来一个好处,交易双方可以一直使用这个通道进行后续交易,直至有一方决定关闭这个通道,最终交易状态广播至主链。此时需要能够解释隔离见证、RSMC、HTLC。