比特币需要账户吗?一位开发人员这样认为,他想出了办法

比特币不使用典型的“账户”。相反,每次付款时,资金都被发送到唯一的“交易输出”。在这样的输出中,比特币地址可能会被重用,在这种情况下,该地址会有点用处。就像一个比特币帐户。然而,以这种方式重用地址使得将不同的硬币和交易链接到同一用户变得微不足道,这对于隐私是可怕的。相反,鼓励比特币用户为每次收款生成一个新地址。

尽管是保护隐私的最佳做法,但西班牙开发商JoséFemeníasCañuelo认为这并非完全用户友好。

Cañuelo告诉《比特币杂志》:“我们在某种程度上已经习惯了比特币付款,但这确实是一种暴行。” “这就像使用不带域名的互联网,仅依赖IP地址一样,只有更糟糕的是,因为加密货币地址更长,更丑陋并且不断变化。”

为了解决这个问题,在过去的一年中,开发人员想出了如何在比特币之上建立账户系统的方法。 Femenías在一份新的白皮书中对该想法进行了详尽的详细介绍,现在提出了他的第2层协议:Easypaysy。

西班牙人在保留比特币最有价值的属性(例如隐私和自我主权(无需依赖托管人))的同时,相信他的提议将极大地改善比特币用户体验:它将实现不可抵赖性,重复性付款等等。

Easypaysy比特币账户

作为费梅尼亚斯提议的重要内容,Easypaysy不会依赖任何外部来源。设置账户以及使用账户均发生在比特币区块链本身上。

这是可能的,因为使用特殊交易创建了帐户。此事务具有一个输入(事务的“发送”一半),其中包括两个(两个)多重签名(multisig)地址。这意味着将显示两个公钥,以签署交易。事务还具有一个输出(“接收”一半),即OP_RETURN输出。在这种情况下,输出实际上没有收到任何资金;它只包含一点数据。

输入中使用的两个公共密钥属于也创建了交易的帐户所有者,并且两个密钥都具有功能。第一个公用密钥称为“身份密钥”,本质上是帐户持有人的数字身份。想要私下与他通信的任何人都必须使用此公共密钥来加密货币消息。第二个公共密钥称为“价值密钥”,用于接收付款。

有两个不同的公用密钥,而不是一个,因为值密钥比身份密钥更有价值:后者用于消息,前者用于金钱。 Femenías解释说:“身份密钥必须是'online'。” “这使它容易受到漏洞攻击,就像在线钱包比离线钱包更容易暴露一样。将“价值”密钥保留在冷存储中,而将“身份”密钥用于更积极地进行通信可能是明智的。”

然后,输出中的OP_RETURN文本也可以提供功能。这是一个小的JSON文档(一种机器可读的数据格式),称为“集合描述符”。此文档包含有关帐户的信息。具体来说,它详细说明了帐户所有者愿意接受的付款类型以及付款方式。 (实际上,Femenías的提案支持各种付款方式;稍后会对此进行更多介绍。)

两个公共密钥和集合点描述符是帐户需要包含的所有信息。起草这项特殊的帐户创建交易时,会增加费用(这样,multisig地址必须已经获得了最低限度的资金),并将其广播到比特币网络以包含在一个区块中。

Easypaysy比特币帐户ID

现在人们需要能够找到该帐户。

这就是费梅尼亚斯(Femenías)提出他的建议的妙招之一。一旦交易被包含在一个区块中,该账户将根据其在区块链中的位置自动分配一个账户ID。具体而言,帐户ID由包含交易的确切区块以及该区块中交易的位置组成。这与区块链标识符和校验和结合在一起。

像这样:blockchain@block.transaction/checksum。

让我们逐步介绍一个随机的例子。

假设我们正在使用比特币。那么,区块链标识符为“ btc”。

假设交易包含在块543,847中。 (这是一个真正的比特币区块,于2018年10月开采-但这并不重要;我们目前正在做出一些弥补。)

假设交易是该区块中的第636个交易。 (同样,该交易确实存在,但我们只是在这里做一些事情;无需查找实际交易。)

最后,校验和是提高安全性的密码技巧。

