拜占庭

作者: lisoleg | 来源:发表于2019-02-01 18:07 被阅读0次

    区块链应用接口(Application BlockChain Interface,ABCI)允许应用的拜占庭容错复制可以由任意一种编程语言编写。

      Tendermint Core (“共识引擎”)通过一个满足 ABCI 标准的 socket 协议与应用进行交流。

      举个大家比较熟悉的例子,比特币。比特币是一个加密货币区块链,其中的每个节点维护了一个完全经过审计的 UTXO 数据库。如果有人想要在 ABCI 之上创建一个类似比特币的系统,Tendermint Core 将会负责:

    在节点间共享区块和交易

    建立交易(区块链)的标准/不可变顺序

    而应用将会负责:

    维护 UTXO 数据库

    验证交易的加密签名

    阻止花费尚未存在的交易

    允许客户端查询 UTXO 数据库

    ---------------------

    作者:逆月林

    来源:CSDN

    原文:https://blog.csdn.net/niyuelin1990/article/details/80537329

    版权声明:本文为博主原创文章,转载请附上博文链接!

    区块链想解决的是同一个问题,但是并没有严格实现正确的 consensus,只是借助密码学、Proof of work 等技巧在每个参与者 足够理性、想让自己利益最大化、并且掌握算力不到 50% 的情况下,依概率收敛到 consensus。

    实现拜占庭容错的数据库性能并不差。其实实现拜占庭容错的数据库存储引擎性能在 happy path 上并不比容错宕机情况的 Paxos、Raft 之类的慢多少。至于 failure 发生的时候,你机器都被黑了不要想这些有的没得了。。。没人实现的主要原因是真的没啥用,拜占庭错误一般认为是被攻击了,很少会有集群被黑且只有 1/3 的机器被黑的场景。

    经典的拜占庭容错数据库(非区块链)的场景还是很有用的,主要用在联盟链的场景。可以在多家企业之间达成联盟防止任何一家篡改数据。

    作者:纯纯

    链接:https://www.zhihu.com/question/23167269/answer/429936053

    来源:知乎

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:拜占庭

          本文链接:https://www.haomeiwen.com/subject/qzbdsqtx.html