logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

区块链系统:点对点交易原理

传统的电子交易,交易双方必须通过银行这样的信任机构作为中介,这样可以保证交易的安全性,因为银行记录了交易双方的账户资金,能保证在一笔交易中,要么保证成功,要么交易无效,不存在一方到账而另一方没有付款的情况:但是在比特币这种去中心化的P2P网络中,并没有一个类似银行这样的信任机构存在,要想在两个节点之间达成交易,就必须实现一种在零信任的情况下安全交易的机制。

#区块链#p2p#网络
第一个solidity程序

以太坊虚拟机 EVM 是智能合约的运行环境。它不仅是沙盒封装的,而且是完全隔离的,也就是说在 EVM 中运行代码是无法访问网络、文件系统和其他进程的。甚至智能合约之间的访问也是受限的。

#区块链
关于golang编译出错: Get “https://proxy.golang.org/chainmaker.org/chainmaker/common/v2/@v/v2.2.0.mod“: dial

然而在1.3版本后,golang推出了go module 机制,同时发布了一个叫做 Module proxy protocol 的协议,通过这个机制,我们可以搭建go模块代理,最后通过GOPROXY变量以指引go命令在后续抓取模块的途径。部署长安链时,其中在编译证书生成工具时,发现老是出现i/o timeout,原因就是依赖拉取超时.在网上查阅资料后发现是自己的golang版本太低(1.3一下),

#golang#开发语言#后端
区块链系统:公钥和地址

以压缩格式的公钥为例,从公钥计算地址的方法是,首先对1+32=33字节的公钥数据进行Hash160(即先计算SHA256,再计算RipeMD160),得到20字节的哈希。要特别注意,比特币的地址并不是公钥,而是公钥的哈希,即从公钥能推导出地址,但从地址不能反推公钥,因为哈希函数是单向函数。开头的,因此,从地址本身并无法区分出使用的是压缩格式还是非压缩格式的公钥。要注意,对非压缩格式的公钥和压缩格式

#区块链
solidity:构造函数和修饰器、事件

solidity:构造函数和修饰器、事件

#区块链
区块链系统:出块原理

工作量证明是指,证明自己做了一定的工作量。例如,在驾校学习了50个小时。而其他人可以简单地验证该工作量。例如,出示驾照,表示自己确实在驾校学习了一段时间:比特币的工作量证明需要归结为计算机计算,也就是数学问题。如何构造一个数学问题来实现工作量证明?我们来看一个简单的例子。假设某个学校的一个班里,只有一个女生叫小红,其他都是男生。每个男生都想约小红看电影,但是,能实现愿望的只能有一个男生。到底选哪个

文章图片
#区块链
区块链系统:签名

签名算法是使用私钥签名,公钥验证的方法,对一个消息的真伪进行确认。如果一个人持有私钥,他就可以使用私钥对任意的消息进行签名,即通过私钥sk对消息message进行签名,得到signatureskpkpkmessagesignature如果验证通过,则可以证明该消息确实是由持有私钥sk的人发出的,并且未经过篡改。。对消息进行签名,实际上是对消息的哈希进行签名,。对哈希进行签名相当于保证了原始消息的不

文章图片
#区块链
区块链系统:什么是私钥?

在比特币中,私钥本质上就是一个256位的随机整数。我们以JavaScript为例,演示如何创建比特币私钥。在JavaScript中,内置的Number类型使用56位表示整数和浮点数,最大可表示的整数最大只有。其他语言如Java一般也仅提供64位的整数类型。要表示一个256位的整数,只能使用数组来模拟。使用这个库来表示任意大小的整数。下面的代码演示了通过ECPair创建一个新的私钥后,d我们把它打印

#区块链#javascript#开发语言
区块链中的:哈希算法

哈希算法,又称散列算法,它是一个单向函数,可以把任意长度的输入数据转化为固定长度的输出:例如,对morning和bitcoin我们通常用十六进制表示哈希输出。因为哈希算法是一个想要根据上述结果反推输入,只能由计算机暴力穷举。

文章图片
#哈希算法#算法
《区块链技术与应用》课堂笔记(四):BTC协议

央行要发行数字货币,如果直接为货币的面额等信息,用央行的私钥签名,然后使用的时候,用户直接拿央行的公钥验证签名,就这样用是行不通的,因为完全可以用这个数字货币再去买东西了,这叫双花攻击(double spending attack)。签名保证了面额等信息不能修改,但这个数字文件可以复制很多份。如果是纸质货币,花出去自己手里就没有了,这是数字货币和纸质货币的区别。

    共 27 条
  • 1
  • 2
  • 3
  • 请选择