ERC725 Similarity #45
Replies: 2 comments 1 reply
-
Hi @YamenMerhi, just wanted to say thank you for posting this very carefully written discussion. Responding to this has been in my todos ever since you posted it, but I just couldn't find the time yet to provide as thorough a reply as this discussion deserves. I'm hoping that during the weekend I'll find some time to review. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hey @YamenMerhi, I have finally found the time to read this. Sorry for the belated reply. My goal with PRBProxy is to enable a "backwards compatible" way of composing multiple txs for EOAs. PRBProxy is minimal and unobtrusive, by design, and is not trying to solve the identity problem. Whereas ERC-725 offers a much richer set of features, all contingent upon people adopting the ERC-725 identity standard (and several other adjacent standards like ERC1271 and the LSPs). It seems to me that ERC-725 is attempting to pioneer a new category of web3 wallet. While there's nothing wrong in that, and I applaud you for your initiative, that means that ERC-725 and PRBProxy are solving different problems. FWIW, I have no intention whatsoever to implement features like
I don't currently have the bandwidth to perform a careful review of ERC-725, unfortunately. |
Beta Was this translation helpful? Give feedback.
-
Hello @PaulRBerg
I really like the PRB-Proxy idea and I guess we have the same opinion on the limitation of the EOAs and the endless ability that a smart contract-based account will give you.
I'm opening this discussion just to enhance the similarity between what you are building and what is being built also by LUKSO and to get your opinion and suggestion about the standards we're building.
Starting with the PRBProxy, we have ERC725 which was proposed in 2017 by Fabian Vogelsteller, the author of ERC20 and creator of Web3.js, and also the founder of LUKSO. This ERC725 Standard is formed from a generic executor ERC725X and a generic data key/value store ERC725Y.
There is a lot of similarity between PRBProxy and ERC725X, as ERC725X has one function which is
execute(...)
, and using this function you can do operations likeCALL
,STATICCALL
,DELEGATECALL
,CREATE
,CREATE2
.And ERC725Y lets you set an endless amount of data to the smart contract by a mapping
mapping(bytes32 => bytes)
where a bytes32 data keys are mapped to bytes data value.This standard represents a base for what is being built right now and it's the LSPs (LUKSO Standards Proposals).
Also, we have some similarities with this discussion (Plugin-Support), we also believe that a smart contract-based account should be able to receive tokens, information, or even be informed about certain actions and this will be done using LSP1-UniversalReceiver. Using this standard, the contract can be informed about token transfers, information transfers, royalties, etc.
And also can handle and react to these actions by a contract that can be set/remove and upgrade over time using any logic implemented. For instance, you can attach a contract with the logic of reverting on each token transfer, or you can attach a contract with the logic of automatically selling the tokens once they are received.
A combination of ERC725 and ERC1271 and LSP1 will form what we call UniversalProfiles, these UniversalProfiles are the best way to solve the identity problem and operate on the blockchain with more interaction.
And UniversalProfiles can be controlled by LSP6-KeyManager, which allow users to give certain permissions to users to control their profiles, with certain restriction they can specify.
We have a browser extension, still in early stages but fully functional, where you can create your UniversalProfile and KeyManager.
Check the installation guides here
We believe that the current blockchain experience comes with many limitations, because of the broken infrastructure represented by the old underlying tools and standards used to operate on the network.
Change should start from the bottom to create a better user experience on the blockchain, starting from the fundamental pieces to propagating to the top. Topics related to identity, assets representation, relay execution, and smart contract interaction require standardization. Such standards should be flexible enough to support and allow more potential use-cases in the future.
As you created something really similar to what LUKSO is doing, I will be very happy to know your opinion on the standards and to discuss any suggestions you will have 😄
Beta Was this translation helpful? Give feedback.
All reactions