user2080: What I want to do: Send 25 ADA and lock it all at the script address until 1 of the 2 scenarios happen:

100 ADA is sent by Nov 25th (today is Nov 20th) and all ADA at the script address is sent out to some arbitrary address (total 125 ADA sent out)
It is Nov 25th and 100 ADA has not been sent and locked at the script address by now, so all ADA at the script address is burned (25 ADA and whatever else that was sent below 100 ADA is burned)

Is this possible with Plutus smart contracts? Is there anyway at all a smart contract like this can be implemented on the Cardano blockchain?

user1130: Yes. Something like this is relatively trivial for a Plutus script (Essentially, locking funds and some data at an address is the only thing  scripts do).
Here is one approach you could take. There are many other ways you could do this, but this is fairly reusable construction:
Your datum type could have the fields:

Target Amount
Deadline
Recipient "Arbitrary" Address (if you want it to go to a specific party)

The script will ensure that the Datum UTxO can only be redeemed if:

The OUTPUT of the spending Tx includes a UTxO paid to the Recipient of value >= Target Amount && the Tx was executed before the Deadline, OR
The Datum is replaced with a new identical Datum and a UTxO of >= the value on the previous Datum.

You can see an example of scripts requiring the datum is replaced with a new one in the
PPP Oracle example or the Uniswap example, with their
corresponding off-chain code here and here.
The case where the deadline is passed and the ADA is burned is implicit in a Datum that can no longer be redeemed--if no-one can reach the funds, they are as good as burned (there is no actual way to burn ADA anyway).
To initialize the script, you will create the Datum with an attached 25 ADA. There would be nothing ensuring that the initial value is 25 ADA, but that doesn't seem like an issue. A script that makes that requirement would need to be more complex.

2080: <p><strong>What I want to do</strong>: Send 25 ADA and lock it all at the script address until 1 of the 2 scenarios happen:</p>
<ol>
<li>100 ADA is sent by Nov 25th (today is Nov 20th) and all ADA at the script address is sent out to some arbitrary address (total 125 ADA sent out)</li>
<li>It is Nov 25th and 100 ADA has not been sent and locked at the script address by now, so all ADA at the script address is burned (25 ADA and whatever else that was sent below 100 ADA is burned)</li>
</ol>
<p>Is this possible with Plutus smart contracts? Is there anyway at all a smart contract like this can be implemented on the Cardano blockchain?</p>
 1130: <p>Yes. Something like this is <em>relatively</em> trivial for a Plutus script (Essentially, locking funds and some data at an address is the <em>only</em> thing  scripts do).</p>
<p>Here is one approach you could take. There are many other ways you could do this, but this is fairly reusable construction:</p>
<p>Your datum type could have the fields:</p>
<ol>
<li>Target Amount</li>
<li>Deadline</li>
<li>Recipient &quot;Arbitrary&quot; Address (if you want it to go to a specific party)</li>
</ol>
<p>The script will ensure that the Datum UTxO can only be redeemed if:</p>
<ol>
<li>The OUTPUT of the spending Tx includes a UTxO paid to the Recipient of value &gt;= Target Amount &amp;&amp; the Tx was executed before the Deadline, <strong>OR</strong></li>
<li>The Datum is replaced with a new identical Datum and a UTxO of &gt;= the value on the previous Datum.</li>
</ol>
<p>You can see an example of scripts requiring the datum is replaced with a new one in the
PPP <a href="https://github.com/input-output-hk/plutus-pioneer-program/blob/8cbc68d146c82cc95d9be44c30e049aba3774003/code/week06/src/Week06/Oracle/Core.hs#L110" rel="nofollow noreferrer">Oracle example</a> or the <a href="https://github.com/input-output-hk/plutus-apps/blob/a6868cde87600051a4cc808777d665d0b859853c/plutus-use-cases/src/Plutus/Contracts/Uniswap/OnChain.hs#L106" rel="nofollow noreferrer">Uniswap example</a>, with their
corresponding off-chain code <a href="https://github.com/input-output-hk/plutus-pioneer-program/blob/8cbc68d146c82cc95d9be44c30e049aba3774003/code/week06/src/Week06/Oracle/Core.hs#L161" rel="nofollow noreferrer">here</a> and <a href="https://github.com/input-output-hk/plutus-apps/blob/a6868cde87600051a4cc808777d665d0b859853c/plutus-use-cases/src/Plutus/Contracts/Uniswap/OffChain.hs#L201" rel="nofollow noreferrer">here</a>.</p>
<p>The case where the deadline is passed and the ADA is burned is implicit in a Datum that can no longer be redeemed--if no-one can reach the funds, they are as good as burned (there is no actual way to burn ADA anyway).</p>
<p>To initialize the script, you will create the Datum with an attached 25 ADA. There would be nothing ensuring that the initial value is 25 ADA, but that doesn't seem like an issue. A script that makes that requirement would need to be more complex.</p>
