1.简介
首先比特币的地址是27位至34位的一个数字+英文大小写字符串,最多需要34个字节来存储,普通用户在实际使用中,往往都是靠复制粘贴,或者扫描二维码,这种形式的传播不利于用户的记忆和口头传播,你可以在web页面或者即时通讯软件上发送字符串,却很难通过口头来描述一个自己的比特币地址,犹如互联网发展初期用户只能靠ip地址来访问服务器一样不方便。本文描述了一种依托比特币现有资源而不需靠第三方支撑就能来完成一个六位数字解析成比特币地址的功能。
2.解析原理
现在的比特币区块链刻字情况
| | |
|
| |
| 南海永远属于中国South China Sea belongs to China-pc
| |
| LHQ BELIEVE IN THE DREAM WITH UNI
| |
| FOREVER HAPPY FAMILY OF YAN & WENTING & RICO
| |
| Welcome to 12.5 BTC blocks! BTCC & Bitcoin Forever!
| |
|
| |
|
| |
|
| |
| Mikael❤Crace From Here to Eternity 2016-07-09
| |
|
| |
以上内容摘取BTCC刻字服务网站真实性不敢保证,但是从这个刻字服务来看,可以简单的认为在比特币完全节点上420001 是可以解析成" Welcome to 12.5 BTC blocks! BTCC &Bitcoin Forever!" 字符串的。
宏观上来说,区块id相当于数据库的主键,coinbase刻字的内容相当于数据库的字符串数据。
那么假设有个几个矿池把刻字内容改成这样
我眼中的比特币区块链刻字情况
| | |
|
| |
| 1MdNxnGEcW4VjPieeyYuUF6uMcXvccAK2k
| |
| 1EDiHeXnde2gKnQ3i5Br4oTqZX3a4ivQsL
| |
| 1MdNxnGEcW4VjPieeyYuUF6uMcXvccAK2k
| |
| 1AZmUXn2pjYikm6umARqJXLkgmoRoidjuT
| |
| 1N9Zs1eb7B7oQkCuP3TqYtbk5hxsDhZNsJ
| |
| 13t9AHkmukXQRgGiBw8vWMTJNYSaWNzNQb
| |
那么对应的420154 这个数字就有意义了,他可以解析成1EDiHeXnde2gKnQ3i5Br4oTqZX3a4ivQsL这个地址,那么从某种角度来说 比特币地址就被压缩到了6位,这样是便于传播的。
2.1用户地址校验
有几个朋友提出比特币是单向的发送,地址输错很难回滚,假设每个6位数都靠这个解析出了不同的地址,那么用户一旦输错一位就会导致发送比特币错误且不可逆的错误。
这个问题我思考了一晚上,回忆了一下,哪怕是自己这么多年输入 6位的银行卡密码和6位数的手机短信验证码,也是大约有5%左右的出错率,所以添加一个校验字段很有必要,但是也不能脱裤子放屁的又在6位数字上面再加东西,结合了,银行汇款,电子邮箱等常规的用户体验设计,我觉得这个比特币短地址的功能至少要做成这样。
我眼中的比特币区块链刻字情况
| | |
|
| |
| escv@1MdNxnGEcW4VjPieeyYuUF6uMcXvccAK2k
| |
| 后排低沉的声音@1EDiHeXnde2gKnQ3i5Br4oTqZX3a4ivQsL
| |
| 币知道@1MdNxnGEcW4VjPieeyYuUF6uMcXvccAK2k
| |
| 穷逼网@1AZmUXn2pjYikm6umARqJXLkgmoRoidjuT
| |
| 软妹币@1N9Zs1eb7B7oQkCuP3TqYtbk5hxsDhZNsJ
| |
| 矿机@13t9AHkmukXQRgGiBw8vWMTJNYSaWNzNQb
| |
也就是再在地址前面多刻一个账户名字段,这样用户再输入比特币短号的时候可以查询到对应的用户名(相当于银行帐号和账户名的关系)
当然为了区分比特币地址跟邮箱地址的区别,和加深比特币爱好者的信仰,应该改成这样。
我眼中的比特币区块链刻字情况
| | |
|
| |
| escv ฿1MdNxnGEcW4VjPieeyYuUF6uMcXvccAK2k
| |
| 后排低沉的声音฿1EDiHeXnde2gKnQ3i5Br4oTqZX3a4ivQsL
| |
| 币知道฿1MdNxnGEcW4VjPieeyYuUF6uMcXvccAK2k
| |
| 穷逼网฿1AZmUXn2pjYikm6umARqJXLkgmoRoidjuT
| |
| 软妹币฿1N9Zs1eb7B7oQkCuP3TqYtbk5hxsDhZNsJ
| |
| 矿机฿13t9AHkmukXQRgGiBw8vWMTJNYSaWNzNQb
| |
具体的用户名是可以重名的,但是区块ID是唯一的,这样有一个好处,以前文章里面留的捐赠地址就可以通过区块链查询保证可信度,经常有人转载别人的文章后还把文章的捐款地址给替换成自己的。
具体的用户名字段长度是参考 国际惯例 24个字符以内还是另外,这个需要开发的时候再商讨
那么可以把比特币地址 简写成 后排低沉的声音฿420154
当然实际上 “฿” 这个符号 官方定义是 泰铢的意思
(我猜这可能也是泰国当年封杀比特币的原因之一吧,理论上来说泰国央行可以告中国的比特币交易所乱用他们的符号?)
但是具体再用什么符号 还是有待讨论的,还是向utf-8申请一个新的符号?这个我就不知道了
我本人觉得钱包地址就是ip地址,实际上私钥是可以给信任的钱包商托管的等同服务器托管, 如果做成这样的 比特币地址格式 后排低沉的声音฿420154
那么将会大大提高其用户体验,降低用户使用门槛,因为毕竟很多用户入门就是卡死在公钥是个什么鬼上面。。。
2.2比特币短地址的可编辑性,也就是可以替换地址
因为有朋友提到如果按照之前的思路,那么这个比特币短号就被绑定死了一个地址,而且这个地址无法替换,这样无法出售此地址,如果私钥被泄露了也并不好继续使用这个短号,针对这个问题我思考了一会,突然茅塞顿开。
这样的话对应的区块链高度就被映射成一个邮箱地址,那么只需要向这个邮箱发送一个特定格式的邮件,邮箱主人在针对这个特地格式的邮件做一个自动回复,就可以解析出一个地址
(可能现在我说的是钱包地址,但是协议扩展开来也可以是其他东西)
也就是说,对应区块ID将会被解析成一个靠特定邮箱来二次定向的地址
所以这样 这个比特币短号就不存在 不能编辑 被绑定的指定地址了
当然实现这个功能还需要特定邮箱提供商的服务支持最好
也有人说道这样比特币用户的隐私就没有了(隐私是相对的,再说了又不是人人都靠比特币交易毒品军火做坏事,还是应该有不需要这么强隐私的用户吧)
从某种角度来看,肯定有人说你这是脱裤子放屁,还是要靠第三方来解析。。
还不如直接建立个第三方的邮件解析比特币地址服务
感觉上是,但是也不是,要真这样做的话,邮箱地址已经被短号隐藏了。
也可以改成 区块链高度映射成域名,域名给一个特定的解析。。(好像域名只能解析成ip)
但是域名的用户门槛可能更高 这里暂不讨论。
3.开发
比特币挖矿模块里面添加一个对应数字区块准备要刻写的地址的功能函数,并且做好对应的配置文件数据结构。
在现有比特币内核里面添加一个短地址解析函数,实现对区块链高度id映射成对应区块链刻字内容的比特币完整地址的解析。
本次开发本着不影响其他原有功能的前提条件下,其他人想刻其他的东西我们也不管的。
3.1 C语言代码
代码部分老子不会,关我屁事。
4.激励
比特币基金会通过这项短地址解析功能之后,组织各大矿池,开启比特币短地址的竞价预售,价高的得到这个对应短地址,目测现在短地址只能从420XXX开头了,对应的利润支付给矿池和基金会来支撑其发展,具体运营方式可以参考ICANN 域名与地址管理机构,各国矿池代理各国的短地址预售,这样一举三得,比特币的使用门槛降低了,传播能力上升了,比特币产量减半后,这也算额外收入,而且比特币的区块链是一直挖下去的,基金会也可以获得很好的稳定支撑。
谁觉得可以帮忙翻译成英文或者先润色下的,都可以参加,到时候一起署名提交给基金会看看,或者内测一个BIP版本。
一流的企业做标准,二流的企业做品牌,三流的企业做产品, 我相信中国还是有一流企业的。 |