费梅尼亚斯说:“通过对三项进行散列来提取,其中包括账户的区块的哈希,该区块的Merkle根以及账户交易本身的哈希。因此,如果有人试图向您发送不良帐户数据,则可以轻松地检测到它。”

在我们的示例中,校验和为577。

因此,包含在比特币区块号543,847中的第636次交易将产生帐户ID:btc@543847.636/577。更具体地说,这将是“规范ID”,因为块,事务和校验和以数字显示。

为了使其更加实用,该规范ID btc@543847.636/577也可以表示为“助记符ID”。利用BIP 39字格式(用于比特币钱包种子),可以转换帐户ID中的数字。变成几个单词(或单词组合)。这对于人类来说应该更容易记住。

此示例的帐户ID中的数字可以分为三个部分。

543847 =取消思想

636 =展览

577 =运动

因此,此示例中的助记符ID为:btc@cancel-mind.exhibit/motion。

最后,Easypaysy白皮书还提出了“域名ID”,这取决于域名系统(DNS)。简而言之,此类ID将包括实际域名,区块链标识符和校验和,并通过DNS系统将其链接到帐户ID。例如,域ID如下所示:btc@bitcoinmagazine.com/561。

这些类型的ID将依赖于外部源(DNS),并且会花费金钱和维护成本。费梅尼亚斯(Femenías)预计,它们可能只会对商业聚会感兴趣。

付款方式

因此,我们有一个帐户和一个帐户ID。现在,有人(我们称其为“付款人”)想要支付我们帐户的所有者,我们将其称为“收款人”。付款人具有收款人的助记符ID,因为收款人将其交给了他。 (该帐户ID可以以任何形式与任何人共享,例如电子邮件地址或电话号码。)

要付款,付款人的第一步是将助记符ID转换回规范ID。这一步很简单。使用BIP 39格式,付款人只需将助记符ID中的单词转换回数字,最后得到规范ID:btc@543847.636/577。

有了规范的ID,付款人可以使用校验和来确保区块高度和交易号匹配。严格来说,这不是必须的,但它可以作为一项额外检查,以确保帐户中没有错字,或者可以防止某人恶意交出外观相似的帐户。

无论哪种方式,付款人现在都知道在哪里可以找到帐户:这是第543,847项中的第636次交易。所以他查了一下。

然后,此事务包括Rendezvous描述符:OP_RETURN输出中的JSON文档。该集合描述符描述了帐户愿意接收的付款类型以及付款方式。这可以是协议支持的所有类型,也可以是它们的任何选择。

在收款人接受的付款类型中,付款人选择自己喜欢的付款方式。做完了

付款方式

那么哪些付款方式是可能的? Femenías的协议包括四种付款类型。

0型

第一种付款类型(类型0)是最简单的类型,但对于隐私而言却是最差的一种。类型0付款基本上只是对Value键的付款,因此,涉及重复使用相应的地址,就像今天的许多捐赠地址一样。 Femenías实际上不鼓励使用这种类型,但他仍然希望将其包括在协议中,作为真正想使用它的人的选择。

类型1

第二种付款类型-类型1-需要交互。对于这种类型,付款人联系收款人,要求一个新的比特币地址。 Easypaysy协议在联系方式上非常灵活。它可以通过电子邮件,网页,聊天应用程序或其他方式进行。

提供地址后(例如通过电子邮件说),收款人还使用其身份密钥在地址上签名。这样可以确认付款人地址确实是收款人的地址,而不是属于黑客的地址,例如,该地址可以访问收款人的电子邮件帐户。

2型

第三种付款类型-类型2-不需要交互。类型2付款类似于以前用于隐身地址的技巧,使付款人可以为收款人生成一个新的比特币地址,收款人(并且只有收款人)可以从中使用该地址。

为此,付款人需要生成一次性使用的公共密钥对。使用此密钥对的私钥,结合收款人的Value密钥,付款人会生成一个新的公钥和相应的比特币地址。付款人将资金发送到这个新地址,并且-重要的是-将一次性使用的公钥添加到与OP_RETURN输出相同的交易中。

有趣的是,收款人可以结合使用此一次性使用的公钥和其Value密钥来生成与该新公钥相对应的新私钥,从而生成与之对应的比特币地址。换句话说,如果收款人获悉一次性使用的公钥,则他(而且只有他)可以从新的比特币地址上花费资金。

