小部件CurrentPrice
出错: unable to write file /opt/bitnami/apps/mediawiki/htdocs/extensions/Widgets/compiled_templates/wrt680685a23061a7_87646722
查看“42个币”的源代码
←
42个币
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==技术特征== ===区块=== 交易历史通过被称作区块的东西永久记录在[[网络]]中。是尚未被记录的一些或所有最新交易的记录集。<br> ''区块结构'' {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | 魔法数|| 无符号整型 || 4 || 总是 0xE5E9E8E4 |- | 区块大小 || 无符号整型 || 4 || 整个区块的字节数 |- | 区块头 || 结构 || 80 || 4包含6个数据项 |- | 交易数量 || 可变整形 || 1-9 || - |- | 交易集 || 交易 || 交易数据大小 || 交易列表 |- | 区块头签名 || 无符号字符型 || <= 72 || 权益证明的签名 |} ===交易=== 交易是一组数据的签名部分,广播到网络上并收集到区块中。 它通常引用先前的交易,并将其中的一定数量的42币赋予一个或多个新的公钥。 目前有几种可能的交易类型。.<br> '''''用户操作'''''<br> 这种交易通常用于从未使用的输入中兑换42个币。 它通常会引用未使用的输入并创建具有指定值和目的地的新输出。<br> '''''Coinbase'''''<br> Coinbase只有一个输入,而且这个输入有一个'coinbase'参数,而不是scriptSig。 'coinbase'中的数据可以是任何形式的,但要求未被使用过。42个币将当前紧凑格式目标和任意精度的“extraNonce”编号放在那里,每当区块头中的Nonce字段溢出时,编号就会递增。 extranonce有助于扩大领域内[[工作量证明]]的功能。 这些交易用于奖励工作量证明的矿工。 [[权益证明]]模式的区块也有coinbase交易,但输出为空。 '''''Coinstake'''''<br> 这些交易为权益证明模式的区块头提供适当的证据。 这种类型与用户交易类似,但也有一些差异。 ·第一个输出必须是空的; ·交易的首次输入需满足当前权益证明的难度。 ·允许通过支付负面费用来生成新币。 ·第二个输出的目的地必须是向公钥支付(稍后介绍)。 '''''交易的一般结构'''''<br> {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | 版本 || 无符号整型 || 4字节 || 目前为1 |- | 时间戳 || 无符号整型 || 4字节 || 交易时间戳 |- | 输入数量 || 可变整型 || 1-9字节 || - |- | 输入列表 || TxIn || 输入集大小 || 输入列表或coinbase资产 |- | 输出数量 || 可变整型 || 1-9字节 || - |- | 输出列表 || TxOut || 输出集大小 || 输出结构列表 |- | 时钟时间 || 无符号整型 || 4字节 || 最后一笔交易的区块高度或时间戳 |} '''''输入格式'''''<br> 输入即是引用不同交易的输出。通常在交易中会列出 多次输入。被引用的输出值相加,总和就是可用于此笔交易的输出值。 {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | txid || 无符号字符型 || 32 || 前一次交易的ID |- | n || 无符号整型 || 4 || 即将完成交易的输出的编号索引 |- | scriptSig的长度 || 可变整型 || 1-9 || scriptSig的长度 |- | scriptSig || 无符号字符型 || - || 前半部分[[脚本]],公钥脚本的签名 |- | 序列号 || 无符号整型 || 4 || 交易变体的编号,如果未指定n时钟时间,则不相关。 默认情况下为0xffffffff,更多详细说明请参阅此链接。 |} '''''输出格式'''''<br> 输出包含了发送42个币的指令。Value是以聪( [[Satoshi]],1个42币=100,000,000聪,42个币中的聪也叫做Dent)为单位的数值,反映了该输出的价值。 {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | 输出值 || 无符号长整型 || 8 || 传输的聪值(42/108) |- | scriptPubKey的长度 || 可变整型 || 1-9 || scriptPubKey的长度 |- | scriptPubKey || 无符号字符 型 || - || 前半部分脚本,支出指令 |} '''''目的地'''''<br> 用户交易和coinbase交易一共有三种类型的目的地: *公钥 (Pay-to-Pubkey)<br> scriptPubKey: [pubKey] OP_CHECKSIG<br> scriptSig: [sig] * 公钥的[[哈希]] (Pay-to-PubkeyHash)<br> scriptPubKey: OP_DUP OP_HASH160 [pubKeyHash] OP_EQUALVERIFY OP_CHECKSIG<br> scriptSig: [sig] [pubKey] *脚本的哈希 (Pay-to-ScriptHash)<br> 发送至脚本的哈希:<br> scriptPubKey: OP_HASH160 [20-byte-hash of {[pubkey] OP_CHECKSIG} ] OP_EQUAL<br> scriptSig: <取决于输入类型><br> 结算的示例:<br> scriptPubKey: OP_HASH160 [20-byte-hash of {[pubkey] OP_CHECKSIG} ] OP_EQUAL<br> scriptSig: [signature] {[pubkey] OP_CHECKSIG} *目的地为空 <br> scriptPubKey: (空)<br> scriptSig: (空) *非标准型脚本 任何人均可使用:<br> scriptPubKey: (空)<br> scriptSig: OP_TRUE<br> ===工作量证明模式=== 工作量证明是为困难(昂贵)的数学任务提供的解决方案。 这个方案必须十分繁琐的检验数据是否满足了所需要求。 目前,工作量证明模式仍然是为加密虚拟货币提供最实用的初始造币方法,所以我们决定把它作为我们混合动力设计的一部分。 42个币利用hashcash的方法提供工作量证明。 调整这项工作的难度,以便将网络产生新区块的速率限制在要求的目标间隔速率内(从10到30分钟不等)。 由于成功证明生成的可能性非常低,所以我们无法预测网络中哪个工作计算机能够生成下一个解决方案。 '''''生成一个POW区块所需时间'''''<br> 没有人有准确的答案,但是可以估计大概要花多长时间。 假设你有一个1 MH / s哈希速度的硬件,我们就可以估计一下,在目前42个币的工作证明难度下,生成工作量证明所需时间的平均值。 难度1.0由目标的价值0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 所表示。 因此,要得到成功的工作量证明需要尝试0xFFFFFFFFFFFFFFFF / 0x00000000FFFFFFFF 即~ 4294967297 次尝试。 难度为360,需要尝试~ 360 * 4294967297 = 1546188226920次。如果能达到1MH/S即1000000哈希值每秒,那么扫描完全部数量的哈希需要1546188226920 / 1000000 = 1546188 seconds or 1546188 / 86400 = 17,89 天。 一天内成功生成一个区块的可能性同样可以用hashrate套入下列公式算出: P = nHashesPerSecond * 86400 / (4294967297 * 难度)。 '''''工作原理'''''<br> 每一个区块头由6种字段表示,这些字段中的一些结构可以相当自由地变化。 {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | 版本 || 无符号整型 || 4 || 不能手动修改 |- | 前一区块的哈希值 || 无符号字符型 || 32 || 不能手动修改 |- | 根节点的哈希值 || 无符号字符型 || 32 || 默克树的哈希值,随着交易的修改、添加和删除而改变 |- | 时间戳|| 无符号整型 || 4 || 可以手动更新为[max tx timestamp, time() + 3600]内的任意值 |- | 当前目标的哈希值 || 无符号整型|| 4 || 不能手动更新 |- | 随机数 || 无符号整型 || 4 || 响应POW模式的尝试,每次尝试新的哈希值时都将更新 |} '''''奖励机制'''''<br> 区块奖励为0,矿工只能通过交易得到费用。 ===权益证明模式=== 2012年8月19日,Sunny King在[[Peercoin]]中同时引入了权益证明和工作量证明机制。权益证明是指利用货币本身(所有权)来实现特定目标的模式。 在42个币中,它用来处理采矿和交易过程,可以与工作量证明相媲美。 42个币使用混合Coin-Age / CoinDayWeight方法提供权益证明。 对证明难度进行调整,以便将网络中产生新块的速率限制在7分钟的目标间隔速率内。 由于成功证明生成的可能性非常低,所以我们无法预测网络中哪个工作计算机能够生成下一个解决方案。 '''''币龄''''<br> 币龄是指txn输入的时间,等于所发送硬币的数量乘以这些硬币的平均年龄,币龄以天为单位。每当硬币被发出并且提供签名时,币龄将重置为零。币龄可用于计算强制性费用,阻止奖励或证明哈希目标。 '''''CoinDayWeight'''''<br> 这个概念与币龄类似,只是币龄是以42小时的偏移量计算的,且没有上限,而CoinDayWeight是权益证明体系中证明哈希目标的参数。 nBlockTarget = CoinDayWeight * nNetworkTarget 证明哈希需要满足nBlockTarget,所以CoinDayWeight越高,权益证明模式下的区块生成可能性就越高。 '''''Coinstake kernel'''''<br> Coinstake kernel是一个虚拟结构,生成于权益证明模式下区块的有效尝试中。这种结构存在于数据库和内存中,但不在网络上。 下表描述了kernel的参数: {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | nStakeModifier || 无符号长整型 || 8 || 确定性调节器,干预计算,使得在确认硬币时预先计算之后的权益证明变得非常困难 |- | nTimeBlockFrom || 无符号整型|| 4 || 为前一次交易的区块提供时间戳,防止节点为了之后生成交易的优势猜测一个好的时间戳 |- | nTxPrevOffset || 无符号整型 || 4 || 区块中前一次交易的偏移量,用以降低网路节点同时生成coinstake的概率 |- | nTxPrevTime || 无符号整型 || 4 || 前一次交易的时间戳,用以降低网路节点同时生成coinstake的概率 |- | nPrevoutNum || 无符号整型 || 4 || 前一次交易的输出数字,用以降低网路节点同时生成coinstake的概率 |- | nTimeTx || 无符号整型 || 4 || 当前时间戳 |} '''''工作机制'''''<br> 扫描所有可用的输入,从而找到满足下列条件的幸运儿: SHA256(SHA256(KERNEL)) < CoinDayWeight * NetworkTarget 矿工必须找到一个低于目标值的SHA256哈希。 该目标是使用CoinDayWeight参数从网络目标中导出的。 证明由kernel哈希和区块头签名来表示。 每个coinstake kernel由6个字段的结构表示,这些字段中的一些结构可以相当自由地变化。 {| class="wikitable" |- ! 字段 !! 类型 !! 大小 !! 描述 |- | nStakeModifier || 无符号长整型 || 8 || 不能手动修改 |- | nTimeBlockFrom || 无符号整型 || 4 || 提供前一次交易的区块时间戳 |- | nTxPrevOffset || 无符号整型|| 4 || 区块中前一次交易的偏移量 |- | nTxPrevTime || 无符号整型 || 4 || 前一次交易的时间戳 |- | nPrevoutNum || 无符号整型 || 4 || 前一次交易的输出数字 |- | nTimeTx || 无符号整型 || 4 || 当前时间戳 |} 有效的权益证明值的哈希结果必须低于区块目标。 矿工试图找到适合的解决方案,通过扫描所有可用还未使用的输入来找寻合适的CoinDayWeight。 '''''生成一个POS区块的时间'''''<br> 与工作量证明类似,没有人有准确的答案,但是可以估计大概要花多长时间。计算方法也与POW类似,只要把哈希值换成coin * day-in-seconds,所以在1.0的难度下,找到一个区块需要~ 4294967297 coin * day-in-seconds的时间。 假设你有一个1 MH / s哈希速度的硬件,我们就可以估计一下,在目前42个币的工作证明难度下,生成工作量证明所需时间的平均值。 在一天内成功生成区块的可能性可以通过可用的CoinDayWeight利用公式计算出来: P = CoinDayWeight * 86400 / (4294967297 *难度) 生成区块的平均时间计算公式:: T = 4294967297 * 难度 / (CoinDayWeight * 86400) '''''什么时候可以开始生成POS区块'''''<br> 只要有余额,42个币就会自动生成证明哈希值。 '''''奖励'''''<br> 区块奖励为零,费用在PoS区块中会被销毁 - 这使得42个币成为通货紧缩的币种。
返回至
42个币
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
功能菜单
首页
最近更改
随机页面
主题分类
区块链
数字货币
交易平台
组织机构
人物
媒体
图书
行业词典
全部分类
帮助
工具
链入页面
相关更改
特殊页面
页面信息
短链接
Ads