首页 > 其他分享 >泰山众筹NFT系统开发合约技术

泰山众筹NFT系统开发合约技术

时间:2022-12-08 15:01:32浏览次数:46  
标签:泰山 私钥 账户 外部 智能 NFT 抽象 合约 众筹

  智能合约钱包(Smart Contract Wallet)是指用合约账户作为地址的钱包,例如目前市面上比较知名的Gnosis Safe和Argent。最近,智能合约钱包又因为账户抽象(Account Abstraction)提案EIP-4337的重大进展而再次成为了热议的话题。更多软件开发,可与小编昵称探讨。


 我们需要先了解以太的账户类型。


 1.以太的账户类型


 在以太,一共有两种账户:外部账户(Externally Owned Account,EOA)和合约账户(Contract Account,CA)。


 外部账户是目前大多数普通用户使用的账户。外部账户由私钥和公钥组成。私钥代表了控制权,而公钥代表了账户地址。谁掌握了私钥,谁就有了对外部账户的控制权,若私钥一旦丢失、被盗,账户内的资金将无法找回。外部账户可以主动发起交易,并通过ECDSA私钥签名算法的方式验证交易,也可以发起部署智能合约的行为。


 与外部账户不同,合约账户没有私钥,只有地址。因此,合约账户转出以太币并不使用私钥签名的方式。合约账户是由代码控制,它不能主动发起交易,只有在被触发后按照预先编写的代码执行交易,而且代码一旦生成,不可修改。


 由此可以看出,外部账户和合约账户有个很显著的区别:有无私钥。私钥是普通用户使用外部账户时面临的一个痛点,因为私钥不仅很难记住,而且一旦泄露,账户就将面临被盗窃的风险。如果私钥不慎遗忘,用户也无法恢复账户,账户里的资金无异于石沉大海。


 用户


 2.智能合约账户与账户抽象


 账户抽象是解决上述私钥问题的一个方法。账户抽象是指将签名者与账户分离开来,账户将有自己的逻辑来定义什么是有效交易,不需要用ECDSA私钥签名算法来定义有效交易。


 智能合约账户可以很好的达到账户抽象,智能合约钱包可以通过设置代码逻辑,使用非ECDSA的验证算法进行验证,用户不需要面对长长的密钥对和助记词,且可以根据用户的需求进行定制其他功能。

泰山众筹NFT系统开发合约技术_签名算法

 一旦实现了账户抽象,用户可以:


 只需更改智能合约代码即可每周更改帐户的签名者。


 只需更改智能合约代码即可授权多签。


 只需更改智能合约代码即可将交易签名方案从ECDSA更改为任何其他算法。


 由此可见,账户抽象将大大提升钱包的用户体验。以太对于账户抽象的期望是改变目前大多数人都在使用外部账户的现状,希望用户转向只能合约账户,并且把生态对外部账户的依赖完全去除。

标签:泰山,私钥,账户,外部,智能,NFT,抽象,合约,众筹
From: https://blog.51cto.com/u_14458352/5921723

相关文章

  • 第一次搞NFT的心得
    因为公司需要搞NFT藏品,并且需要在opensea网站中显示出来。opensea目前支持的链有下图所示的链,所以想显示在opensea中显示就必须上到下面所显示的链中才能   开发流......
  • unftp源码分析
    unftp源码分析https://github.com/bolcom/unFTP //startstheFTPserverasaTokiotask.fnstart_ftp(log:&Logger,root_log:&Logger,m:&cl......
  • ERC721开发NFT--接口
    使用https://docs.openzeppelin.com/contracts/4.x/erc721中的简单案例pragmasolidity^0.8.0;import"@openzeppelin/contracts/token/ERC721/extensions/ERC721U......
  • 海外新规丨苹果正式允许NFT应用上架iOS 分成30%
     2022年10月26日16:18天津扬帆出海官方账号10月24日,苹果对其海外版AppStore审核指南进行了更新,并首次正式为提供iOS应用程序制定了NFT相关规则。 根据其更新后的审......
  • pytest-fixture配置运行时(conftest.py)
    conftest.py通过yield分隔执行前和执行后运行session:整个用例执行前后                module:py文件执行前后       ......
  • conftest.py文件【控制用例的执行顺序3】
    fixturescope为session级别是可以跨.py模块调用的,也就是当我们有多个.py文件的用例时,如果多个用例只需要调用一次fixture,可以将scope="session",并且写到conftest.py文件......
  • NFT商城系统开发NFT交易技术开发
     当NFT被铸造时,NFT被记录到区块链上。由于区块链的性质,NFT包含存储在分布式账本中的不可变数据。这意味着没有人可以单方面修改与NFT相关的所有权记录,也不能制......
  • NFT(GameFi)链游系统开发详解方案
    什么是GameFi经济Specifically,thisincludesthefivetechnical)supportforcesofthemetauniverse,namely,thecommunicationfoundation"5g"ofthemetauniver......
  • NFT数藏盲盒+模式系统开发
    其实NFT未必一定是值钱、一定用来收藏,还有部分场景下,NFT是拿来用的,有自身的使用价值。 NFT20世纪的很长一段时间,体育卡收藏非常流行,但随着卡片供应量的增加,卡片生产商的......
  • DAPP系统开发及NFT游戏搭建技术
    是元宇宙最重要的一个形态之一啊,随着人们娱乐、生活、工作持续的数字化,包括我们央行的数字人民币。所以游戏呢,可以说是最可以触发原宇宙并抢到红利的一个行业,所以呢,现在很多......