要了解一次性公用密钥,付款人会向收款人通知交易,或者收款人只需使用OP_RETURN输出检查所有新的比特币交易。对于每个OP_RETURN输出,他都会检查它是否是可与自己的私人Value密钥结合使用的公钥,以花费该交易中包含的资金。通常情况并非如此。但是在这种情况下,他知道自己已经获得报酬。

(要详细了解其工作原理,请参阅本文以了解隐身地址和可重复使用的付款代码。)

类型3

第四种付款类型(类型3)类似于第二种类型。但是,这一次,OP_RETURN输出必须以标识符“ EP”开头。这使收款人更容易发现它们,但是收款人的确要花一些额外的费用。

比特币账户的好处

作为第二层提案,Femenías的帐户系统不需要对比特币协议进行任何更改,也不需要整个行业的共识。各个钱包可以在明天采用该提议,然后用户可以立即使用它。

Femenías当然认为,这将极大地有利于比特币的可用性,为该协议开辟了全新的潜力。

Femenías说:“其中不可否认性是一个大问题。” “比方说,您去了兰博基尼经销商那里购买新车。在您同意价格后,经销商会向您显示QR码,并告诉您将付款发送到该地址。所以你也是。但是第二天,交易商的会计师告诉您他们仍在等待付款。您如何证明自己已付款?由于比特币地址是假名,因此您无法证明您已将钱汇给了兰博基尼经销商。”

使用Femenías的帐户系统,这将不再是风险:付款人始终可以向特定帐户提供付款证明。对于类型0付款,这是显而易见的;款项已汇入该帐户的公开可见的Value键。由于提供的比特币地址已使用收款人的身份密钥签名,因此类型1的付款也很容易证明。但是,即使对于类型2和类型3的付款,付款人也可以证明收款人确实已经付款:一次性专用私钥可以加密货币地证明收款人拥有识别交易为他并计算所需的私钥所需的所有信息。让他花钱。

另一个好处是,Femenías的帐户系统将使定期付款变得更加可行:考虑到同一实体的租金,订阅费或其他定期交易。可以对电子钱包软件进行编程,以接受来自特定帐户的付款请求,每个期间最多可以支付一定的金额。 (例如,房东的帐户每月最多可以收取0.1比特币的费用,)

此外,对于商家来说,返还资金要容易得多。例如,当某人进行购买但商人后来发现所订购的产品缺货时,这可能会很有用。使用帐户系统,可以轻松将钱退还给客户,而无需要求特定的退货地址。

最后,Femenías的帐户系统将首次为比特币用户提供一个区块链身份。

“例如,这可能意味着,当您登录网站时,您使用Easypaysy ID,而不是要求输入密码,该网站会挑战您使用私钥签名消息,”Femenías建议。 “即使该网站被黑客入侵,您也总是安全的,因为它们不存储任何密码。”

缺点

话虽这么说,Femenías帐户系统最强大的功能之一,也可能是其最大的缺点:通过将帐户数据嵌入到比特币区块链中,它完全依赖于比特币区块链。但是,块空间不足,可伸缩性是一个挑战。

为了最大程度地减少此问题,Femenías在其白皮书中建议也可以批量开设帐户:一笔交易可以包括数百个甚至数千个帐户,以供许多用户使用。在这种情况下,OP_RETURN数据将指向所有帐户数据的外部来源,可能是网站。 OP_RETURN还将包括所有此帐户数据的Merkle根,因此付款人可以对照Merkle根检查帐户数据。尽管此解决方案取决于外部资源(例如网站),但至少用户可以确保数据不会被篡改。

另一种解决方案是使用其他区块链(例如Litecoin的)来开设帐户。在这种情况下,将向引用莱特币的帐户添加索引号,或者使用任何区块链。虽然对于Litecoin而言,该解决方案可以说是足够安全的,但它确实具有明显的缺点,那就是比特币用户在一定程度上会依赖于另一种加密货币。

有关更多信息和详细信息,请参见Easypaysy白皮书。

资讯来源:由0x资讯编译自BITCOINMAGAZINE。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