A metamask extension for Ravencoin
A girl cannot tell a man when exactly he must do a thing. A man cannot make a thing happen before it is time.
A man cannot tell a community how exactly they must do a thing.
Ethereum is an open source blockchain based distributed-computing platform which features a scripting smart contract functionality. Ethereum uses a slightly modified version of the Nakamato consensus to provide it's utility.
Ravencoin is an open source blockchain fork of the bitcoin ledger, which differs somewhat from ethereum lacking the Ethereum Virtual Machine (EVM); ravencoin then operates with an unmodified consnesus of the bitcoin ledger, except that it has support for electronicized tokens, within it, which bitcoin does not have. The ravencoin asset layer allows users to own asset tokens within their ravencoin (fork of bitcoin). The ravencoin wallets asset functions work in a similar and much more user accessible manner when compared to Ethereums ERC20, except for a lack of some functions which EVM provides allowing for automated contractual trust to be made between two parties, such as 4 ETH for 4000 MEDICI tokens.
On the ravencoin network it is largely dependent on the trustworthiness of the party, and a 'proof of promise' can be exchanged within the respective ledger using the newly added ravencoin asset layer, however assets cannot be transfered conditionally, via script, or exchanged without intermediary (yet).
One existing problem with Ravencoin is that its lack of an EVM (Ethereum Virtual Machine) and a lack of a scripting language natively within the execution of the chain, make it more difficult to create an autonomous contract that exists between two parties that can be automatically enforced whilst remaining decentralized. This does however appear possible when consideration is made to the IPFS objects and hashes it contains.
One potential solution to this problem is by creating an application similar to Ethereums 'Metamask', that could sit within the browsers and the ravencoin layer, which could act as basic smartscript mechanism, to allow an execution within asset base for the transactioning of assets between multiple parties to refer to the same reference and ravend on the chain depending on those ipfs conditions to be met in some way may be able to take a reasonable step to issue, prevent issue or transfer an asset.
One reasonable but incomplete method is an autonomous listener agent on the blockchain (similar to a masternode but more like a centralised wallet) , like a burn address, which, instead of when receiving the tokens were inaccesible, were forwarded onto the indicated message, or indicated memo address, that the originating tokens. This would result in an equivalent 'smart contract', or 'autonomy' whereby there is some fundamental guarantee that tokens sent to a specific address via this ravenmask layer, may end up in the correct location. Though this still represents a centralized manner of 'escrow' which is less desirable. In consideration to ipfs_hashes unique nature, and ravencoins newfound ability to read and track such information, it stands to reason that it may be possible to add conditional structure within the ravencoin codebase, that would interact with these indicated messages, and some unique reference used by both buyer and seller to help identify and indeed - cement a smart contract. A 'Ravenmask' addin may as a helper function be able to ensure these references are correctly added by buyer and seller in such a way that the transaction can be smart, as well as decentralized. A tall order, but potentially possible.
As mentioned previously this may be done via some memo or hash indication, whereby each buyer and seller both indicate the key or ipfs_hash that is relevant to the transaction, and this in turn can be used to programatically create the necesary transaction instructions to the listener. This would involve the creation of another smaller network of nodes, that used a similar or modified version of the ravend software to essentially allow transactions which are in no way connected to eachother by smartscript, to be infact connected by a unique reference that is operable as a transaction on the chain. This may require significant modification however it is hoped thru a community effort that it will be possible to create a protocol or standard of interaction compatible with the existing codebase of ravencoin asset layer, with minimum new functions added to ravencoin.
For securities to work for issuers the issuers will need certain things:
- They will need to know who their shareholders are in most cases
- They will need to have compliance functions and communications functions
- They will need to be able to communicate with and pay funds to holders
- They will need the ability to revoke the shares
- They would need to the ability to issue more
- In many cases, especially for many current offerings and STOs, the issuers will need to control who it can transfer to and how – such as through accredited investors and so on.
For most projects the effort is to build these functions into smart contracts.
The challenge of smart contracts is that they have both scaling and potential security issues.
The benefit of a much lighter and more straightforward protocol like Raven is that it has less of the complexity the issues that smart contracts have and can benefit from the scaling and security features that are well tested and Bitcoin.
However, the BIG major drawback about this is that the tokens are not very programmable and are very rigid.
Most likely they will need to be second layer solutions built on this to make it so that these tokens can have the same functionality that something on the smart contracts platform like Ethereum would have.
- bruce fenton
Although Ravencoin does not have smart contracts, it does have a manner of referencing a unique file object, within such an object, transaction commands could be stored, and, the unique file object could be only conditionally added to the ravencoin chain when 2 parties have acceptably fulfilled certain conditions such as making a payment to a particular address. Naturally the example given is a more centralized programmatic description of the aformentioned, however it is theorized that the same may be possible using completely decentralized principle to achieve the same, with minimal modifications to ravend, and some additional application such as the one proposed - Ravenmask.
When it comes to Ravenmask, A girl cannot tell a man when exactly he must do a thing. A man cannot make a thing happen before it is time. However a man can make a thing happen based on two other things happening at different times. Although ravencoin may not have a smart-face, it has a filesystem, messaging system and an json object aware blockchain. Therefore the components necessary exist already, and someone only need modify them to fulfil an enumeration or simulation of ravend for assets. Also support would include pinning IPFS info for metadata and messages.
The necessary components are there. What Must All Men Do?