白莲协议简介

  • 白莲协议目前还没有完全的成型,但是已经有很多的新型的发明应用到这个伟大的协议中去。将为未来的WEB3提供基础设施。接下来我将介绍白莲协议中的几个特色:

    1. 轻量级

    是的,白莲协议是没有账本的,区块链账本在协议里面是不存在。原则上每个用户的账本就是一个独立的区块链,并且必须要由用户自己保存账本。这意味着1G内存的VPS就可以建立白莲协议的验证节点。

    2. 历史交易验证

    既然没有账本那么交易的时候怎么才能验证余额等信息呢?在白莲协议的账本中会有三组关键的数据:哈希高度,TX哈希值,哈希链。

    其中的哈希高度就是每次交易产生的一个整数这个整数肯定是大于前一次交易的数据的,这个整数就是101,102这类的连续的交易数据。
    其次就是TX哈希值,这个值代表每组交易的详细数据,TX哈希值是由:哈希高度+发送方+接收方+金额+交易前余额+交易后余额+币种,这就是TX哈希值的构建。也就是说一旦TX哈希被节点记录,你如果篡改数据,哈希值就对不上了。TX哈希是保证数据的真实性。

    哈希链就是保证数据的连贯性:第一条是根据第一条的TX哈希,产生的哈希链N1,第二条是根据第一条产生的N2=hash(哈希链N1) 以此类推。

    验证节点只要你提交最近的五条交易数据,即可验证你的交易数据的连续性是没有被篡改的。因此也就无法进行双花和修改余额,因为只要有修改,TX的哈希值就会变化。就会和验证节点记录的不一样。

    如此验证节点只要记录账户的哈希高度,哈希链,TX哈希等信息,即可验证一次最新交易的可靠性和真实性。这意味着用5美元一个月的1G内存的VPS服务器就可以完成整个白莲公链验证节点的建设。无需和ETH或者BTC一样消耗大量的基础节点的建设费用。无需采用昂贵的大型服务器,以及非常复杂的技术。同时这种验证机制也将使得交易TPS达到极为高的速度。

    3. 隐私保护

    白莲协议的隐私保护和门罗币或者ZCASH不太一样。但是也能达到类似的效果。假设A转账给B一百个币。白莲协议中的转账更像是发支付宝的口令红包。是通过合约来实现的。

    合约收到钱之后会根据:B地址+随机数,作为临时助记词生成一段密文,即:转账给B100个币。然后将密文hash 之后作为一个commitment 存入数据池。并且将commitment 和随机数发给A和B。

    A可以通过通讯软件发给B红包。内含一个Json 包含:合约+commitment+随机数。

    B也可以去区块链浏览器去搜索commitment然后提交自己的随机数签名。由于是B地址+随机数进行签名的。因此这个commitment只有B才可以领取。而且由于助记词里面是有B的地址的,因此只有B才能领取这笔钱,其他人无法领取。

    4. 账户联动设计

    隐私币的设计中最为诟病的commitment领取的问题。在白莲协议里面已经有一定的改善。就是可以设计代收账户,多签账户等复杂的账户结构。

    在A给B转账的过程中可以这么构建,假设B账户有B1账户作为代收货款的账户。B2,B3账户作为多签账户。

    那么当他把B1账户的私钥给节点的时候,可以通过节点自动化的代收货款。这个私钥仅仅用于收款,并不能付款,所以私钥泄漏出去都无所谓的。

    那么当有commitment收款出现的时候,节点会自动的用B1进行签名,更新B账户的独立区块链。

    而要支付的时候则需要B,B2,B3三个账户多签才可以支付。