昨天聊天有人用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. 去掉 Chrome(V66) 新标签页的8个缩略图

    1.Chrome程序资源文件路径: C:\Program Files (x86)\Google\Chrome\Application\66.0.3359.181\resources.pak 2.下载C ...

  2. Qt调用自己编译的libglog.a出现问题

    我确定依据正确导入库后,依旧出现未定义的引用. undefined reference to _imp___ZN6google17InitGoogleLoggingEPKc 尝试过重新编译,调整编译参 ...

  3. JS学习笔记Day14

    一.正则表达式 (一)正则的概念 1.正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符 (二)创建正则的方式 1.字面量的 ...

  4. 简单的实现HTTP密码验证登陆

    1.首先需要安装 httpd-tools yum install -y httpd-tools 2.安装完成后设置用户名密码,我这里用的是NGINX htpasswd -bc /mypath/ngin ...

  5. VMware 设置网络

    在VMware上安装 系统完成后,设置虚拟网络 这里的VMware 版本为 14. 本文以window server 2016 为例. 在虚拟机上菜单栏中, 编辑  >> 虚拟网络编辑器 ...

  6. excel转换为TXT文本

    #_*_ coding:utf-8 _*_#author:yr import xlrd data = xlrd.open_workbook(r"C:\Users\yangr\Desktop\ ...

  7. Windows下VSCode编译调试c/c++

    参考链接:  https://blog.csdn.net/c_duoduo/article/details/51615381 支持makefile编译: https://www.cnblogs.com ...

  8. ubuntu 32/64 bit

    https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit how to run 32-bit app ...

  9. linux各文件夹含义和作用

    原文链接:https://blog.csdn.net/okyoung188/article/details/76315774 1.linux下各文件夹的意义:     /bin:是binary的缩写, ...

  10. 初学python之路-day02

    python,诞生于1989年的圣诞,Guido van Rossum为了打发无聊,因此发明了python,并且开放了其源代码,使得这门语言在随后的几十年的发展的越来越广.现今,2.x版本已经在2.7 ...