Hi 游客

更多精彩,请登录!

BitMere 区块链技术 第 6 页
  • 以太坊源码分析—Ethash共识算法

    Ethereum当前和Bitcoin一样,采用基于工作量证明(Proof of Work,PoW)的共识算法来产生新的区块。与Bitcoin不同的是,Ethereum采用的共识算法可以抵御ASIC矿机对挖矿工作的垄断地位,这个算法叫做Ethash。 为什么要反ASIC PoW的的核心是Hash运算,谁的Hash运算更快,谁就更有可能挖掘出新的区块,获得更多的经济利益。在Bitcoin的发展过程中,挖矿设备经历了(CPU=>GPU=>ASIC)的进化过程,其中的动机就是为了更快地进行Hash运算。随着矿机门槛地提高,参与者久越来越少,这与区块链的去中心化构想背道而驰 ... 阅读全文
    青丝暮雪780
    2023-1-3 17:15
    区块链技术
    支持
    反对
    回复
    收藏
  • 多链架构设计必读:平行链数据的可靠性如何保障?

    平行链的实现原理,它作为一种多(公)链并行的架构,有人可能会提出,从整个区块链网络生态来说,安全性是高的,但从单链的网络生态来看,由于其不需要众多节点,那平行链的数据可靠性如何保障呢? 首先我们来看一下原有的主链—平行链机制,假设有如下应用场景:a是平行链节点,A是对应的主链节点;A收到主链的各个节点发送的交易,假设在区块高度为100时,A收到三条交易tx1、tx2、tx3;其中,tx2是平行链关注的交易;原有的主链—平行链机制运作方式: (1)A打包这三条交易生成区块block(100); (2 ... 阅读全文
    人民干脆面
    2023-1-3 10:49
    区块链技术
    支持
    反对
    回复
    收藏
  • VS code 调试 bitcoin core

    使用 VS code 调试代码相比原生的gdb调试代码会带来一些好处: 更方便的监测变量值变化更方便的翻阅当前执行代码所在文件 就是设置会稍微麻烦一些。 步骤 1:安装调试插件 VS code 默认只支持 node.js 语言的调试,其他语言的调试需要安装插件。 搜索 C++,安装插件。不过要注意的是,插件本身并不具备编译、调试的能力,需要另外使用软件进行编译、调试[1]。 步骤2:配置 调试前需要手动配置launch.json文件指定调试入口,点击 Open Configurations开始配置: 配置VS code配置文件: 配置文件的路 ... 阅读全文
    华胥
    2023-1-3 04:08
    区块链技术
    支持
    反对
    回复
    收藏
  • 依赖于SWIG向Android项目 添加C/C++库

    一.JNI概述 JNI即java native interface,通俗的说,JNI是一种技术,通过这种技术可以做到以下两点: 1.java程序中的函数可以调用C/C++ 编写的函数 2.C/C++ 程序可以通过它调用java层的函数 JNI主要是完成java和C/C++ 代码和交互,但是java为什么要调用C/C++ 程序哪,这是不是破坏了java的平台无关特性,其实java需要调用C/C++ 程序需要是出于以下几点: 1.早在java语言诞生前,很多程序都是由C/C++ 语言编写的,他们遍布在软件世界的各个角落。虽然java出世后备受追捧,但是并不能完全替代C/C++ ,很多 ... 阅读全文
    朋友一起走
    2023-1-2 22:54
    区块链技术
    支持
    反对
    回复
    收藏
  • 比特币锁定脚本格式及对应的地址类型

    一、锁定脚本类型 比特币地址对应的锁定脚本(ScriptPubKey)主要类型:P2PKH P2SH P2WSH P2WPKH P2SH-P2WSH P2SH-P2WPKH,不同的锁定脚本类型是由不同的地址生成的。 二、锁定脚本对应的地址类型 1.公钥生成地址过程:私钥->公钥->地址。公钥分为压缩和非压缩格式。 2.不同的锁定脚本依赖的源数据生成。对应关系如下 3.地址的表现形式 实际上我们看到的地址是经过Bash58编码或bech32编码的地址,地址中添加了地址类型和校验码所以不同的地址开头会呈现不同的数值。生成锁定脚本的时候要解码数据并且 ... 阅读全文
    朋友一起走
    2023-1-2 21:34
    区块链技术
    支持
    反对
    回复
    收藏
  • NodeJS实现简易区块链

    首发 新窗
    NodeJS实现简易区块链 之前由于课程要求,基于Nodejs做了一个实现简易区块链。要求非常简单,结构体记录区块结构,顺便能向链中插入新的区块即可。 但是如果要支持多用户使用,就需要考虑“可信度”的问题。那么按照区块链要求,链上的数据不能被篡改,除非算力超过除了攻击者本身之外其余所以机器的算力。 想了想,就动手做试试咯。 ?查看全部教程 / 阅读原文? 技术调研 在google上搜了搜,发现有个项目不错: https://github.com/lhartikk/naivechain 。大概只有200行,但是其中几十行都是关于搭建ws和 ... 阅读全文
    r8kao8k8
    2023-1-2 20:25
    区块链技术
    支持
    反对
    回复
    收藏
  • 使用Geth设置基于权利证明POA的以太网私有网络

    简而言之:我们将在同一台机器上设置两个节点,在我们的localhost上创建一个点对点网络。除了两个节点之外,还将设置启动节点(发现服务)。 我花了相当长的时间和广泛的研究和谷歌搜索,最终有一个坚实的以太坊开发环境来测试我的智能合约和我的DApps。 在这篇文章中,我决定分享我如何使用Geth的clique共识引擎设置一个Proof-of-Authority网络。这是我通过回馈感谢小区的方式,并希望让任何愿意探索以太坊宇宙的人都能过上更轻松的生活。 操作系统和软件 我的操作系统是Ubuntu 16.04 LTS(这个tuto是在 ... 阅读全文
    天道唯
    2023-1-2 17:29
    区块链技术
    支持
    反对
    回复
    收藏
  • PoS发明人最新项目 VSYS源代码库分析评测

    VSYS主网上线近半年,代码更新频繁,完善度极高,当前在github公开的主要有三个代码库,分别是 VSYS节点、web钱包、冷钱包,可见其生态工具链布局正在驶入高速通道。 项目概览 由PoS之父Sunny King 创建的区块链数据库云。 VSYS基于POS自研了业界最高效的共识算法SPOS,目前两大主流公链以太坊和EOS的共识机制都是参考自POS。本次Sunny King带来的SPOS,必然是万众期待。虽然 VSYS主网还未上线,但代码完善度极高,当前在github公开的主要有三个代码库,分别是 VSYS节点、web钱包、冷钱包,可见其生态工 ... 阅读全文
    博客园
    2023-1-2 16:09
    区块链技术
    支持
    反对
    回复
    收藏
  • 理解区块链背后的Merkle Tree

    你可以在Github上获取最新的源代码(C#) 简介 在1979年,Ralph Merkle取得了哈希树即现在广为人知的MerkleTree的专利权(改专利在2002年过期)。其概括的描述为:“该发明包含了一种提供信息验证的数字签名的方法,该方法利用单向的认证树对密码数字进行校验。” 可能你更喜欢维基百科中的定义:“在密码学和计算机科学当中,哈希树或Merkle tree是一种特殊的树结构,其每个非叶节点通过其子节点的标记或者值(子节点为叶节点)的哈希值来进行标注。哈希树为大型的数据结构提供了高效安全的验证手段。 ... 阅读全文
    星火车品
    2023-1-2 14:39
    区块链技术
    支持
    反对
    回复
    收藏
  • Bitcoin Core 0.18.0 版本发布

    > Bitcoin Core version 0.18.0 is now available from: > https://bitcoincore.org/bin/bitcoin-core-0.18.0 关于钱包方面的改动有: [*]支持硬件钱包:但是目前只能通过命令行使用,https://github.com/bitcoin-core/HWI/blob/master/docs/bitcoin-core-usage.md [*]支持多钱包:可以像 Electrum 那样在不同钱包之间切换。 [*]支持 coin control: 也就是可以选择使用哪个 UTXO 支付,需要进行设置启用这个功能 多钱包 支持命令: createwallet "wallet_name" listwalletdir listwallets loadwallet " ... 阅读全文
    博客园
    2023-1-2 12:34
    区块链技术
    支持
    反对
    回复
    收藏
  • JavaScript开发区块链只需200行代码

    首发 新窗
    JavaScript开发一个简单的区块链只需200行代码。通过JavaScript的开发实现过程,你将理解区块链是什么:区块链就是一个分布式数据库,存储结构是一个不断增长的链表,链表中包含着许多有序的记录。 然而,在通常情况下,当我们谈到区块链的时候也会谈起使用区块链来解决的问题,这两者很容易混淆。 像流行的比特币和以太坊这样基于区块链的项目就是这样。“区块链”这个术语通常和像交易、智能合约、加密货币这样的概念紧紧联系在一起。 这就令理解区块链变得不必要得复杂起来,特别是当你想理解源码的时 ... 阅读全文
    ranbluer
    2023-1-2 10:25
    区块链技术
    支持
    反对
    回复
    收藏
  • NEO合约编写须知

    合约编写须知 NEO 编译器支持的 C# 特性 使用 C# 开发智能合约时,你无法使用 C# 的全部特性。会存在一些限制以及不支持的功能,这些限制的根源,来自于 NeoVM 和 Dotnet IL 的差异性。 因为 NeoVM 更加精简,所以我们只能将有限的 C# / dotnet 特性编译为 AVM 文件。 关于类型 NeoVM 有几种基本类型: [*]ByteArray [*]Integer [*]Boolean [*]Array [*]Struct [*]Map [*]Interface 而从 AVM 代码中能直接产生的基本类型只有: [*]ByteArray(Integer 和 Boolean 均由 ByteArray 表示) [*]Array [*]S ... 阅读全文
    哈哈笑417
    2023-1-2 09:03
    区块链技术
    支持
    反对
    回复
    收藏
  • NEO 智能合约基础知识

    NEO 智能合约基础知识 智能合约介绍 什么是智能合约 智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。区块链技术给我们带来了一个去中心化的,不可篡改的,高可靠性的系统,在这种环境下,智能合约才大有用武之地。智能合约是区块链最重要的特性之一,也是区块链能够被称为颠覆性技术的主要原因。 NEO 智能合约有哪些特点 NEO 智能合约 2.0包括以下特性:确定性、高性能、拓展性。其合约类型包括:验证合约、函数合约和应用合约。 从性能角度来说,NEO 采用了轻量级的 ... 阅读全文
    有个胖子他姓杨
    2023-1-2 03:27
    区块链技术
    支持
    反对
    回复
    收藏
  • 理解 BLS 签名算法

    首发 新窗
    编者注:BLS 签名算法是一种可以实现签名聚合和密钥聚合的算法(即可以将多个密钥聚合成一把密钥,将多个签名聚合成一个签名)。在以太坊未来的 Casper 实现中,有非常多的验证者都要对区块签名,要保证系统的安全性,同时节约存储空间,就需要用到这类签名聚合的算法。 之前的文章中,我介绍了 Schnorr 签名算法和它的优势。现在,我来介绍下 BLS(Boneh-Lynn-Shacham)签名算法以及它相比 Schnorr 的优胜之处。 长话短说,我们已经知道: ECDSA 签名算法已经足够胜任它的工作,但也仅限于此。它无法做 ... 阅读全文
    茵665
    2023-1-1 15:01
    区块链技术
    支持
    反对
    回复
    收藏
  • NEO网络协议

    首发 新窗
    网络协议 在网络结构上,NEO 采用点对点网络结构,并使用 TCP 协议进行通讯。 网络中存在两种节点类型,分别是普通节点和共识节点。普通节点可以广播、接收和转发交易、区块等,而共识节点可以创建区块。 NEO 的网络协议规范与比特币的协议大致类似,但在区块、交易等的数据结构上有很大的不同。 约定 字节序 NEO 系统中所有的整数类型都是采用小端序 (Little Endian) 编码,只有 IP 地址和端口号采用大端序 (Big Endian) 编码。 散列 NEO 系统中会用到 2 种不同的散列函数:SHA256 和 RIPEMD160。前者用 ... 阅读全文
    宠着祖宗
    2023-1-1 13:37
    区块链技术
    支持
    反对
    回复
    收藏
  • BMIP002协议介绍

    比原BMIP002协议 概述 比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。 功能 资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。 每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。 资产定义由提交给区块链的任意键值数据组成,提供所有参与 ... 阅读全文
    飞儿506
    2023-1-1 11:46
    区块链技术
    支持
    反对
    回复
    收藏
  • 椭圆曲线密码学 工作量证明

    首发 新窗
    大多数加密资产使用与比特币完全相同的椭圆曲线,称为 secp256k1 。这使得重新使用比特币的许多椭圆曲线库和工具成为可能。 椭圆曲线密码学(英语:Elliptic Curve Cryptography,缩写为ECC)是一种基于椭圆曲线数学的公开密钥加密算法。 下图示例大多数加密资产使用与比特币完全相同的椭圆曲线,称为 secp256k1 。这使得重新使用比特币的许多椭圆曲线库和工具成为可能。 椭圆曲线技术用于创建由私钥派生出来的公钥。 椭圆曲线技术工作原理 以一个随机生成的数字_k_的私钥开始,我们通过将它乘以称 ... 阅读全文
    zhigang302
    2023-1-1 05:40
    区块链技术
    支持
    反对
    回复
    收藏
  • 生成代码依赖图: rust golang

    首发 新窗
    先从上层观察是阅读代码的第一步,下面分别介绍使用rust语言编写的grin,和以golang编写的lnd的代码依赖图(dependecy graph)的生成方法。 rust 使用工具cargo-deps生成 grin 依赖图。 需要安装: cargo-deps用于将代码依赖关系使用dot语言表现graphviz用于将dot语言转成svg/png格式,我倾向于使用svg,因为有些大型项目依赖关系复杂,png格式会很大,打开会很慢,svg格式则好很多,不过一般系统一般不自带svg浏览器,需要另外安装 cargo deps --subgraph grin grin_api grin_config grin_core grin_keyc ... 阅读全文
    位制烈张巴
    2022-12-31 21:34
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity已知bug列表

    在下面,你可以找到一个 JSON 格式的列表,上面列出了 Solidity 编译器上一些已知的安全相关的 bug。 该文件被放置于 Github 仓库 _ 。 该列表可以追溯到 0.3.0 版本,只在此版本之前存在的 bug 没有被列入。 这里,还有另外一个 bugs_by_version.json _ 文件。 该文件可用于查询特定的某个编译器版本会受哪些 bug 影响。 合约的源文件检查工具以及其他与合约交互的工具,需基于以下规则查阅上述 bug 列表文件: 如果合约是用每日构建版本的编译器编译,而不是发布版本的编译器,那就有点可疑了。上述bug ... 阅读全文
    蓝天天使2017
    2022-12-31 20:05
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity通用模式

    从合约中提款 在某个操作之后发送资金的推荐方式是使用取回(withdrawal)模式。尽管在某个操作之后,最直接地发送以太币方法是一个 send 调用, 但这并不推荐;因为这会引入一个潜在的安全风险。你可能需要参考 :ref:security_considerations 来获取更多信息。 这里是一个在合约中使用取回模式的示例,它目标是通过向合约发送最多的钱来成为“最富有的人”, 其灵感来自 King of the Ether _。 在下边的合约中,如果你的“最富有”位置被其他人取代,你可以收到取代你成为“最富有”的人发送到合约的资 ... 阅读全文
    温室小书生室d
    2022-12-31 19:01
    区块链技术
    支持
    反对
    回复
    收藏
区块链技术
区块链技术 今日排名:17
  • 关注

    4

  • 主题

    450

  • 帖子

    459

池塘之星