波卡百科:什么是外部信息?

外部信息(extrinsic)是一条来自链外并包含在一个区块中的信息。外部信息可分为三类:inherents、已签名交易和未签名交易。

注意事件(events)不是外部信息。链针对链本身固有的信息片段发出事件。例如,Staking 奖励是事件,而不是外部行为,因为奖励是由链逻辑固有的情形触发的。

Substrate 中的一个区块由区块头和一组外部信息数组构成。区块头包含区块高度、父哈希、外部信息根、状态根和摘要。本节仅关注外部信息根(extrinsics root)。

在 runtime 中定义每个外部信息时,将其作为一个系列捆绑在一起,作为一个系列执行。外部信息根是该系列的密码学摘要。这有两个目的。首先,它可以防止在区块头已形成并分发后,对外部信息系列进行任何更改。其次,它提供了一种方法,允许轻客户端仅通过了解区块头,就可以简洁地验证任何给定的外部元素确实存在于一个块中。

区块参考资料

Inherents 是未签名的信息,仅由出块者插入到区块中。它们不会被散布在网络上,也不存储在交易队列中。从技术上讲,没有什么会去阻止一条 Substrate 链散布 inherents,但也不会有基于费用的防垃圾机制。

Inherents 表示以一种数据,它以比较特别的方式描述许多有效信息之一。它们之所以被认为是 “真实的”,仅仅是因为足够多的验证人都同意它们是合理的。

例如,出块者可能会将时间戳 inherent 插入区块中。没有办法证明签名是真实的,证明时间戳是正确的。但验证人根据其他验证人认为时间戳的合理程度,来接受或拒绝该区块,依据可能是该时间戳在其自己的系统时钟的某个可接受范围内。

韩媒:Do Kwon在LUNA完全崩盘前曾试图逃离韩国,并被指控逃税:5月19日消息,Do Kwon被韩国税务局指控逃税,并因未缴纳公司税而面临 1000 亿韩元(7850 万美元)的罚款。此外,消息人士还暗示,Do Kwon在LUNA完全崩盘前的5月4日和6日曾试图逃离该国并清算公司。在另一项调查中,还透露 Do Kwon 拥有 Terra Singapore 92% 的股份。

此外,去年 10 月,韩国国家税务局还宣布了一项调查,对 Terra Virgin 处以 46.6 亿韩元的所得税罚款。Terra Virgin 是 Terra Singapore 的全资子公司。消息人士透露,税务局还追查到Terra Virgin和Do Kwon通过向在新加坡成立的LFG转移免费的LUNA以避税。(韩国新闻社Naver)[2022/5/19 3:26:36]

Inherents Reference

已签名交易(Singed Transactions)包含发出交易的帐户的签名,并且需要付费才能将交易包括在链中。因为可以在执行之前识别出在链上包括已签名交易的价值,所以可以在网络上垃圾交易风险较低的节点之间的散布这些交易。

签名交易符合以太坊或比特币交易的概念。

在某些情况下,需要进行未签名交易 (Unsigned Transactions)。小心使用未签名的事务,因为它们的验证逻辑可能很难。 

由于交易未签名,因此无需支付任何费用。因此,交易队列缺乏防止垃圾交易的经济逻辑。未签名的交易也缺乏随机数,使得重放保护(Replay protection)变得困难。少数交易需要使用未签名的变体,但是它们将需要某种形式的垃圾交易防护,防护基于 Singed Extension 的自定义实现,可以存在于未签名交易中。

Substrate 中未签名交易的一个示例是权威机构发送的 “I'm Online”心跳交易。交易包括来自 Session 密钥的签名,该密钥不控制资金,因此无法支付费用。交易池通过检查 session 中是否已提交心跳来控制垃圾交易。

SignedExtension 是一种特征(trait),通过它可以使用其他数据或逻辑来扩展交易。签名扩展名可用于您需要在执行之前获得有关交易的一些信息的任何地方。这在事务队列中大量使用。

Runtime 可以使用其中一些数据(例如将要分派的 Call)来计算交易费用。签名扩展还包括 AdditionalSigned 类型,该类型可以保存任何可编码数据,因此允许您在包含或分派交易之前执行任何自定义逻辑。交易队列定期从 SignedExtension 调用函数以在构建区块之前验证交易,以避免包括将在区块中失败的交易。

虽然名字叫签名扩展,SignedExtension 其实也可以用于验证未签名交易。可以实现 * _unsigned 方法集来封装交易池所需的验证、垃圾邮件和重放保护逻辑。

Signed Extension Reference

参考资料

events: https://substrate.dev/docs/en/knowledgebase/runtime/events

区块参考资料: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.Block.html

Inherents Reference: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_inherents/index.html

Singed Extension: https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics#signed-extension

I'm Online: https://substrate.dev/docs/en/knowledgebase/runtime/frame#im-online

Signed Extension Reference: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.SignedExtension.html

参考文档: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.Extrinsic.html

Runtime Execution: https://substrate.dev/docs/en/knowledgebase/runtime/execution

交易费用: https://substrate.dev/docs/en/knowledgebase/runtime/fees

交易池: https://substrate.dev/docs/en/knowledgebase/learn-substrate/tx-pool

原文:https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics

翻译:PolkaWorld

欢迎学习 Substrate: 

https://substrate.dev/

关注 Substrate 进展:

https://github.com/paritytech/substrate

关注 Polkadot 进展:

https://github.com/paritytech/polkadot

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

ADAPermission如何解决用户和企业的信任问题?

数据是新时代的石油。随着人们在线上的行为日趋频繁,留下的个人资料和行为数据越来越多。这些数据多数为Facebook、谷歌、Amazon等巨型科技企业所掌握。这些数据被用于投放广告或激励消费,为企业带来高额利润。 在web2.0形态下,数据为企业所有和垄断,而非由数据的生产者——用户本身所有。

MANA以太坊基金会发布两个ETH 2.0攻击网供黑客攻击

以太坊基金会已经基于现有的稳定客户端发布了针对以太坊2.0的公共“攻击网”。 这些网络旨在为安全研究人员提供一个沙盒环境,在这里他们可以尝试通过利用客户端中的潜在问题来破坏以太坊2.0的网络。目前,有两个基于Lighthouse和Prysm客户端的“ beta-0”攻击网,分别由Sigma Prime和Prysmatic Labs构建。

ETH比特币算力再创新高 顶级分析师预测BTC价格会随之上涨

尽管比特币持续横盘,但这一领先加密货币的哈希率(挖掘BTC区块的算力度量)却越来越高。 CoinCorner的马特•沃德(Matt Ward)指出,数据显示,比特币全网算力在7月13日刚刚创下历史新高,达到了147.88 EH/s,是一年前的两倍,比2017年BTC价格2万美元高点时高出10倍以上。

[0:15ms0-0:515ms