如果仅限于预期的功能,公开共享NEAR协议功能访问密钥是否安全?



假设我想让没有NEAR帐户的人调用智能合约中的特定函数,为此,我为自己的帐户创建了一个函数访问密钥,其权限仅限于该特定合约和函数。

那么,除了授予该函数访问键的允许值(0.25N)之外,我还会冒其他风险吗?

如果我想在链接中包含访问键,那么公开共享访问键是不是一个坏主意?我当然也可以创建一个隐式帐户,然后从中创建一个函数访问密钥,但从安全的角度来看,这真的有必要吗?

你所描述的是所谓的linkdrop的基础。你可以在这里了解更多关于它们是如何工作的。

回答你的问题,这取决于函数调用访问键可以做什么。如果它可以调用一个方法withdraw,可以从你的合约账户中无限制地提取$NEAR,那么公开分享它可能不是一个好主意。

如果您确信密钥不会被恶意使用来窃取资产或做不希望做的事情,那么公开共享它就没有风险。

我还要强调0.25美元的NEAR额度并不是说"这把钥匙可以用来从我的账户中提取0.25美元的NEAR"。该折扣仅适用于交易费(Gas)。0.25 $NEAR大约相当于2.5 PetaGas (2500 TGas),这是一个很大的计算能力,可以用来多次调用一个方法。然而,在该方法中发生的事情与余量无关。

您可以花费0.01 $NEAR价值的津贴(100 TGas)并调用从合约帐户中提取1000 $NEAR的方法。余量仅用于计算。

TLDR:这取决于密钥可以做什么,并且允许!= net从合约帐户出站NEAR。

最新更新