如果往错误的NEO地址转账会发生什么
昨天聊天有人用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地址转账会发生什么的更多相关文章
- 通过AWS的DHCP自动获取的IP地址是否会发生改变?
针对您的问题,分析如下:1.在一个VPC内,通过AWS的DHCP自动获取的IP地址,在如何情况下会发生改变?例如我把vpc的内所有100个ec2实例全部关闭,再全部重新打开,是否会发生IP地址变化的情 ...
- VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时
之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...
- ATM-JAVA程序 //程序有5处相同错误,找不出原因 转账功能没有实现,修改密码来不及实现了
package JCC;//信1705-3 20173681 靳晨晨import java.io.BufferedReader;import java.io.File;import java.io.F ...
- 虚拟机的ip地址为什么会发生变化
因为虚拟机在NAT模式下由Vmware8虚拟网卡提供虚拟机的IP分配,网桥模式下由Vmware1来提供IP分配.它们都相当于 一个小型的DHCP服务器,除非改动虚拟机的网络连接方式,或动了虚拟网卡服务 ...
- aspcms逻辑错误导致后台地址泄露
访问即可跳转后台地址: URL:http://www.xxx.org.cn/plug/oem/AspCms_OEMFun.asp 注入:plug/comment/commentList.asp?id= ...
- yii2:Url::toRoute 和 ActiveForm::begin action在二级目录生成地址错误
yii2:Url::toRoute 和 ActiveForm::begin action在二级目录下生成地址错误. 正确地址: /www/super/web/wxreplay/edit-text?id ...
- IP地址与Mac地址绑定错误
有个application,有时候可以正常访问,有时候又返回404错误,百思不得其解.刚开始以为是文件夹权限问题,折腾了好久. 后来没在服务器上monitor到包,所以猜想是到了错误的mac地址,用a ...
- jsp_设置错误页
在各个常用的web站点中,当一个页面出错后,会自动跳转到一个页面上进行错误信息的显示.下面我们说说这个操作是怎么实现的. 要想完成错误页的操作,在jsp页面必须满足两个条件: (1)指定错误出现时的跳 ...
- wget在linux中安装出现错误解决办法
在使用wget命令报错 certificate common name 'xxx' doesn't match requestde host name,我们一般的解决办法是查找下载地址,但是有时候更换 ...
随机推荐
- pytest 11 allure2生成html报告
allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面. 环境准备 1.pyt ...
- P2518 [HAOI2010]计数
题目链接 \(Click\) \(Here\) 很好很妙的一个题目. 其实可以生成的数字,一定是原数的一个排列,因为\(0\)被放在前面就可以认为不存在了嘛~.也就是说现在求的就是全排列中所有小于该数 ...
- NodeJS跨域问题
const express = require('express'), app = express(), router = express.Router(), bodyParser = require ...
- 应用调试(五)侵入式SWI
目录 应用调试(五)侵入式SWI 场景应用 测试程序 修改APP的bin 修改SWI 获得当前进程的寄存器 测试运行 恢复代码 进程间内存拷贝 TODO 更多参考文献 title: 应用调试(五)侵入 ...
- dpkg用管道批量删除deb
dpkg -l |grep deepin|awk '{print $2}'|xargs sudo dpkg -P
- Java设计模式之原型设计模式
概述 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性. 设计模式 ...
- XSS攻击常识及常见的XSS攻击脚本汇总
一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...
- sublime 浏览器快捷键设置
之前每次忘掉在哪打开,这次认真记一下 菜单栏Preferences-->Package Settings-->Side Bar-->Key Binding-Users [ // ch ...
- 异常-CDH的service无法启动并抛出异常-org.apache.avro.AvroRemoteException: java.net.ConnectException: Connection refused (Connection refused)
1 详细异常 org.apache.avro.AvroRemoteException: java.net.ConnectException: Connection refused (Connectio ...
- 使用Roslyn编译项目的示例
using System; using System.Collections.Generic; using System.IO; using Microsoft.CodeAnalysis; using ...