Pages:
Author

Topic: [Experiment] Abstract Coin 0.3.0 - page 7. (Read 5852 times)

legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 10, 2013, 08:25:11 PM
#12
adamstgBit(9500uAC) = Wallet[AC0m97S1|adamstgBit]->SendAbstractCoins( AC0M98S1|Nolo,  500 );
confirmed!

adamstgBit(9000uAC) = Wallet[AC0m97S1|adamstgBit]->SendAbstractCoins( AC420C0IN|Killerpotleaf,  500 );
sr. member
Activity: 812
Merit: 250
A Blockchain Mobile Operator With Token Rewards
June 10, 2013, 08:23:04 PM
#11
CreateAbstractWallet(AC420C0IN|Killerpotleaf);
hero member
Activity: 686
Merit: 500
Whoa, there are a lot of cats in this wall.
June 10, 2013, 08:22:43 PM
#10
2013-04-11 Israeli banks limit money connected to bitcoin.

CreateGenesisWallet();
CreateAbstractWallet(AC0M9Z1|adamstgBit);
adamstgBit(10000uAC) = Wallet[Genesis]->SendAbstractCoins( AC0m97S1|adamstgBit, 10000 );
confirmed!

adamstgBit(9500uAC) = Wallet[Genesis]->SendAbstractCoins( AC0M98S1|Nolo,  500 );

confirmed!
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 10, 2013, 08:21:41 PM
#9
2013-04-11 Israeli banks limit money connected to bitcoin.

CreateGenesisWallet();
CreateAbstractWallet(AC0M9Z1|adamstgBit);
adamstgBit(10000uAC) = Wallet[Genesis]->SendAbstractCoins( AC0m97S1|adamstgBit, 10000 );
confirmed!

adamstgBit(9500uAC) = Wallet[AC0m97S1|adamstgBit]->SendAbstractCoins( AC0M98S1|Nolo,  500 );
sr. member
Activity: 812
Merit: 250
A Blockchain Mobile Operator With Token Rewards
June 10, 2013, 08:20:02 PM
#8
2013-04-11 Israeli banks limit money connected to bitcoin.

CreateGenesisWallet();
CreateAbstractWallet(AC0M9Z1|adamstgBit);
adamstgBit(10000uAC) = Wallet[Genesis]->SendAbstractCoins( AC0m97S1|adamstgBit, 10000 );
confirmed!
hero member
Activity: 686
Merit: 500
Whoa, there are a lot of cats in this wall.
June 10, 2013, 08:17:38 PM
#7
CreateAbstractWallet(AC0M98S1|Nolo);
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 10, 2013, 07:59:25 PM
#6
2013-04-11 Israeli banks limit money connected to bitcoin.

CreateGenesisWallet();
CreateAbstractWallet(AC0M9Z1|adamstgBit);
adamstgBit(10000uAC) = Wallet[Genesis]->SendAbstractCoins( AC0m97S1|adamstgBit, 10000 );
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 04, 2013, 12:22:28 AM
#5

Leaderboard

AdamStgBit...............  0.4500
jubalix......................  0.2000
Praxis.......................  0.0750
owsleybeatsbigcartel...  0.0750
Nolo.........................  0.0500
Killerpotleaf...............  0.0500
onatbitcoin................  0.0250
haveagr8day..............  0.0250
fishy.........................  0.0250
Darktongue................  0.0000
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 04, 2013, 12:22:18 AM
#4

How to use the Abstract Runtime!


Users can call methods like this one:

Elwar(1493uAC) = Wallet[AC0M98S1|Elwar]->SendAbstractCoins( AC0m97S1|adamstgBit , 100 );

In this example, wallet "AC0M98S1|Elwar" sends wallet "AC0M98S1|adamstgBit" 100 uAC, and so,wallet "AC0M98S1|Elwar" has 1493uAC left. Users will need to quote their previous confirmed transaction in order to make a new transaction, this means all transactions will inevitably lead back to the genesis transaction. The transaction can be confirmed by anyone like this:

Abstract Coin doesn't have any particular software associated with it
Abstract Coin is nothing more then an imaginary object.
Abstract Coin operates with a protocol which allow users to transmit pieces of this imaginary object back and forth between any of the users imaginations
Abstract Coin first came into being yesterday night, the imaginary object appear in my mind, and i began to break it up and give it away to people. today i only have a small piece of this object left in my mind, what will happen tomorrow is anyones guess.

Abstract Coin is abstract, deal with it!  Cool

The basic idea is that I can invent this imaginary coin, and simply saying i give you 0.1 of it makes it so, since we can all see the history of what's been said then we can figure what's what.On day 1, somone edited their post and claimed that they only sent me 0.001 not 0.05 .... this act killed Abstract Coin 0.1.0; thats when i thought of using a "quote chain" now transactions are independently confirmed by other people so no one can edit their transactions. I think it would be alright to say, all you have to do to send Abstract Coin is first prove you own some ( by quoting the confirmed block thats shows you received coins ), then say wtv amount you want to send and to whom. Abstract Coin is profoundly CraZy, but i think the basic idea has merit, I'm having fun exploring it, seeing how far i can go with it.

Coming Soon!

A representative of Abstract Coin has just closed a deal to get the first ever restaurant to accept AC. Apologies for not disclosing which restaurant, but here's proof that the meeting did take place. As you can see, the proprietors seem keenly interested.



