昨天聊天有人用NEO往错误地址转账丢钱了

我的第一反应是这不可能

 

Neo使用的地址带有验证功能

最下面ARPP….G6ce这一串是个base58编码

把他解开就是17….151f7b5f这一串

红色部分才是真正使用的地址(scripthash),蓝色部分是验证值。

 

从理论上来说,你是无法随便敲一个地址就转账的,基本都是无效地址,验证值肯定是错的。

那么让我们先来试验一下

首先是NEOGUI

我往Aeyx……723v这个地址转账

我故意把中间输错一点

确定按钮灰掉了,说明neogui做了这个验证,没有问题。

 

然后是蓝鲸涛,我在蓝鲸涛故意输入了个错地址

居然还是打勾的,

我的一个NEO没了

(此BUG已经通知蓝鲸涛方面,很快就会修复,这个界面如果输入了错误地址,将会有提示,无法确认)

 

让我们去看看究竟发生了什么

根据理论这个不合法地址根本不可能在链上找到

我在链上找到了这笔交易

和我预计的一样,地址其实变了

 

我转到的错误地址是

ARPPoLhqsEuEAEeMUXsULEYm6qHys1G6cd

实际转到的地址是

ARPPoLhqsEuEAEeMUXsULEYm6qHys1G6ce

 

注意尾部,是不一样的

让我们再拿出这张图来分析,因为尾部数据是验证码。

如果不顾验证码暴力取出地址script_hash,再次生成地址字符串的时候,尾部验证码会不同.

 

也就是说:

如果你使用一个未验证过地址字符串的客户端,转向一个错误地址。

其实是不可能的。

是因为客户端的bug,实际上把你带到了一个另一个地址。

 

比如你向ARPPoLhqsEuEAEeMUXsULEYm6qHys1G6cd(无效地址)转账

实际会转到ARPPoLhqsEuEAEeMUXsULEYm6qHys1G6ce(有效地址)

 

这属于钱包客户端bug,我没有去测试所有的客户端,大家有兴趣可以去测试。

放心,一旦坐实这个bug,你找他们把你的NEO退回来就有理有据有节了。

最应该关注地址的尾巴,因为你不可能转向一个错误地址,他会把你带到一个相似地址。

如果往错误的NEO地址转账会发生什么的更多相关文章

  1. 通过AWS的DHCP自动获取的IP地址是否会发生改变?

    针对您的问题,分析如下:1.在一个VPC内,通过AWS的DHCP自动获取的IP地址,在如何情况下会发生改变?例如我把vpc的内所有100个ec2实例全部关闭,再全部重新打开,是否会发生IP地址变化的情 ...

  2. VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时

    之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...

  3. ATM-JAVA程序 //程序有5处相同错误,找不出原因 转账功能没有实现,修改密码来不及实现了

    package JCC;//信1705-3 20173681 靳晨晨import java.io.BufferedReader;import java.io.File;import java.io.F ...

  4. 虚拟机的ip地址为什么会发生变化

    因为虚拟机在NAT模式下由Vmware8虚拟网卡提供虚拟机的IP分配,网桥模式下由Vmware1来提供IP分配.它们都相当于 一个小型的DHCP服务器,除非改动虚拟机的网络连接方式,或动了虚拟网卡服务 ...

  5. aspcms逻辑错误导致后台地址泄露

    访问即可跳转后台地址: URL:http://www.xxx.org.cn/plug/oem/AspCms_OEMFun.asp 注入:plug/comment/commentList.asp?id= ...

  6. yii2:Url::toRoute 和 ActiveForm::begin action在二级目录生成地址错误

    yii2:Url::toRoute 和 ActiveForm::begin action在二级目录下生成地址错误. 正确地址: /www/super/web/wxreplay/edit-text?id ...

  7. IP地址与Mac地址绑定错误

    有个application,有时候可以正常访问,有时候又返回404错误,百思不得其解.刚开始以为是文件夹权限问题,折腾了好久. 后来没在服务器上monitor到包,所以猜想是到了错误的mac地址,用a ...

  8. jsp_设置错误页

    在各个常用的web站点中,当一个页面出错后,会自动跳转到一个页面上进行错误信息的显示.下面我们说说这个操作是怎么实现的. 要想完成错误页的操作,在jsp页面必须满足两个条件: (1)指定错误出现时的跳 ...

  9. wget在linux中安装出现错误解决办法

    在使用wget命令报错 certificate common name 'xxx' doesn't match requestde host name,我们一般的解决办法是查找下载地址,但是有时候更换 ...

随机推荐

  1. python中 yield的用法和生成器generator的说明

    详情: https://www.cnblogs.com/python-life/articles/4549996.html

  2. Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档

    Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.hparm        # 它用来在基于 Linux的系统上获取或 ...

  3. python Django cookie和session

    在一个会话的多个请求中共享数据,这就是会话跟踪技术.例如在一个会话中的请求如下:  请求银行主页: 请求登录(请求参数是用户名和密码): 请求转账(请求参数与转账相关的数据): 请求信誉卡还款(请求参 ...

  4. docker下安装mysql

    docker run -d -p 3306:3306 -v /root/docker/mysql/conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf -v /root ...

  5. css层叠规则,优先级算法

    前言 层叠样式表CSS最基本的一个特性就是层叠.冲突的声明通过层叠进行排序,由此确定最终的文档表示.而这个过程的核心就是选择器及其相关声明的特殊性.重要性.来源及继承机制.本文将详细介绍CSS层叠 特 ...

  6. 网站设置ico图标

    1.用设计的png图片去在线图标网站上生成一个16*16大小的图标,命名favcon.ico放置到网站根目录下如:http://www.faviconico.org/favicon2.添加代码 < ...

  7. python的os.system函数的应用

    os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数执行时,其会创建一个子进程在系统上执行命令行,子进程的执行结果无法影响主进程 上述原理会导致 ...

  8. 小程序 TabBar 定制

    使用微信小程序开发时,用到了其 API - tabBar,设置如下(详细的内容可以参考官网 api): "tabBar": { "color": "# ...

  9. CCPC-Wannafly Winter Camp Day5 (Div2, onsite) Sorting(线段树)

    题目链接 题意 对序列进行三种操作: 1.区间求和. 2.将区间小于等于$x$的数不改变相对顺序的前提下放到$x$左边,用同样规则将比$x$大的放到右边. 3.将区间大于$x$的数不改变相对顺序的前提 ...

  10. struts2简单入门-数据校验

    数据校验流程 校验数据的方式 重写execute方法在内部写校验代码 public class LoginAdminAction extends ActionSupport { private Use ...