1. web3有哪些词汇(web三大组成部分)
web前端必备英语词汇都在这儿了,客官你了解多少?appendChild放置到某元素最后
attribute属性
addEventListener添加侦听器
assign赋值
alert弹出框
append添加
appendTo添加到
absolute绝对的
active活动的,激活的,标记的一个伪类
align对齐
alpha透明度,半透明anchor锚记标记是这个单词的缩写
anchor锚记a标记是这个单词的缩写
arrow箭头
auto自动
appName程序名
appCodeName程序代号
appVersion程序版本
appAgent程序代理
abs取绝对值
array数组
back超过范围的三次方缓动
bounce指数衰减的反弹缓动
before在...之前
blur当输入框失焦的时候触发
BOM全称BrowserObjectModel浏览器对象模型
blur失焦
bind绑定
background背景border边框
border边框
banner页面上的一个横条both二者都是clear属性的一个属性值
both二者都是clear属性的一个属性值
black黑色
bottom底部,是一个CSS属性
blink闪烁
box盒子
block块
br换行标记
blue蓝色
bug软件程序中的错误
body主体,一个HTML标记
building建立
bold粗体
button按钮
break中断
bool布尔
boolean布尔
bubble冒泡
cubic三次方的缓动
circular圆形曲线的缓动
chain当执行一种缓动效果后可以继续使用另一个缓动效果
createElement创建新元素
createTextNode创建文本节点
childNodes返回子节点
cancelBubble删除冒泡
click点击事件
change内容发生改变,并失焦后才触发该事件
contextmenu右击事件
clientX光标相对于该网页的水平位置
clientY光标相对于该网页的垂直位置
close关闭当前页面
confirm输入框
clientWidth获取元素宽度
clientHeight获取元素的高度
childNodes?获取所有子节点?
children返回子元素
cloneNode复制节点
Clone克隆、复制
chekbox复选框
cell表格的单元格
color颜色
center中间,居中
connected连接的
contact联系
child孩子
content内容
circle圆圈
crosshair十字叉丝
class类别
css层叠样式表
clear清除
cursor鼠标指针
cm厘米
centimeter厘米
continue继续
close关闭
ceil向上取整
charAt获取某位置字符
DOM全称DocumentObjectModel文档对象模型
default不执行
DOMMouseScroll在火狐浏览器中的滚轮事件
document文件,文档
dbclick双击
dashed虚线
display显示,CSS的一个属
decimal十进制
division分区,div就是这个单词的缩写
decoration装饰
document文档
default默认的
definition定义
dotted点线
double双线
design设计
do做
exponential指数曲线的缓动
elastic指数衰减的正弦曲线缓动
error错误过失
element元素
else否则
focus当输入框聚焦的时候触发
firstChild第一个子节点
firstElementChild返回第一个标签节点
function()函数
father父亲
float浮动
filter滤镜,过滤器
font字体
first第一个
for在循环语句中的一个保留字
fixed固定的
four4个
function函数,功能
getAttribute获取属性
getElementsByClassName根据class标签获取元素
getElementsByName?通过元素的Name属性值
getElementById?通过元素Id,唯一性
getElementsByTagName通过标签名查找元素
gif一种图像格式
green绿色
gray灰色
history对象
host主机
height高度
hover盘旋;徘徊;犹豫
hidden()隐藏
hack常用于CSS中的一些招数,或者类似于偏方的技巧
here这里
hand手
hidden被隐藏
head头部
home首页
height高度
horizontal水平的
help帮助
hover鼠标指针经过时的效果,或称为“悬停状态”
input当输入的时候实时触发
innerHeight内部高度
innerWidth内部宽度
in从0开始加速的缓动
inOut前半段从0开始加速,后半段减速到0的缓动
infinity无线循环
insertBefore插入到某元素前
image图像
inline行内
important重要的
inner内部的
indent缩进
italic意大利体,斜体
index索引
if如果
int:整数
indexOf:判断某字符的首次位置
jpg一种图像格式justify两端对齐
justify两端对齐
keyCode按键编码
keydown按下按键
keyup按下按键抬起
linear匀速
lastChild?返回最后一个子节点
lastElementChild?返回最后一个标签节点?
language语言
line线
last最后一个
link链接
left左边
list列表
length长度
lowercase小写
level级别
mouseover移动到元素上
mouseout从元素上移开
mousemove移动鼠标
mousewheel在其他浏览器的滚轮事件
mousedown鼠标按下事件
mouseup鼠标抬起事件
margin外边距
millimeter毫米
max最大的
min最小的
medium中间
model模型
menu菜单
move移动
middle中间
nextElementSibling返回下一个兄弟元素
nextSibling返回下一个兄弟节点
nextElementSibling?下一个兄弟元素
nodeValue节点值
nodeType节点类型
nodeName标签名称
navigation导航
none无,不,没有
new新的
normal标准
number数字
null空,空值
new新建
outerHeight整个高度
outerWIdth整个宽度
open打开新页面
onscroll窗口滚动事件
onresize窗口大小监听事件
onload图片加载事件
offsetLeft获取元素距离左侧的距离?
offsetTop获取元素距离顶部的距离
offsetWidth获取元素自身宽度
offsetHeigh获取元素自身高度?
onload在装载时
onclick在点击时
ondblclick在双击时
onmouseover在鼠标进入时
onmouseout在鼠标离开时
onmousemove在鼠标移动时
onmousedown在鼠标按下时
onmouseup在鼠标抬起时
onkeydown在按键按下时
onkeyup在按键抬起时
onkeypress在按键时
onsubmit在提交时
onchange在改变时
onfocus在获得焦点时
onblur在失去焦点时
onscroll窗口滚动事件
onresize窗口大小监听事件
out减速到0的缓动
onStart开始事件
onComplete完成事件
onStop停止事件
onUpdate更新事件
object对象
optional可选的
oblique一种斜体
orange橙色
one一个
outer外面的
only仅仅
overflow溢出
open打开
previous前一个
prevent阻止
pageX光标相对于该网页的水平位置
pageY光标相对于该网页的垂直位置
port端口
protocol协议
prompt提示框
parentNode返回父级节点
parentElementNode获取已知节点的父节点
previousSibling返回上一个兄弟节点
previousElementSibling返回上一个兄弟元素
password密码
position位置
prepend预先
padding内边距
progress进度
point点
public公开的
pointer指针,指示器
purple紫色
position定位,位置
pop弹出
push压入
open打开
option选项
quadratic二次方的缓动
quintic五次方的缓动
quartic四次方的缓动
querySelector根据标签名获取第一个元素
querySelectorAll获取所有标签名的元素
repeat次数
remove删除当前节点
replaceChild替换节点
removeEventListener取消侦听器
reload刷新
removeAttribute删除属性
removeChild删除父节点的某个子节点
radio视频
red红色
resize重新设置大小
relative相对的
right右边
repeat重复,平铺
row行
replacement替换
return返回
random随机
round取整
sinusoidal正弦曲线的缓动
start开始
stop停止
setinterval时间函数
sibling兄弟
scrollTop获取文档滚动高度
screenX光标相对于该屏幕的水平位置
screenY光标相对于该屏幕的垂直位置
setAttribute设置属性
scrollHeight获取文档整体高度
scrollTop获取文档滚动高度
scrollLeft元素左边界
setAttribute设置节点上的属性
submit提交
scroll滚动
shadow阴影
silver银色
special特殊的
size尺寸
square方块
solid固体,实线
static静态的
solution方案
strong强壮,加粗的
son儿子
style样式
span一个HTML标记
switch切换
setInterval设置反复性定时器
setTimeout设置一次性定时器
srcElement源对象,事件源
split分割
substr截取字符串
substring截取字符串
sqrt取开方
status状态
sort排序
slice切片,划分
splice铰接,粘接
textContent文本添加文字
table表格
title标题
td单元格的HTML标记
top顶部
toLowerCase转换为小写
toUpperCase转换为大写
text文本
tr表格中“行”的HTML标记
thick粗的
transitional过渡的
thin细的
two两个
three三个
type类型
through穿过
this这个,当前
typeof类型
underline下划线
uppercase大写
upper上面的
url网址
vertical竖直的
visited访问过的
var定义变量
wrap包裹
window窗口
white白色
width宽度
while当...的时候
write写入
yellow黄色
web3.0读音
web基本解释
n.蜘蛛网,网状物;[机]万维网;织物;圈套
vt.在…上织网;用网缠住;使中圈套;形成网状
web是什么意思
web变化形式
复数:webs
第三人称单数:webs
过去式:webbed
过去分词:webbed
现在分词:webbing
易混淆的单词:Web
Web3(也被称为web3.0,又写为web3)是关于万维网发展的一个概念,主要与基于区块链的去中心化、加密货币以及非同质化代币有关。与区块链有关的web3概念是由以太坊联合创始人GavinWood于2014年提出来的,并于2021年受到加密货币爱好者、大型科技公司和创业投资公司的关注。
web3是什么意思Web3(也称为Web3.0)是一种基于区块链技术的万维网新迭代的想法
一、web1.0和web2.0
Web1.0和Web2.0指的是万维网历史上的时代,因为它通过各种技术和格式发展。Web1.0大致指的是从1991年到2004年期间,大部分网站由静态页面组成,绝大多数用户是内容的消费者,而不是生产者。Web2.0是基于“网络作为平台”的理念,并以用户创建的内容为中心,上传到论坛、社交媒体和网络服务、博客以及其他服务。Web2.0通常被认为是在2004年左右开始并一直持续到今天。
二、web3
“Web3”指的是“基于区块链的去中心化在线生态系统”。2021年,Web3的想法开始流行。到2021年底,特别兴趣激增,这主要是由于加密货币爱好者的兴趣以及知名技术专家和公司的投资。
三、Web3的颠覆性潜力
1、Web3的核心显着特征是商业模式的去中心化。从这个意义上说,它标志着互联网的第三阶段(因此称为“Web3”)和用户当前现状的逆转。
2、Web3是下一次迭代,它可能会颠覆这种权力结构,将其转移回用户。开放标准和协议可以回归。其目的是控制不再集中在大型平台和聚合器中,而是通过“无需许可”的去中心化区块链和智能合约广泛分布。
3、这在实践中意味着什么?从本质上讲,它可以通过将去中介化作为核心要素,标志着数字应用商业模式的范式转变。在数据、功能和价值方面可能不再需要中介。用户和创作者可以占据上风,并且通过开源而不是专有应用程序,将有动力进行创新、测试、构建和扩展。
2. 区块链高度怎么查询(区块链地址查询怎么查)
区块高度越高说明什么区块高度(Blockheight)是指一个区块的高度是指在区块链中它和创世区块之间的块数。区块高度是可以通过该区块在区块链中的位置识别区块的另一种方式。第一个区块,其高度为0,每一个随后被存储在第一个区块之上的区块在区块链中都比前一区块“高”出一个位置,就像箱子一个接一个堆叠在其他箱子之上。
和区块头哈希值不同的是,区块高度并不是唯一的标识符,在区块链的增长过程中可能会出现两个或两个以上的区块有同样的高度,这种情况叫做“区块链分叉”。
区块链是blockchain翻译而来的,看见“链”人们联想到的是长长的链条,它有长度的概念。但在区块链中,并不叫区块长度,而是区块高度,你可以把区块链理解为区块堆。
创世区块,即第0块,位于最底层,然后每一块都叠在前一块之上,这样就比较好理解区块高度了。我们查询某个区块信息时,除了通过它的哈希,还可以通过它的区块高度进行查询。
区块高度的作用
区块高度是区块的标示符,区块有两个标示符,一是区块头的哈希值,二是区块高度。区块头的哈希值是通过SHA256算法对区块头进行二次哈希计算而得到的数字。区块哈希值可以唯一、明确地“标识”一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值。区块高度是指该区块在区块链中的位置。区块高度并不是唯一的“标识”符。虽然一个单一的区块总是会有一个明确的、固定的区块高度,但反过来却并不成立,一个区块高度并不总是识别一个单一的区块。两个或两个以上的区块可能有相同的区块高度,在区块链里争夺同一位置。
如何检测区块链智能合约的风险等级高低随着上海城市数字化转型脚步的加快,区块链技术在政务、金融、物流、司法等众多领域得到深入应用。在应用过程中,不仅催生了新的业务形态和商业模式,也产生了很多安全问题,因而安全监管显得尤为重要。安全测评作为监管重要手段之一,成为很多区块链研发厂商和应用企业的关注热点。本文就大家关心的区块链合规性安全测评谈谈我们做的一点探索和实践。
一、区块链技术测评
区块链技术测评一般分为功能测试、性能测试和安全测评。
1、功能测试
功能测试是对底层区块链系统支持的基础功能的测试,目的是衡量底层区块链系统的能力范围。
区块链功能测试主要依据GB/T25000.10-2016《系统与软件质量要求和评价(SQuaRE)第10部分:系统与软件质量模型》、GB/T25000.51-2016《系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》等标准,验证被测软件是否满足相关测试标准要求。
区块链功能测试具体包括组网方式和通信、数据存储和传输、加密模块可用性、共识功能和容错、智能合约功能、系统管理稳定性、链稳定性、隐私保护、互操作能力、账户和交易类型、私钥管理方案、审计管理等模块。
2、性能测试
性能测试是为描述测试对象与性能相关的特征并对其进行评价而实施和执行的一类测试,大多在项目验收测评中,用来验证既定的技术指标是否完成。
区块链性能测试具体包括高并发压力测试场景、尖峰冲击测试场景、长时间稳定运行测试场景、查询测试场景等模块。
3、安全测评
区块链安全测评主要是对账户数据、密码学机制、共识机制、智能合约等进行安全测试和评价。
区块链安全测评的主要依据是《DB31/T1331-2021区块链技术安全通用要求》。也可根据实际测试需求参考《JR/T0193-2020区块链技术金融应用评估规则》、《JR/T0184—2020金融分布式账本技术安全规范》等标准。
区块链安全测评具体包括存储、网络、计算、共识机制、密码学机制、时序机制、个人信息保护、组网机制、智能合约、服务与访问等内容。
二、区块链合规性安全测评
区块链合规性安全测评一般包括“区块链信息服务安全评估”、“网络安全等级保护测评”和“专项资金项目验收测评”三类。
1、区块链信息服务安全评估
区块链信息服务安全评估主要依据国家互联网信息办公室2019年1月10日发布的《区块链信息服务管理规定》(以下简称“《规定》”)和参考区块链国家标准《区块链信息服务安全规范(征求意见稿)》进行。
《规定》旨在明确区块链信息服务提供者的信息安全管理责任,规范和促进区块链技术及相关服务的健康发展,规避区块链信息服务安全风险,为区块链信息服务的提供、使用、管理等提供有效的法律依据。《规定》第九条指出:区块链信息服务提供者开发上线新产品、新应用、新功能的,应当按照有关规定报国家和省、自治区、直辖市互联网信息办公室进行安全评估。
《区块链信息服务安全规范》是由中国科学院信息工程研究所牵头,浙江大学、中国电子技术标准化研究院、上海市信息安全测评认证中心等单位共同参与编写的一项建设和评估区块链信息服务安全能力的国家标准。《区块链信息服务安全规范》规定了联盟链和私有链的区块链信息服务提供者应满足的安全要求,包括安全技术要求和安全保障要求以及相应的测试评估方法,适用于指导区块链信息服务安全评估和区块链信息服务安全建设。标准提出的安全技术要求、保障要求框架如下:
图1区块链信息服务安全要求模型
2、网络安全等级保护测评
网络安全等级保护测评的主要依据包括《GB/T22239-2019网络安全等级保护基本要求》、《GB/T28448-2019网络安全等级保护测评要求》。
区块链作为一种新兴信息技术,构建的应用系统同样属于等级保护对象,需要按照规定开展等级保护测评。等级保护安全测评通用要求适用于评估区块链的基础设施部分,但目前并没有提出区块链特有的安全要求。因此,区块链安全测评扩展要求还有待进一步探索和研究。
3、专项资金项目验收测评
根据市经信委有关规定,信息化专项资金项目在项目验收时需出具安全测评报告。区块链应用项目的验收测评将依据上海市最新发布的区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》开展。
三、区块链安全测评探索与实践
1、标准编制
上海测评中心积极参与区块链标准编制工作。由上海测评中心牵头,苏州同济区块链研究院有限公司、上海七印信息科技有限公司、上海墨珩网络科技有限公司、电信科学技术第一研究所等单位参加编写的区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》已于2021年12月正式发布,今年3月1日起正式实施。上海测评中心参与编写的区块链国标《区块链信息服务安全规范》正处于征求意见阶段。
同时,测评中心还参与编写了国家人力资源和社会保障部组织,同济大学牵头编写的区块链工程技术人员初级和中级教材,负责编制“测试区块链系统”章节内容。
2、项目实践
近年来,上海测评中心依据相关技术标准进行了大量的区块链安全测评实践,包括等级保护测评、信息服务安全评估、项目安全测评等。在测评实践中,发现的主要安全问题如下:
表1区块链主要是安全问题
序号
测评项
问题描述
1
共识算法
共识算法采用Kafka或Raft共识,不支持拜占庭容错,不支持容忍节点恶意行为。
2
上链数据
上链敏感信息未进行加密处理,通过查询接口或区块链浏览器可访问链上所有数据。
3
密码算法
密码算法中使用的随机数不符合GB/T32915-2016对随机性的要求。
4
节点防护
对于联盟链,未能对节点服务器所在区域配置安全防护措施。
5
通信传输
节点间通信、区块链与上层应用之间通信时,未建立安全的信息传输通道。
6
共识算法
系统部署节点数量较少,有时甚至没有达到共识算法要求的容错数量。
7
智能合约
未对智能合约的运行进行监测,无法及时发现、处置智能合约运行过程中出现的问题。
8
服务与访问
上层应用存在未授权、越权等访问控制缺陷,导致业务错乱、数据泄露。
9
智能合约
智能合约编码不规范,当智能合约出现错误时,不提供智能合约冻结功能。
10
智能合约
智能合约的运行环境没有与外部隔离,存在外部攻击的风险。
3、工具应用
测评中心在组织编制《DB31/T1331-2021区块链技术安全通用要求》时,已考虑与等级保护测评的衔接需求。DB31/T1331中的“基础设施层”安全与等级保护的安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心等相关要求保持一致,“协议层安全”、“扩展层安全”则更多体现区块链特有的安全保护要求。
测评中心依据DB31/T1331相关安全要求,正在组织编写区块链测评扩展要求,相关成果将应用于网络安全等级保护测评工具——测评能手。届时,使用“测评能手”软件的测评机构就能准确、规范、高效地开展区块链安全测评,发现区块链安全风险,并提出对应的整改建议
怎样通过RPC命令实现区块链的查询
基本架构如下:
前端web基于socket.io或者REST实现,
后端加一层mongodb/mysql等数据库来代替单机leveldb做数据存储
目的应该是:
1.加速查询
2.做更高层的数据分析
3.做分布式数据库
思考:
这些online的查询固然可以方便我们的日常用,那如何与相关应用集成呢?我们是否可以通过简单的rpc命令实现同等的效果?
有几个用处:
1.大家都可以做自己的qukuai.com或blockchain.info的查询:)
2.集成RPC命令到自己的店铺,收款后查询用
3.集成到钱包应用
4.其他应用场景
cmd分析:
根据高度height查blockhash
./bitcoin-cligetblockhash19999
2.然后根据blockhash查block信息
./bitcoin-cligetblock
{
"hash":"",
"confirmations":263032,
"size":215,
"height":19999,
"version":1,
"merkleroot":"",
"tx":[
""
],
"time":1248291140,
"nonce":1085206531,
"bits":"1d00ffff",
"difficulty":1.00000000,
"chainwork":"",
"previousblockhash":"",
"nextblockhash":""
}
3.根据tx查询单笔交易的信息:
没建index时,只能查询自己钱包的信息,若不是钱包的交易,则返回如下:
./bitcoin-cligetrawtransaction
error:{"code":-5,"message":"Invalidornon-wallettransactionid"}
那怎么办呢?直接分析代码找原因:
//Returntransactionintx,andifitwasfoundinsideablock,itshashisplacedinhashBlock
boolGetTransaction(constuint256hash,CTransactiontxOut,uint256hashBlock,boolfAllowSlow)
{
CBlockIndex*pindexSlow=NULL;
{
LOCK(cs_main);
{
if(mempool.lookup(hash,txOut))
{
returntrue;
}
}
if(fTxIndex){
CDiskTxPospostx;
if(pblocktree-ReadTxIndex(hash,postx)){
CAutoFilefile(OpenBlockFile(postx,true),SER_DISK,CLIENT_VERSION);
CBlockHeaderheader;
try{
fileheader;
fseek(file,postx.nTxOffset,SEEK_CUR);
filetxOut;
}catch(std::exceptione){
returnerror("%s:DeserializeorI/Oerror-%s",__func__,e.what());
}
hashBlock=header.GetHash();
if(txOut.GetHash()!=hash)
returnerror("%s:txidmismatch",__func__);
returntrue;
}
}
if(fAllowSlow){//,andscanit
intnHeight=-1;
{
CCoinsViewCacheview=*pcoinsTip;
CCoinscoins;
if(view.GetCoins(hash,coins))
nHeight=coins.nHeight;
}
if(nHeight0)
pindexSlow=chainActive[nHeight];
}
}
if(pindexSlow){
CBlockblock;
if(ReadBlockFromDisk(block,pindexSlow)){
BOOST_FOREACH(constCTransactiontx,block.vtx){
if(tx.GetHash()==hash){
txOut=tx;
hashBlock=pindexSlow-GetBlockHash();
returntrue;
}
}
}
}
returnfalse;
}
pi节点区块高度不显示PI节点区块高度不显示可能是由于网络连接出现问题而导致的,建议重新检查网络连接,重启PI节点,以及更新PI节点软件至最新版本,若仍无法显示出来,可使用区块链浏览器查看区块高度。
怎么样在以太坊上查询区块链币可以输入钱包地址、交易ID、区块哈希或者区块高度等信息直接查询,非常方便。
如果是查询账户余额、账户的历史交易数据等信息,建议直接输入钱包地址查询;如果是查询某笔转账的相关信息,比如是否到账、进展如何,输入交易ID是最方便的。
当然了,区块链浏览器不仅可以查询自己的账户,也可以查询别人的账户以及相关的交易信息,包括比特币创始人中本聪的账户。
3. 匿名币被 *** 点名,强制下架的背后因素
加密货币世界中,匿名币算是比较少被提起的币种。但是在近期,韩国交易所Korbit率先下架DASH,Monero与Zcash三大匿名币,日本的Coincheck也同步执行,原因为何?
首先,我们要先了解「匿名币」与「加密货币」之间的差异。
加密货币(Cryptocurrency)的重要定义有几点,「分散式系统」、「不可更改性」、「匿名性」。
分散式系统:意指资料库的存在形式是散布在世界各个角落的,这不会因为某个中央化的资料库损毁,而造成资料流失。不可更改性:代表着交易后的纪录无法被窜改,这与系统本身所特有的共识机制有关系。匿名性:代表交易的双方无法被直接辨别。笔者又粗略将加密货币分为两类,「一般加密货币」与「匿名币」,以下介绍:
所谓「匿名」,就字面上直观解释为「不 *** 实姓名或没有名字」,前者通常会有别称或代号,后者则什么资讯都没有。同样的,在加密货币的世界里,依照匿名的程度(匿名性),也可使货币被区分为两种,「一般加密货币」与「匿名币」:
交易上不使用真实姓名,即「一般加密货币」交易上完全不使用任何名字,即「匿名币」
第一种方式,是所谓的「半匿名」英文称为「Pseudonymous」
第二种方式,「匿名」,英文用做「Anonymous」
要解释第一种方式,「半匿名」,我们拿最具代表性的「比特币」来做事例:
比特币的起始,来自于中本聪的论文,其中,簿记账的观念呈现在整个区块链的纪录当中。白话来说,就是在比特币的交易行为中,除了交易者的真名无法取得,其他资讯都是公开的,任何人都可以追溯其交易纪录,比如交易金额、交易时间等等。这就像是你在PTT、Dcard上面有自己的帐号,乡民们可以借由IP位置发现到这个人是不是在校园中使用,但是没有人晓得帐号后面的人长什么样貌。
同理推断,「比特币」的「半匿名」特性,就像是你知道附近屋子(钱包位址)里面有多少钱、与哪些钱包在做交易、交易金额、交易次数等资讯,但是不知道屋主(拥有者)是谁。而且依照此特性,可以推断出钱包拥有者大概的轮廓。这样的「半匿名」特性,一旦有部分资讯被他人掌握的时候,便有机会藉着相关线索找到钱包拥有者。
正是这样的「半匿名」特性,让 *** 监管「一般加密货币」的期望成为可能。所以当使用者要注册、使用加密货币交易所的时候,相关帐号都要通过要KYC(KnowYourCustomer)认证。
「半匿名」特性的好处是,交易纪录公开,并且交易的安全性与公正性由「矿工」认证完成,所以双方不得有任何异议外,如果没有任何线索可以连结钱包位址与使用者真实身份,那么「匿名性」是没问题的。但是,每个人都查得到你的钱包位址,等于有机会辨别你的实际财富状况,一旦被辨别出钱包与使用者的相关性,会产生很多现实生活中的安全性问题。想像一下,日常生活中,你会希望每笔交易都被亲朋好友知道吗?想想看你刷信用卡购物之后,爸妈叫你过去跟他对帐的时候吧!
所以,「比特币」这类加密货币的匿名性,只存在于你的钱包位址并未被第三方知道、从未与法币有所连结的时候。只要知道了钱包位址,再加上KYC的帮助,就有办法找到使用者本人。
事实真的是如此吗?我们来看看区块链上的交易纪录实例:
1.笔者随意找了一个钱包位址「」
2.于区块链上查询此钱包
区块链透露了一些资讯,像是这个钱包总共有5笔交易,目前拥有0.7881枚比特币,总共拥有过29.8411枚比特币。交易纪录显示,最早这钱包出现在2018/01/14日,并由「」钱包汇入,这代表了这两个钱包之间一定有某种连结。blockchain.info/address/3.发现到此钱包的交易纪录
此用户付款给「」钱包三次,总共支出28枚左右的比特币4.有心人士即可透过相关资讯,去推断此钱包使用者的真实身份
当拥有这样的交易纪录,配上国际反洗钱法所推行的KYC之后,就有办法执行后续的各种行动;像是「征税」。同样的道理,在「以太坊」「莱特币」等相关数位货币上面的交易纪录也一样透明。若要拿这类容易被追溯的数位货币来进行各种地下经济作业,实在是没有什么道理。
有些人会认为当原有的钱包位址和个人资讯被曝光后,只要换了一个钱包(即钱包位址)就没事了,但实际上,若新旧钱包之间有资金转换时,资讯一样会存在于区块链上,也一样会被溯源。因此,即便拥有多个钱包,也必需要保证钱包与钱包之间不能出现交易,否则相关性就会被定义出来。况且,管理多个钱包的时候,记帐成本其实相当高呢。
题外话,加密货币的交易可借由各类加密货币或法币来完成,若以法币进行交易,即进入了 *** 所掌控的金融系统,因此笔者曾听闻有些人为了反追踪(想避税或降低价差等因素)而不想透过加密货币服务商做交易,反而采取线下面交等方式,但这其实很危险的,不但被骗时无从追溯,可能还有人身安全的问题。想像一下电影中的黑市交易情节,一边交货一边给钱,而且是很多的钱,在缺乏第三方的保护下,若是被骗可能只是某一方拿到钱拔腿就跑,但如果是起冲突,双方就开始火拼!哇,这也太 *** 了。
回到正题,比特币的匿名性不够强,不记名的「匿名币」就拥有了真实的应用情境与需求。
以公司法人与公司法人之间的交易做比喻,「一般加密货币」如同公司间的所有的交易资讯都被看得清清楚楚。想像一下,鸿海与旗下供应商的每笔订单交易纪录都公开的时候,对企业本身和对「股市」带来的影响该有多 *** ?再看看「匿名币」,就像是你听闻科技业的大小企业间分分秒秒都有交易在跑,但是你看不到企业名、交易金额、交易时间等等,但你身为第三方,只看得到一些无关痛痒的认证纪录。
由此可见,匿名币隐去「钱包位址」与「交易金额」这两项要素的特性,除了一般需求外,同时符合地下经济的需求,因为除了交易双方,其余人士都无法得知详细内容。这正是「匿名币」,会被特别点名出来的主要因素。
至于「匿名币」是否如上述的那么神奇?我们以Monero的区块链当作范例:
1.随意选去任一区块链交易纪录
区块链的公开资讯,仅有「FormBlock」、「Fee」、「Size」、「Mixin」,你要是没有PaymentID的金匙,根本什么也看不出来。2.无法得知交易金额与钱包位址
Input与Output的交易金额总数都显示为0,外人什么都无法得知。统整上述使用「匿名币」的需求动机:
需要达到现在银行体系提供给我们的隐私保护级别,降低资讯被披露所带来的风险。需要超越现有金融体系所带给我们的隐私保护级别。但是「匿名币」的使用动机,以 *** 监管的角度来说,是件难以处理的事情。笔者认为,这正是「匿名币」被要求下架之因素,因为没办法管,所以只能降低其流动性。
「匿名币」的后续还有太多可以了解的部分,有兴趣的读者可以前往笔者网志「林小狗研究室」与笔者一同做更多的学习与研究。如果比较不了解加密货币的读者,可以先前往阅读「数位货币懒人包」系列文章或是留下您的资讯,以供后续与各位更新。
笔者整理出几个为提升「匿名性」常见的方法,供读者进一步查询。
StealthaddressesMix(混币)RingCT(环形签名)Zero-knowledgeSuccinctNon-(zk-SNARKs)(零知识证明)Tor未来还有很多主题可供探讨,笔者先举列几个题目,有兴趣的读者可以留言给我。
匿名币在「匿名性」程度上的差异「隐私保护技术」的方法论现在有哪些匿名币存在于世上?匿名币中有矿工的存在吗?