Scandal!
Abstract Coin's protocol has been compromised by user  "nimda"
he pushed a transaction sending me half the coins i sent him, back to me
then later he edited his post and is now claiming to have only sent 0.01AC back to me

can Abstract Coin overcome this exploit?

who knows!


On day 1, somone edited their post and claimed that they only sent me 0.001 not 0.05 .... this act killed Abstract Coin 0.1.0;
i hope Abstract Coin 0.3.1 will be stable enoght to live forever!  Cheesy
sucks we had to kill Abstract Coin 0.2.1 it was going so good!

but this is for the best.

Abstract Coin - Adhere to the Protocol!

Abstract Coin - an idea worth thinking about.


Will you believe you own a piece of Abstract Coin tomorrow?
...  

Not if no one else does!

legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 04, 2013, 12:21:57 AM
#3
 

AbstractCoin++
The programing language AbstractCoin runs on



AbstractCoin++ is the programing language we will use to define the implementation of Abstract Coin! The compiler of this language is the Abstract Coin user base itself, they design the protocol, and they invoke the methods that sents 0.0001AC to other wallets. For Abstract Coin users the forum is our call stack! The calls we put up on the call stack are executed in realtime by other Abstract Coin users; you could say Abstract Coin's runtime is distributedly executed among the users minds! Shocked

Below we can see AbstractCoin's protocol, this protocol defines the interface users must use to make transactions.


/*===========================================================================
| (AbstractWallet ::SendAbstractCoins)
|
|  PURPOSE: to allow an AbstractWallet to send an amount of AC to another AbstractWallet.
|
|  RETURN: int value, the Amount of uAC left in the sender wallet.
|    
\===========================================================================*/

class AbstractWallet {
  virtual int SendAbstractCoins( int SendTo_Id, int Send_Amount, int Units=uAC )=0;
  virtual float GetBalance(int Units=uAC)=0;
};
typedef std::vector AbstractWalletList;


/*===========================================================================
| (CreateAbstractWallet)
|
|  PURPOSE: to allow an users to Create a new Abstract Wallet
|
|  RETURN: void
|    
\===========================================================================*/

void CreateAbstractWallet(int User_Id);



/*===========================================================================
| (DefaultWallet)
|
|   Return the Default Abstract Wallet for the user.  
|   When you created your first wallet, it automatically became your DefaultWallet.
|   Make a tx like this:
|
|                 Elwar(1493uAC) = DefaultWallet(Elwar)->SendAbstractCoins( DefaultWallet(adamstgBit) , 100 );
|
|  User Elwar sends user adamstgBit 100 uAC.
|    
\===========================================================================*/

AbstractWallet  DefaultWallet(int User_Id);



/*===========================================================================
| (SetDefaultWallet)
|
|   Set the Default Abstract Wallet for the user.
|
|   Make a tx like this:  User Elwar sets default Abstract Wallet
|   Elwar(1493uAC) = SetDefaultWalletWallet(AC0M98S1|Elwar);
|    
\===========================================================================*/

int SetDefaultWallet(AbstractWallet NewDefaultWallet,int User_Id);



/*===========================================================================
| (Wallet)
|
|   Wallet is a vector list of Abstract Wallets,
|   It holds everyone's wallet, make a tx like this:
|  
|                   Elwar(1493uAC) = Wallet[AC0M98S1|Elwar]->SendAbstractCoins( AC0m97S1|adamstgBit , 100 );
|    
\===========================================================================*/

AbstractWalletList  Wallet;
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
June 04, 2013, 12:21:47 AM
#2
 

What is Abstract Coin, and how does it work?


What is Abstract Coin?

Abstract Coin is a new type of object! It is an imaginary object. it exist because i says it does! Abstract Coin transactions can appear anywhere on this forum, simply by making a post with the right protocol. Its supply is strictly limited to 1 coin. Abstract Coins are infinitely divisible and impossible to counterfeit! They can be transfer between bitcointalk.org forum members. Abstract Coin doesn't have any particular software associated with it. Abstract Coin is nothing more then an imaginary object. Abstract Coin operates with a protocol, this protocol defines the interface users must use to make transactions.


How does Abstract Coin work?

transactions must be confirmed before recipients can send the coins to someone else. A transaction can be confirmed by anyone as long as they are not mentioned in the transaction. Quote the unconfirmed transaction and says "confirmed!". Only by quoting the confirmed transaction, can the recipient create an unconfirmed transaction. Each new unconfirmed transaction will contain the previous confirmed transaction, this will create a quote chain of confirmed transactions.
Its as simple as that!

What about double spends?

If someone sends you 0.001AC what's stopping you from quoting that post over and over sending Abstract Coins all over the forum to everyone!?
Anyone can throw a runtime error on any transaction, this calls into question the validity of that claim, if others confirm the  runtime error  then that transaction is no longer considered. just try to double spend... see what happens  Cheesy

Beta Testing!

This is an experiment, for fun, lets see what happens  Cheesy  In theory these coins can be moved anywhere on the forum, but i would ask we keep the transactions on this thread, during beta testing.  the hope is that in the end with some tweaking to the protocol, people could place some value on these imaginary coins.  I am giving away random amounts to anyone who wants some.
post your interest below.
Pages:
Jump to: