虽然智能合约可以独立运行,但它们也可以相互呼叫,就像任何传统程序中的程序和功能一样。例如,一个智能合约可能在其完成或执行过程中触发另一个智能合约。NFT区块链游戏系统开发
区块链的世界里也是如此,谁掌握了51%的话语权,谁就可以肆意更改自己的交易记录,发动“双花”攻击。不同的共识机制对于话语权的定义有所不同,在PoW中为算力,而在PoS中则是持有Token的数量。
去中心化、不可篡改,这些堂而皇之的名词从每一个人的嘴中蹦出来,仿佛区块链的安全性是不证自明的真理;自诩学识渊博者还会搬出“茴”字的四种写法,从SHA到ECC,听者无不叹服。区块链仿佛从诞生的一刻起就被视为固若金汤的良药。然而现实是残酷的,无论是比币还是以太坊,客的身影无处不在,数字货币被盗的新闻屡见报端。
不过在区块链中,仅仅有密钥是不够的,为了能够实现账户之间相互转账,还需要根据密钥生成公钥和钱包地址,上面所说的ECDSA就是从密钥生成公钥的算法。公钥,顾名思义,在向外转账时会被公开,那从公钥推理出私钥又有多难呢?
如果算法的实现不出纰漏的话,即便是最有效的攻击方法,其难度依然是指数级的。
但是,这并不意味着我们可以高枕无忧了。2014年底爆发了一批网络钱包失窃案件,究其原因,就是在随机数生成器的实现没有真正“随机”。如今,量子计算机的崛起带来了新的挑战,如果数千比特位量子计算机一旦问世,包括ECC在内的诸多算法都可能沦为虚设。